Skip to content

Zach-Pouska/zr_sq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zr_sq

Minimalist-ish sequencer that generates audio based on a custom plaintext file format.

Unfortunately I got this started by vibecoding with deepseek, but I'm planning on that being the only AI assistance for this project as I become more familiar with rust.

To-Do (feature creep) :

  • Implement BPM alignment for rest

  • Implement basic parsing of notes - translate A4 -> 440hz

    • Have a header option for the "tuning ceneter" note - A4 by default
    • Have a header option for just tuning - perfect ratios, vs logorithmic cents scale
  • Add main loop for live updating of file & playback

  • Add ability to create loops & define musical "functions" within a file, that will play in parallel to the rest of the file

  • Stereo sound

Usage / installation

Download the source, cd into the directory, run cargo run <input filename to synthesize the file.

Make sure you have a way to listen to ALSA outputs properly set up, I wasted a good few hours debugging this program at first just to find that I didn't have pipewire-alsa installed on my arch linux system.

Song file format

Look at example.music for more, but to start you can type saw 440.0 0.1 0.8 to play a saw wave at 440hz, for 0.1 seconds, at 0.8 volume (max of 1.0, min of 0)

and rest 0.5 to rest for 0.5 seconds.

About

attempt at a basic sequencer that reads a file out

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages