Fugue Machine
👋 Hope it’s ok to post this here for anyone interested.
From Patchstorage:
A Fugue Machine creates complex musical patterns by manipulating multiple synchronized playback streams. It’s great for generating polyphonic sequences and experimenting with harmonies and melodies.
“Fugue” typically refers to a musical composition technique where a theme is introduced and then imitated by other voices or instruments. It’s a complex and structured form of composition often associated with classical music, particularly composers like Bach.
Here you’ve a complete Drambo project file ready to play. Four lanes (like the original app) on one screen, well with a little scroll. You can record into the sequencer, do step input or draw in the notes. You can have any number of bars in the sequencers (2 bars in the demo project) and with ‘MIDI in’ set to ‘Transpose’ you can transpose the notes played by simply pressing a key on the keyboard.
You can set different playback speeds, loop forwards or backwards (using Rate) and pitch in octaves, semi tones or fine for each lane and you can also offset the start of each sequence.
You can easily swap out the FM Operators (chosen for the demo project as everyone has them) for any AUv3, expose any AUv3 parameters via midi mapping and can also do automation.
I added an LFO to adjust the different Analogue Filter’s cutoff at the end of each lane, to give some extra space and movement in the sequences. Of course you could add anything you want to the effect chains, delay, eq, reverb etc.
You do need to copy the same sequence into each sequencer – not ideal but very easy to do. Would be great to just have one sequence instance driving everything (like the original app) but that doesn’t seem possible.
For the next version I hope to be able to add Ping-Pong mode to each sequencer and adjust the timing of what’s played in reverse - unless Giku beats me to it. As pointed out by rs2000 ‘There is one thing that Drambo’s sequencer module does differently, compared to Fugue Machine: When running backwards, it will look at Note-On messages instead of Note-Off messages like Fugue Machine, resulting in a different timing.’
Comments
What an awesome gift to the community.
Nicely done.
Cool project and great idea to pay homage to a classic iOS sequencer!
First thing that came to mind after looking at this, was to add a “transpose” channel. Inserted in before track #1 so you can transpose all four sequencers at the same time. (Like the slider in Fugue Machine).
You do need to copy the same sequence into each sequencer – not ideal but very easy to do
Worth mentioning (in case someone hasn't tried) - you can drag and drop from one sequence mini-view to another one.
What an uplifting comment. Thank you.
Great suggestion - what would that look like, I couldn’t get it to work? You can actually transpose with the built in keyboard because ‘MIDI in’ on each sequencer is set to ‘Transpose’, just press a key on the keyboard
That’s a great tip. I didn’t know that. So now it’s even easier to copy a sequence across all four sequencers 😊
Just connect all four of your sequencer track’s midi connectors to the same single “control track”. Then make sure this control track is selected, and hammer away at the keyboard.
edit: I just created a new track and inserted it before track #1, and named it “Transposer”. It’s just an empty track. Nothing special about it.
edit #2: OR.. since we have MIDI Feedback now, you really wouldn’t have to make all these manual connections, but rather only insert a MIDI output module in the “control track” and set it to MIDI Feedback. Then all four of your sequencers should get MIDI from that.
I’ve been thinking of doing something like this myself (more like a drum section fugue machine) so I’ll be sure to study what you did here, for inspiration. Thanks a lot for sharing!
I didn’t know about that reverse thing either with sequencer and note on/offs. But thinking about it it totally makes sense. Since it’s an asynchronous stream of note on and offs, it’s not trivial to reverse it, and seems impossible without a (bar at least) delay
Oh that’s sweet. Thank you
👍 I’m hoping Giku will step in and add Ping-Pong and Note On/Note Off control within the existing Sequencer Module 🤞
You can kind of fake ping pong by modulating the time knob positive and negative.
Yeah I did try a couple of variations on that but couldn’t get accurate timing over 2 bars at different speeds, rates (direction) and bpm. The note off/on issue doesn’t help too.
You can do that but it won't reverse the sequence like it does in Fugue machine.
If you play backwards in Fugue Machine, the note sequence will be mirrored.
If you do the same in Drambo's Sequencer, it's more like looking at note-on positions and playing the notes with their original length, which usually messes up the sequence compared to FM.
@rs2000 True. I haven’t used Fugue Machine in a while. I did say kind of fake it lol..