123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- CONTENTS:
-
- 1) TODO List
- 2) OSX Install Notes
-
- STRATEGY
- + implement highly parallel version - which can take advantage of multiple processors
- to do more - acoustic pitch tracking, source separation based fades
-
- TODO:
- + When a cmMsgList item is selected it should send out the selected index
- after the individual data items rather than before them - this way the index
- can be used as a definitive signal to perform some action on the previously
- transmitted data items.
- + cmJson and cmLex should report the name of the file when with syntax error messages.
- + Use CSV for mod score file format (to eliminate need for labels)
- + Autoload of default pgm cfg, program, enable audio, sequence, score location.
- + (done) Circuit switcher patch.
- + Review and document the app threading and locking during audio file loading.
- + Remove old performance evaluation code from cmScore.
- + All programs should be able to reload without crashing via enabling/disabling audio.
- + (in new version) Select and save audio devices.
- + (done) Mac Conversion
- + (done) Live MIDI - to test audio/MIDI delay.
- + (done) As threshold increases overall volume decreases - add a compensation algorithm.
- + There are unintialized variable warnings on the release build.
- + Add preset delete.
- + All uses of va_copy() should have a complimentary va_end()
- + The list boxex do not show the currently selected item.
- + MIDI note messages are sent but do not trigger notes on OSX.
-
-
- *** 9/27
- * Implement live recording for use in part 2.
- * Implement a delay between when a new section is set to trigger and when
- it actually does. This might allow transitions to be set up prior to when they are heard.
- * OS-X version crashes when the printf("PROCSET ...) is removed from _cmScProcSets().
- * Add ability to set mappings and perf. measure settings to scMod.
- * The scMod should play through all changes up to the cur starting location so that
- we can mimic the state of playing the piece through but allow starting from any location.
- * Experiment with changing settings using the scMod ramping functions.
- * Make a source separation based fade using an filter/inverse filter based on the
- spectrum prior to the cross-fade. As an extra feature notice the state of the pedal
- and decay appropriately.
- * The electronic score needs the ability to specify that the output is sent to the audible
- cross-fade channel rather than the inactive channel.
- * Add a score mode that performs some action (e.g. incr/decr) on each incoming score follower
- event.
- * In AvailCh what happens when no available channels are found - this may be the cause
- of the cross-fade cut-out problem.
- * Add eq stage to output.
-
- * Setting the upper slope to a negative value is effective.
-
- * Demo Material: Seq 8 Mark 204 (1024-4 2048-4) Fade 10ms Cost->Threshold.
- - recd7 Mark 151
- - recd8 Mark 145 - same settings a previous take.
- - (recd9) Mark 145 - w/ changing xfade switch to mode 4 at 38
- - recd10 Mark 145 - same w/ no mode change
- - recd11 Mark 145 - a. 3 different takes w/ score constant - no perf. parameters used - fixed threshold=65
- - recd12 Mark 148 b.(same settings as recd9)
- - recd13 Mark 151 c.
- - recd14 Mark 161 Section 40 - fixed changes see mod0.js for note
- - Seq 6 Mark 145 M-92 (38,39,39a) (recd16) (recd17) (recd18) (recd19)
- - Seq 7 Mark 167 M-100
- *** 8/13
- * Cross-fade was cutting out during demo.
- * Missing takes between seq 7 and seq 8.
- * The MIDI is mis-aligned against the audio.
- * Are cost / tempo working? ... test changing mode.
- * Add an automatic volume adjustment to prevent parameter changes from causing large volume changes.
- * What can we actually do between after a MIDI note is received? Is it already too late to
- send parameters w/o affecting the attack of the note.
-
- * Live Test material
-
- Part 1: Meas:76 - (one measure) to get measurments for later sections
- Part 1: Meas:94 (sect 38) through Meas:136 (include 136 stop at 137).
-
- Part 2: ("/Users/kevin/temp/piano score part 2 draft 1 master m 232 - 241 1st 2 bts.sib")
- The downbeat of part two aligns with the 3rd beat (in 4/4) of 122 in the first part.
- Ends on measure 131 at end of beat 3.
-
- MISSING MIDI for 114:126
-
- *** July 10
- ** (done) Make separate mappings and scale/range controls for left and right.
- ** Add EQ output stage.
- ** Work out the speaker setup.
- ** Add capture/playback. Analyze notes on capture and do not play if there are
- any wrong notes. (Skipped notes however are acceptable.)
- **
-
- ** When a section transition is occurs late - (e.g. due to dropped notes) do not apply
- the transformation all at once - instead either ramp it in or step it in on subsequent
- attacks. Section transitions which are positively identified are intended to have
- dramatic changes so applying the updated parameters immediately is acceptable - but
- when the parameters are changed mid-section they should be much applied subtely.
-
-
-
-
- ** (done) Build a database of measurements and setup the program to be able to
- apply a given measurement at it's assigned section.
-
- ** Redevelop spectral distortion algorithm to use a spline as the transform.
-
- ** use Log frequency frequency transform instead of FFT.
-
- ** Allow for a continous window size via zero padding.
-
- ** Add a 'write' preset file button - so the preset file can be saved prior to next crash.
-
- ** measurement values can generate MAX_DBL - be sure that are not being sent through to the audio algorithm.
- (see ln:965 cmDspKr.c for a hack to fix this)
-
- ** add invert to scale/range to cause output to go in opposite direction.
-
- ** non-grace eveneess are used to generate a measurement value from previous tempo calibration section.
- (non-grace evenness notes therefore have two scores: 'evenness' and 'overall-duration').
-
- ** note that the default setting for dyn and even.
-
- ** add dyn,even,tempo,cost number boxes to allow artificial setting of these parameters.
- add dyn,even,tempo,cost as modulator variables to allow them to be set from the modulator
- With these additions we can simulate apply measurements at the 'application' section.
-
- ** add begining and ending measure numbers to 'seq' labels
-
- ** Gain compensation for mode 4.
-
- ** Do IFFT using cos()^c + i * sin()^c - these bases are orthognal but cause harmonic distortion.
- To be efficient this might involve writing an FFT function.
-
- // May 22
-
- ** Crashers (Should be tested but are probably already fixed following score follower debugging.)
- Seq 2 m24 Mark 36 & 38
- Seq 4: Mark 115
- Seq 4: m76-79 Mark 129 (W/ meas: even & dyn -> thresh change min Thresh to 40) - use 4th seq w/ b1
- Seq 6: m92 Mark 143
- Seq 7: m103 Mark 173
- Seq 7: Mark 172 Meas 103 - always crashes on playback.
- Seq 4: Mark 76 Meas 40 - crash!
- Seq 2: First mark meas 23
- Crash seems to happen in cmProc4.c: _cmScMatchInitMtx() ln:1311.
- It looks like a memory overrun. Looks like the first line is wrong
- shouldn't:
- if( rn >p->mrn && cn > p->mcn )
- be
- if(rn*cn > p->mrn*p->mcn)
-
-
-
- BUGS:
- // Apr 20
- The tempo measurement can produce invalid values. Set score to 22 then play Mark 38.
- First tempo measurement is a non-sense value - probably produced by an div by zero.
- Also: Mark 8, Meas 10.
-
- Crash on playing Mark 37.
-
- Click on list control outside below list item - crash!
-
- Select Mark 171 (Seq 7) Section 43, m103 crash
-
-
- // Feb 27
- + Audio seems to preceded MIDI by around 250ms this probably arises
- from a delay that was inserted by 'mas'. Can the delay be removed?
-
- // Feb 25
- + Fix the audio file input/output ports
-
- //
- // Feb 6 & 7
- //
- + Performed notes which arrive which about 50ms could be
- considered chords. Extra notes notes which were not part of
- the chord are probably common and should be discounted during
- the cost analysis.
-
- + (done) Add alignment cost as a 4th variable along with dyn,even,tempo.
-
- + (done) In the score print out (score_loc.txt) Section 2 is starting on Bar 5
- when it should start inside Bar 7.
-
- + In Take 1 the 2nd dynamics set is not triggered.
-
- + In Take 3 Eveness 2 the C2 and F#4 are NOT missing althrough they are in the
- evalation. Also E7 which ends that set is not marked with an 'e'.
-
- + It is possible to have even-non-grace sets where the note rythm value's are not
- all the same (e.g. bar 20 )
-
- + User soft-thresholds for the dynamics categories.
-
- + Set 39 even measure 25 shows the first note as G#2 when it should be C#1
-
- + Missig MIDI note sounded:
- C1 score-loc:132
- A#2 140
- A5 173
- C#2 195 Marker 36
- E5,G33,A#2,C#1 212-218 Marker 36
- E3 185 Marker 37
- F5,C#4,G#5 986 Marker 204
-
- -------------------------------------------------------------------------------
- OSX - Install Notes
- -------------------------------------------------------------------------------
- 1. Install macports
- 2. Install git-core (sudo port install git-core)
- 3. sudo port install fftw-3
- 4. sudo port install fftw-3--single
- 5. port select --list gcc (which gcc is active)
- 6. sudo port install gcc47
- 7. sudo port --set gcc mp-gcc47
- 8. sudo port install fltk
- 9. sudo port install xorg-libX11
- 10.sudo port install git-core
- 10 install ~/Library/Preferences/org.larke.kc.txt (is this required?)
- 11 create ~/Library/Preferences/kc
- 12 Install ~/Library/Preferences/time_line.js, time_line_preset.js, time_line_preset.csv
|