shyamjayakannan / cairo-wave

An implementation of the WAVE file format in Cairo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cairo-wave

About

Generate valid WAV files in Cairo

Features

  • Output WAV file
  • Handle bit-depths (4, 8, 16, 32)
  • Handle multiple/stereo channels
  • Generate square wave form
  • Generate sawtooth wave forms
  • Generate triangle wave forms
  • Generate sine wave forms
  • Generate an instrument (see Koji)
  • Play Koji notes
  • Play Koji midi tracks
  • Generate an 4/8-bit low sample rate sound pack (kick, bass, snare, hi-hat)
  • Play short melodies

Local testing:

scarb test -f get_notes > tmp/test
python scripts/data_to_wave.py tmp/test
mplayer tmp/test.wav

Sepolia testing

Needs a working starkli configured with a Sepolia RPC

python scripts/get_notes.py
mplayer tmp/out.wav

Resources

About

An implementation of the WAVE file format in Cairo

License:MIT License


Languages

Language:Cairo 91.4%Language:Python 8.6%