synth icon indicating copy to clipboard operation
synth copied to clipboard

super_simple_synth_sub_20_lines.py: do not capture midi event-related variables

Open conversy opened this issue 1 year ago • 0 comments

super_simple_synth.py works fine on macOS using Midi Keys, but not super_simple_synth_sub_20_lines.py: the sound stops as soon as a new midi event is received after the first Note On because nand vare captured and reused in the generator line #16.

To avoid variable capture, we need to create a one line function: def f(n,v): return (sin(c)*v*0.1/127 for c in count(0,(2*pi*midi.midi_to_frequency(n))/44100))

line #9, and call it in the (new) line #17 (former line #16) elif s==0x90 and n not in nd:nd[n]=f(n,v)

We might change the name of the file into super_simple_synth_20_lines.pythough :-)

conversy avatar Nov 04 '24 16:11 conversy