hornc/musysim

To implement

Opened this issue · 2 comments

hornc commented

Taken from not-yet-done list on #3 :

  • Reading input from files
  • 12 bit value output to lists : (should be easy, just haven't done it)
  • the ' ... ' construct, which is termed a "preset array" in the spec
  • Many devices, including amplifiers, reverb, 12bit tone generators etc. Only simple pitches and envelopes are implemented to test sequential and simultaneous sound synthesis in Nyquist.

Have not even tested multichannel output, or thought about how this will relate to stereo (something like 1,3,5 = L, 2,4,6 = R would be a default, but I have not found any documentation to say whether this is accurate) The six buses do not control how devices are patched together, that is separate. Buses only control how control signals are sent to the devices.

12 bit value output DONE in 58ce104

Basic working data reads implemented in 697b5cc

The current datafile format isn't very good. The spec doesn't really cover the exact implementation details, it was probably a binary file, but here I'm using up to 26 "paragraphs" (separated by an empty line / 2 consecutive newlines: \n\n), and the numbers are whitespace separated decimal integers that will be read and loaded to EXP as 12bit values (and most likely written out as 6bit using .).

The existing IO example https://github.com/hornc/musysim/blob/master/examples/IO-test.musys is taken from Grogono, 1973, p.378 and uses two loops to read data from an input file and populate tones for two oscillators. Currently it produces some sound using the commands, but currently mixing is not properly implemented, so the audio output is incorrect (#13 ) :

./musysim.py -i examples/sample01.data examples/IO-test.musys ; ./sofkasim.py | ny