Skip to content

zachshattuck/wav

Repository files navigation

.wav

Experiments in digital soundwave/WAV file generation.
Warning: I was learning as I was writing, so the code is poorly formatted, cryptic, undocumented, with many notes-to-self.

There are samples of generated wave files in the samples/ directory. Turn your volume down for any with the word "danger" in their names. Some of my favorites:

Pages

Building and Running

There are currently only 2 main programs, midi2wav and sf2analyzer.

make midi2wav
bin/midi2wav MY_MIDI_FILE.mid
make sf2analyzer
bin/sf2analyzer MY_SOUNDFONT.sf2

TODO

  • Add some formal notes on how MIDI time (division, ticks, etc.) works
  • Allow specifying output file name
  • Make midi2wav actually use the MIDI channel number
  • Add some simple instrument definitions that can be used in midi2wav
  • Become MIDI 1.0 compliant

References


Special thanks to Desmos for helping me visualize things, and ImHex for being amazing.

About

WAV file generation

Topics

Resources

Stars

Watchers

Forks

Contributors