To implement
Opened this issue · 2 comments
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.
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