kc/doc/notes.txt

216 lines
8.5 KiB
Plaintext
Raw Normal View History

2013-08-15 18:01:10 +00:00
CONTENTS:
1) TODO List
2) OSX Install Notes
2013-09-30 01:44:38 +00:00
STRATEGY
+ implement highly parallel version - which can take advantage of multiple processors
to do more - acoustic pitch tracking, source separation based fades
2013-03-02 01:41:51 +00:00
TODO:
2013-07-10 21:20:55 +00:00
+ 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.
2013-07-09 21:41:17 +00:00
+ cmJson and cmLex should report the name of the file when with syntax error messages.
2013-03-02 01:41:51 +00:00
+ Use CSV for mod score file format (to eliminate need for labels)
+ Autoload of default pgm cfg, program, enable audio, sequence, score location.
+ 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.
+ Select and save audio devices.
2013-05-24 17:14:04 +00:00
+ (done) Mac Conversion
+ (done) Live MIDI - to test audio/MIDI delay.
+ (done) As threshold increases overall volume decreases - add a compensation algorithm.
2013-07-14 00:17:05 +00:00
+ There are unintialized variable warnings on the release build.
2013-05-22 22:17:28 +00:00
+ Add preset delete.
2013-05-23 21:07:47 +00:00
+ All uses of va_copy() should have a complimentary va_end()
2013-03-02 01:41:51 +00:00
2013-09-30 01:44:38 +00:00
*** 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 'cost' value is not correct - it is being displayed as the same as the related attribute.
* 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 - 3 different takes w/ score constant - no perf. parameters used - fixed threshold=65
- recd12 Mark 148 (same settings as recd9)
- recd13 Mark 151
- recd14 Mark 161 Section 40 - fixed changes see mod0.js for note
*** 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.
2013-09-27 00:56:47 +00:00
MISSING MIDI for 114:126
2013-07-14 00:17:05 +00:00
*** 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.)
**
2013-07-12 18:23:20 +00:00
** 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.
2013-07-14 00:17:05 +00:00
2013-07-12 18:23:20 +00:00
** (done) Build a database of measurements and setup the program to be able to
2013-05-24 17:14:04 +00:00
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.
2013-07-14 00:17:05 +00:00
** Allow for a continous window size via zero padding.
2013-07-07 23:16:50 +00:00
** Add a 'write' preset file button - so the preset file can be saved prior to next crash.
2013-05-24 17:14:04 +00:00
2013-05-26 16:20:16 +00:00
** 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)
2013-07-14 00:17:05 +00:00
** add invert to scale/range to cause output to go in opposite direction.
2013-05-26 16:20:16 +00:00
** 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').
2013-07-14 00:17:05 +00:00
2013-05-26 16:20:16 +00:00
** 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
2013-07-11 19:22:39 +00:00
** Gain compensation for mode 4.
2013-07-07 23:16:50 +00:00
** 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.
2013-05-26 16:20:16 +00:00
2013-07-14 00:17:05 +00:00
// May 22
** Crashers (Should be tested but are probably already fixed following score follower debugging.)
2013-05-26 16:20:16 +00:00
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
2013-07-14 00:17:05 +00:00
Seq 7: Mark 172 Meas 103 - always crashes on playback.
Seq 4: Mark 76 Meas 40 - crash!
Seq 2: First mark meas 23
2013-05-26 16:20:16 +00:00
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)
2013-05-23 17:36:52 +00:00
2013-07-14 00:17:05 +00:00
2013-03-02 01:41:51 +00:00
BUGS:
2013-04-21 18:19:34 +00:00
// 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.
2013-05-23 17:36:52 +00:00
Also: Mark 8, Meas 10.
2013-04-21 18:19:34 +00:00
Crash on playing Mark 37.
Click on list control outside below list item - crash!
2013-05-02 22:37:01 +00:00
Select Mark 171 (Seq 7) Section 43, m103 crash
2013-04-21 18:19:34 +00:00
2013-03-02 01:41:51 +00:00
// 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.
2013-07-14 00:17:05 +00:00
+ (done) Add alignment cost as a 4th variable along with dyn,even,tempo.
2013-03-02 01:41:51 +00:00
2013-07-14 00:17:05 +00:00
+ (done) In the score print out (score_loc.txt) Section 2 is starting on Bar 5
2013-03-02 01:41:51 +00:00
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
2013-08-15 18:01:10 +00:00
-------------------------------------------------------------------------------
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 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