Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

To implement #5

Open
2 of 4 tasks
hornc opened this issue Mar 24, 2021 · 2 comments
Open
2 of 4 tasks

To implement #5

hornc opened this issue Mar 24, 2021 · 2 comments

Comments

@hornc
Copy link
Owner

hornc commented Mar 24, 2021

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.

@hornc hornc changed the title Left to implement To implement Mar 24, 2021
@hornc
Copy link
Owner Author

hornc commented Apr 28, 2024

12 bit value output DONE in 58ce104

@hornc
Copy link
Owner Author

hornc commented Apr 28, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant