tidalcycles / strudel

Web-based environment for live coding algorithmic patterns, incorporating a faithful port of TidalCycles to JavaScript
https://strudel.cc/
GNU Affero General Public License v3.0
687 stars 121 forks source link

midi input #533

Open felixroos opened 1 year ago

felixroos commented 1 year ago

since https://github.com/tidalcycles/strudel/pull/516 is merged, sounds can now be started without knowing the end time, so it should be possible to control sounds from midi input. It would be particularly interesting if midi input could be patterned e.g.

midiIn().s("<sawtooth square>").lpf(800)

this will play incoming notes, toggling between sawtooth and square.

midiIn().off(1/8, add(note(12))).s('triangle')

this could play incoming notes on and also play it 1/8 later an octave higher.

or

midiIn().scaleQuantize("<A:minor G:mixolydian>")

would quantize the pressed note into the scale. (scaleQuantize does not exist yet)

these are just rough ideas, not completely thought out.. some open questions:

felixroos commented 8 months ago

cc in is already implemented: https://github.com/tidalcycles/strudel/pull/699

felixroos commented 8 months ago

related: https://club.tidalcycles.org/t/baked-in-support-for-midi-in-audio-in-and-audio-devices-channels/5098/4