Topic: The tools/engine hacks I've been using
Just thought I'd share the stuff I've been using on my two ZX Spectrums for my Performances, (as it stands).
https://drive.google.com/drive/folders/ … sp=sharing
The .tap file Ugli1BitLauncher.tap is the thing I had on both Speccys, enabling me to start various modified versions of different engines (with some patterns in I'd pre-prepared in there) to use during the pieces I've played.
CAPS always exits back to the menu, (sometimes needs to be held down, depending on when the engine is reading key presses)
Specifically
1 = A little arpeggiator synth I've made that plays small notes based upon 1,2 or 3 held keys. I only bothered tuning the bottom octave. As it was all I needed for the performance. The note assigned to the key '1' is tunable during playback. The 'grain size' of the arpggios is adjustable on the fly too, so it can be fast trills, or slower arpeggios. I used slow, but slightly different grain sizes across the two spectrums holding slowly changing chords that came in and out of phase (reminding me of Steve Reich).
2 and 3 = hacks for the Music Box and Music Studio engines, to make very unsatisfying synths. Two note polyphony, but the fixed note length is audibly annoying.
4 = A hack of Shiru's Tritone engine, this one reading keys all the time, and then chaining the next pattern. I used the fact that the notes 'hang' from one pattren to the next (in each of the three voices) to play this. (Just on one Spectrum).
5 = A hack of the Savage Engine, this only reading keypresses between patterns, but reading keys for 'channel 1' (left hand side of keyboard) and channel 2 (right hand side). The nature of Savage, and it's skew and ornaments carrying forward meant I needed a cheat sheet of which patterns turned those things on an off. (e.g. pattern 'H' will affect things very dramatically until pattern 'J' is played. (Again this was on one spectrum)
6,7,8,9 = The ones I used in the video link I posted ( https://www.youtube.com/watch?v=cQcWz4JG-yk ), across two Spectrums.
6 = Keys trigger 'One shot' patterns, using Shiru's QChan Engine.
7 = Plip Plop, keys read between patterns, so need to be held down, to change pattern. Used as the main 'time keeper' with it's patterns. Patterns A-H are in 3/4 for a bit or variety. Each 'group' of three keys basically conforms to the same three implied chords, to make it slightly playable.
8 = My attempt at something low and bassy with a changing width of pulse wave. It's not mapped to may keys, and was a bugger to get in tune with the Plip Plop engine.
9 = A different hack of the tritone engine, this time playing patterns only when held down. (keys 1-0). Modifier key Y holds the start of the pattern, whereas O does something similar, but can also be used with P to move through the pattern (O holding where you're up to, P progressing). I used this for some slow pitchbends between chords (seen at the start of my video).
Q = Tritone again (as 4) but loaded with some fuller patterns I could chain together. The very stable timing of Tritone like this (if not using ornaments) meant I could have this running on both Spectrums and there was no discernible drift between the two. (Meaning pattern 1,2,3 could be played against pattern W, then pattern 5 against pattern Y).
W = Another chromatic synth I've written from scratch, and added a comprehensive tuning tool. I swapped one of the spectrums to this synth, to play a leadline against engine Q. (Which was quite Jarre-like, I thought). Again I play with changing the width of the pulse, for something quite attractive sounding on this synth, I thought.
('0' just plays some 'non interactive pieces' I put together when experimenting with Beepola, typically me trying no to write in 4/4).
Anyway, hope it's of some interest, to someone.
There's also a .tap of a standalone version of my UgliSynth2, and the .asm for that in the folder if anyone wants to wince at my code.