Hello Mark, I take this back to the list because it seems I have to explain the approach that QMidiArp uses in a bit more detail... On Mon, 23 Aug 2004, Mark Knecht wrote: > I'm having some trouble with the pattern syntax. Let's says that I want to > create an arpeggio based around just playing and holding a single key but > creating a series of non-overlapping notes within an octave or two. > > Play and hold: C4 > > Hear: (quarter notes at tempo) C4, E4, G4, C5, E4, C4, G3, C3 > > and when I release C4 the pattern stops immediately. > > the arpeggio should always be based around the single key I'm playing, so if I > play a G3, I'd hear G3, B3, D4, G4, B3, G3, D3, G2 An example of this kind of arpeggiator is miniArp, an example of my ALSA HowTo http://www.suse.de/~mana/alsa090_howto.html#sect07 If you look at its simple pattern synthax you'll find that notes are explicitely defined (IIRC on base note C). And here the pattern is transposed whenever you press another key on the keyboard. However QMidiArp works differently. It is based on my experience with the MAP1 hardware arpeggiator. The MAP1 takes the notes into which the pattern is translated from the chord that you play on the keyboard. This way you can play whatever complicated chords with the most complicated alterations and the arpeggiator will still perfectly follow it. I already have an extension to QMidiArp in mind: There could be an additional tab that would have radiobuttons to select chords, like e.g. M, m, 7, M7, m7, ... This could then serve to fill the note buffer that the arpeggiator uses for its pattern. But then you would have to manually change the chord whenever you do a modulation. Matthias -- Dr. Matthias Nagorni SuSE Linux AG Maxfeldstr. 5 phone: +49 911 74053375 D - 90409 Nuernberg fax : +49 911 74053483