Skip to content

Latest commit

 

History

History
51 lines (43 loc) · 1.41 KB

File metadata and controls

51 lines (43 loc) · 1.41 KB

TODO:

  1. Save / Loading patches
  2. Add "transpose" or keyboard movement buttons to UI
  3. "Randomize" Button
  4. Effects
    • Vibrato
    • Tremolo
  5. Adjust feedback numbers to be more granular
  6. SSG-EG mode?
  7. Optimizations:
    • Optimize sampler tick rates/tick times with integer math?
    • Optimize sine function?
    • Use fixed point? u16 or something instead of f32, can then use a lookup table

ORIGINAL NOTES:

  1. Sound engine limitations, how many channels (16?), samples etc
  2. 48 khz sample rate
  3. Support Sound Limits:
    1. 8 FM channels, 8 sample channels for music
    2. 8 FM channels, 8 sample channels for "game sounds"
  4. Support stereo sounds?
  5. Samples should be built in to the engine
  6. Generate some Synth starter tones
  7. Select up to 512(?) possible samples

https://plutiedev.com/ym2612-registers#reg-40 https://www.smspower.org/maxim/Documents/YM2612#alittlebitaboutoperators https://manualmachine.com/sega/genesisfmdrive/2121418-user-guide/ https://moddingwiki.shikadi.net/wiki/OPL_chip http://gendev.spritesmind.net/forum/viewtopic.php?t=386&start=106

ym2612 feedbacks: 0 = 0 1 = PI / 16 2 = PI / 8 3 = PI / 4 4 = PI / 2 5 = PI 6 = 2 * PI 7 = 4 * PI

consider fast sin function as described: https://www.youtube.com/watch?v=1xlCVBIF_ig

For ratios / Freq Multiplier https://www.angelfire.com/in2/yala/2fmsynth.htm

Envelope Example Code: http://www.martin-finke.de/blog/articles/audio-plugins-011-envelopes/