picadae calibration programs
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kevin ee3c41fe70 README.md,doc/*.png : Updates to verify plotting and add example plots to README.md 4 years ago
doc README.md,doc/*.png : Updates to verify plotting and add example plots to README.md 4 years ago
.gitignore AudioDevice.py : fixed linear_buffer() p_ac.py : changed dutyCyclePct to a list, added real-timen note analysis and multi-pitch tests. Added keyboard.py, rt_note_analysis.py, plot_note_analysis.py, plot_all_note_durations.ipynb. 5 years ago
AudioDevice.py AudioDevice.py : Change default channel count from 1 (mono) to 2 (stereo). 4 years ago
COPYING Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago
LICENSE Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago
MidiDevice.py Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago
MidiFilePlayer.py Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago
README.md README.md,doc/*.png : Updates to verify plotting and add example plots to README.md 4 years ago
calibrate.py Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago
calibrate_plot.py Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago
common.py Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago
convert.py Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago
do_td_plot.png README.md,doc/*.png : Updates to verify plotting and add example plots to README.md 4 years ago
elbow.py Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago
keyboard.py Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago
p_ac.py Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago
p_ac.yml README.md,doc/*.png : Updates to verify plotting and add example plots to README.md 4 years ago
plot_all_note_durations.ipynb AudioDevice.py : fixed linear_buffer() p_ac.py : changed dutyCyclePct to a list, added real-timen note analysis and multi-pitch tests. Added keyboard.py, rt_note_analysis.py, plot_note_analysis.py, plot_all_note_durations.ipynb. 5 years ago
plot_calibrate.ipynb Many changes and additions. First working version of calibrate.py Replaced analysis parameter dbRefWndMs with dbLinRef rms_analysis.py : Added samples_to_linear_residual() plot_seq_1.py : initial commit. 5 years ago
plot_calibrate.py Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago
plot_note_analysis.py Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago
plot_seq.py README.md,doc/*.png : Updates to verify plotting and add example plots to README.md 4 years ago
plot_seq_1.py README.md,doc/*.png : Updates to verify plotting and add example plots to README.md 4 years ago
plot_us_db_range.ipynb Many changes and additions. 4 years ago
result.py Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago
rms_analysis.py README.md,doc/*.png : Updates to verify plotting and add example plots to README.md 4 years ago
rt_note_analysis.py Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago
velMapD.h Many changes and additions. 4 years ago
velMapD.json Many changes and additions. 4 years ago
velTableToDataStruct.py Added license notices to all files. Initial commit: LICENCE and COPYRIGHT. 4 years ago

README.md

  • Picadae Calibration Programs

sudo dnf install python3-devel jack-audio-connection-kit-devel

prerequisites: pyyaml sounddevice soundfile pthon-rtmidi

export PYTHONPATH=${HOME}/src/picadae/control/app python p_ac.py -c p_ac.yml

c 60 60 # caputre note 60 using the full_pulseL[] from the p_ac.yml

plot third take of note 60

python plot_seq.py ~/temp/p_ac_3_oa/60 p_ac.yml 3

record a calibration take: CalibrateKeys.start

uses cfg.full_pulseL[] for the pulse sequence use cfg.calibrateArgs.holdDutyPctD{} for hold PWM duty cycle

obsolete plotting function in calibrate_plot.py

python calibrate_plot.py ~/temp/p_ac_3_oa/60/2 p_ac.yml 60

Plot Seq 1 python plot_seq.py ~/temp/p_ac_3_od p_ac.yml 60 10 do_td_plot(inDir,cfg.analysisArgs, pitch, take_id )

Multi Plot 1 python plot_seq.py p_ac.yml ~/temp/p_ac_3_od td_multi_plot 60 3 60 4 60 5 plot_seq.py do_td_multi_plot(inDir,cfg.analysisArgs,[(36,4), (48,2)] )

Spectral Ranges python plot_seq.py p_ac.yml ~/temp/p_ac_3_od plot_spectral_ranges 60 3 60 4

Multi Usec dB python plot_seq_1.py p_ac.yml ~/temp/p_ac_3_od us_db 84

Usec dB Spread python plot_seq_1.py p_ac.yml ~/temp/p_ac_3_od us_db_map 84 72

Min Max python plot_seq_1.py p_ac.yml ~/temp/p_ac_3_od min_max 36 48 60 72 84

Min Max 2 The last number in the list is the ‘takeId’ python plot_seq_1.py p_ac.yml ~/temp/p_ac_3_od min_max_2 36 48 60 72 84 2

python plot_seq_1.py p_ac.yml ~/temp/p_ac_3_od manual_db

Interpolate across the min and max db values to form the min/max curves for the complete set of keys. The anchor points for the curves are taken from cfg record manuMinD,manualAnchorPitchMinDbL, and manualMaxDbL.

      # select the event (takeId, eventIdx) to use to represent the min value for each pitch
      manualMinD: {
        36: [2, 10],
        48: [2, 10],
        60: [2, 10],
        72: [2, 10],
        84: [2, 10]
        },

      # leave 60 out of the min anchor point list
      manualAnchorPitchMinDbL: [ 36,48,72,84 ],
      
      manualAnchorPitchMaxDbL: [ 36,48,60,72,84 ],