Live data from Hacker News

Show HN: Warp, a Python based music-theory aware MIDI sequencer

warpseq.com

21–30 of 36 posts

Re: Show HN: Warp, a Python based music-theory aware MIDI sequencer

#21
post #3

Earlier quoted context omitted.

Neat project! You might find TheoryBoard interesting[1]. It's a midi controller that tries to embed knowledge of scales. [1]: https://www.kickstarter.com/projects/irijule/theoryboard-thy...

that's a cool interface - "impossible to play a wrong note" kinda leaves out the ability for intentional accidentals, but... not bad for a lot of things. Bonus points if they get the glowing holograms floating in the air working :)

They actually have some cool features to allow multiple scales and scale changes, so intentional accidentals are promoted. This looks a lot like the Ableton Push controllers besides the direct Ableton integrations. I think the unintentional accidents are what would be missed, and those can be just as good.

Re: Show HN: Warp, a Python based music-theory aware MIDI sequencer

#23

I tried to use this, but the PYTHONPATH weirdness was a minor impediment, I tried to actually install it but setup.py is missing a quote, installing it doesn't actually install the notation module, and then finally relenting and redefining PYTHONPATH runs to the point where it tells me I need a MIDI device, and I don't have one. Can I not just make it output sound to my computer speakers?

A MIDI sequencer just outputs MIDI instructions, it doesn't generate sound unless it implements a synth (sound generator) of some sort. 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.

to add to the above, on OS X, instead of loop MIDI, you can create a Virtual IAC bus instead. For someone with a Windows machine that has loopMIDI, if you want to send me a patch for Windows setup instructions, I'd love to add them.

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.

Re: Show HN: Warp, a Python based music-theory aware MIDI sequencer

#24

Earlier quoted context omitted.

Nope! With those systems you have no way to input accidentals. Here, notes are entered in scale degree, so if you say "4 5 6" you get the 4th, 5th, and 6th scale note, every time. If you later want to transpose to Eb Pentatonic, everything remains musical. The arp can also tranpose by scale notes instead of just semitones too. Also, there's quite a bit more, all in the docs. There's a ton more there.

What happens to "6 7 8" in a mapping from (e.g.) a straight minor to a pentatonic scale?

The "6" would be the first note of the next octave, and 7 and 8 would be up that 1 and 2 scale notes.

Except there's no "from" the straight minor per se, because entry is in scale degrees vs notes from the start.

Re: Show HN: Warp, a Python based music-theory aware MIDI sequencer

#25

Maybe Julia would be the more natural language for music theory, as both are one-based indexed.

Two wrongs won't make a right. 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 completely concur with Western music theory being crazy.

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!

Re: Show HN: Warp, a Python based music-theory aware MIDI sequencer

#26
This looks a little like the NDLR from Conductive Labs. The NDLR is a hardware box. While you can enter chord progressions into it, it's intended for live performance where you enter chords as it plays them.

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.

Re: Show HN: Warp, a Python based music-theory aware MIDI sequencer

#27
post #26

This looks a little like the NDLR from Conductive Labs. The NDLR is a hardware box. While you can enter chord progressions into it, it's intended for live performance where you enter chords as it plays them. 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…

Would be awesome if it ran on Micropython or Circuitpython. Preferably on a Teensy 4.0.

Re: Show HN: Warp, a Python based music-theory aware MIDI sequencer

#28

Earlier quoted context omitted.

Two wrongs won't make a right. 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 completely concur with Western music theory being crazy. 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" thin…

As someone with very little music theory knowledge is there a better alternative to getting into music theory to be able to write music, than the western system, that can be recommended?

Like how it would feel to grow up learning in metric instead of imperial units for example?

Sorry if I didn't understand what you and GP were trying to say

Re: Show HN: Warp, a Python based music-theory aware MIDI sequencer

#29

Earlier quoted context omitted.

What happens to "6 7 8" in a mapping from (e.g.) a straight minor to a pentatonic scale?

The "6" would be the first note of the next octave, and 7 and 8 would be up that 1 and 2 scale notes. Except there's no "from" the straight minor per se, because entry is in scale degrees vs notes from the start.

Not if you're moving from one kind of scale to another, as you've said you can.

6 7 8 are functionally different to 1 2 etc in an eight-step key.

In fact they're different across different 8 step keys. 6 7 8 in Phrygian are structurally different compared to 6 7 8 in Minor, even though they're the same pitches.

Chords and melodies that use them do not have the same shapes - not because of accidentals, but because they're fundamentally not the same thing and they move through the scale space in different ways.

And in harmonic minor 6 7 8 ascending and descending are different - not just made different with accidentals, but contextually different.

Meanwhile pentatonic melodies can have a pentatonic harmony, or they can have harmonies in other scales and modes. How do you know what "4" is supposed to mean if you're not aware of this?

Of course you can trivially map Thing to Other Thing in Python, but if you don't understand these relationships you're destroying the musical meaning. This is fine for vaguely ambient noodling, but not for building a genuine theory-aware sequencer.

In music theory you don't just play with numbers, you play with style conventions, context, and meaning - and solving that is a much harder problem than you've managed here.

Re: Show HN: Warp, a Python based music-theory aware MIDI sequencer

#30
post #26

This looks a little like the NDLR from Conductive Labs. The NDLR is a hardware box. While you can enter chord progressions into it, it's intended for live performance where you enter chords as it plays them. 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…

Yeah, I don't know what it would take. We're currently using very few dependencies so... maybe? Shoot me an email using the links on the homepage if you like and we can continue the conversation.
Post reply on HN