I've been making music with synthesizers for a long time, and I always saw great ideas in DAW tools and in hardware, but never all of those ideas in one place. I wanted more music theory awareness in my compositional tools, like the ability to access easy scale changes. I wanted patterns to be symlinks, and to make it easy to have multiple patterns in a single clip.
I wrote Warp to make it happen. Today there's a Python API that can make full songs, and the work on the UI is getting started, which will be available this Fall.
The Python API doesn't technically even require using a loop, so it should be accessible to programmers who aren't Python experts.
Let me know if there are questions, and if you'd like updates, you can also follow @warpseq on twitter.
IMO, most people will want to see that before they invest time reading documentation or downloading and installing your software.
Just my two cents! I hope this is helpful.
Do a checkout and you can see quite a few song files in the examples dir which should be helpful in getting a feel for it. UI should be out in a few months and will be more photogenic for youtube and will also ship with some demo tracks showing how all of the patterns work.
[1]: https://www.kickstarter.com/projects/irijule/theoryboard-thy...
I've build a much cruder version that I use for generating chord sequences to bring into DAWS:
https://github.com/Miserlou/chords2midi
It even has voice leading, which required translating an "algorithm" written in German in the 1800's!
Can I not just make it output sound to my computer speakers?
You'd need to install something like loopMIDI, and direct the output of the sequencer to the input of a VST host, where you can load whatever synths you want.
I mostly develop on a Mac myself.
There are also some soft synths that don't need a VST host, some mentioned here - https://blog.landr.com/the-7-best-free-synth-vst-plugins/
I will admit I haven't used the setup.py having copied it from a previous project, and that's a stupid shortcut to make... I'll take a look at take care of the space issue.
My issue with the NDLR is that its sequences have no random variation. If you don't keep tweaking the parameters ("noodling"), it starts sounding repetitive quickly.
Any idea whether Warp would run on MicroPython? The NDLR, or a box like it, might make a nice UI.
Also, there's quite a bit more, all in the docs. There's a ton more there.
See some examples at https://bitbucket.org/laserllama/warpseq/src/master/examples...
And then you can imagine the web interface growing up around those simple lists of strings.
A much better idea is to represent intervals internally in such a way that unison is zero.
The jury may be out on how to enumerate items in a sequence, but a delta offset must be zero-based. That is simply not negotiable.
Western music theory is crazy.
Come on: every seven diatonic notes, we get another octave? What? And then we need a "rule of nine" for inverting an interval?
I would love to be raised by aliens where music was cleanly lined up with decimals or base negative three integers or ... anything.
There's all the string vibration stuff that leads to 4ths and 5ths though, which as I think fundamental to how we got here, but even little things, like "starting at C" for octaves... it's all weird :)
The "whole whole half" thing is a mess, and then you get semitones and notes that are missing on the keyboard, etc. Fun times!
Basically the API is "step 1" to building the final sequencer, but we always want to have the API available for the generative music crowd (and also our own use). Conceptually I think this would be really great to build an ear training program out of, because it's so easy to tell it to generate a ton of chords, scales, and intervals. Maybe that will come later too.
Anyway, video is still something on my radar!