hornc / musysim

Simulator for the early music synthesis programming language: MUSYS.
https://esolangs.org/wiki/MUSYS
GNU General Public License v3.0
7 stars 1 forks source link

Simultaneous behaviour not working for multiple oscillators #13

Open hornc opened 7 months ago

hornc commented 7 months ago
O1.48.
T1.15.
O2.60.
T1.15.
$

(play E5 on osc.1, E6 on osc.2) Produces:

['0160', '7417', '0274', '7417']
[Writing all data lists to musys.out...]
(set-control-srate 16000)(play (mult (seq (osc 76 0.15 *table* 0)) (seq (osc 88 0.15 *table* 0))))

(mult) works for combining envelopes with oscillators, but needs to be (sim) for multiple oscillators playing simultaneously.

Should be:

(set-control-srate 16000)(play (sim (seq (osc 76 0.15 *table* 0)) (seq (osc 88 0.15 *table* 0))))

Also,

D=50
O1.48.
T1.D.
O2.60.
T1.D.
O3.58.
T1.D.
$

(E5 on osc.1, E6 on osc.2, D6 on osc.3)

Should play 3 tones simultaneously, it only tries to mix (with (mult)) the first two.

Relates to sorting out the TODO in https://github.com/hornc/musysim/blob/2d84dc2a20e10ee52d2bd9e43e059d448fded496/sofkasim.py#L42-L45

How are envelopes associated with the different oscillators, and how are sounds mixed?

(Somewhat random) motivating challenge to drive development: How would I recreate Minecraft Cave sounds using MUSYS?

Trying to generate something that sounds like Cave02: https://www.youtube.com/watch?v=q0jlHqqo2x8