sidaster_synth
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
sidaster_synth [2011/09/27 12:11] – created wadmin | sidaster_synth [2018/08/26 09:36] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 35: | Line 35: | ||
==== Download ==== | ==== Download ==== | ||
- | Beta 1 Version – Full Midi capability (including Filter but this part has not been tested yet). | + | Beta 3 Version – Full Midi capability (including Filter but this part has not been tested yet). |
- | Download link : {{http:// | + | Download link : {{http:// |
+ | ==== Detailed Design Description ==== | ||
+ | Synth is built around the Handler mechanism proposed by the Arduino Midi Library to handle midi messages. | ||
+ | |||
+ | === General === | ||
+ | |||
+ | Registers of the MOS are being written using the harware SPI by calling the sid.send() function. A conversion table allows to translate from Midi note input to MOS frequency register value. | ||
+ | |||
+ | MOS6581 internal registers are mirrored inside the software through the variables declared at the beginning of the program. This allows to keep track of the Synth state and to perform the least number of writes to the MOS registers as possible. | ||
+ | |||
+ | === Mono Mode === | ||
+ | |||
+ | == Note Messages == | ||
+ | |||
+ | Note on and Note Off messages are handled using the associated handlers. The specific case of Note On with 0 velocity to be treated as note off is considered in the code. The synth keeps memory of the previous note pressed, in order to allow legato playing stylesto be handled properly. | ||
+ | |||
+ | Each voice of the SID is updated with its own frequency value according to the note played, the coarse and the fine value. | ||
+ | * Coarse is a basic -16 to +15 Midi note translation | ||
+ | * fine ranges from 0 t 127 and is directly added to the Osc frequency register value to slightly adjust the frequency and create beats. | ||
+ | |||
+ | == Control Change == | ||
+ | |||
+ | Midi CC messages are handled with a '' | ||
+ | |||
+ | ==== To Do list ==== |
sidaster_synth.1317125481.txt.gz · Last modified: 2018/08/26 09:36 (external edit)