This question is related to Jason's reply in another thread which I wanted to avoid hijacking: https://www.yamahasynth.com/forum/control-midi-out-settings-per-performance#reply-120590
I'm trying to understand the flow of control, and the limits of that control, as it regards arpeggios.
1. Is there ANYTHING in an ARP that determines, or filters, what channels/tracks are allowed to trigger it? That is, can every ARP ever created be triggered by a part from ANY channel whatsover?
2. Is there ANY control over the channel/track that an ARP sends its output to? Or does it always send it to the same channel/track that the trigger came from?
To put it another way - what is it exactly that controls the triggering source and the output destination of an ARP.?
And are the rules the same for ALL arps including presets and MEGA Arps?
Seems basic enough but I'm missing a piece somewhere. For some reason I thought that:
1. Any part can trigger ANY arp (including presets, mega, other?) no matter what channel the part is associated with
2. The Midi output of an arp can include info (midi commands, SysEx, PC, channel change, other?) that can direct the arp output to a specific channel regardless of what channel triggered the arp.
Now I'm beginning to think an ARP is more like a software subroutine:
1. Any one (i.e. part) can call it
2. The arp returns it's info ONLY to the one that called it
What am I missing? Is there enough BONDO to fill all the holes in my understanding?
An arpeggio exists in the context of a (single) Part. The trigger for this arpeggio would be notes matching the Part (or MIDI channel of the said Part). If a Part's keyboard control is turned off - then this Part (unless selected) will not receive any note-on events from pressing piano keys. This (non-selected keyboard control OFF) would require some external MIDI in order for the Part to "see" any MIDI note on/off events.
Parts 9-16 cannot have keyboard control turned on so they are always in a state having keyboard control turned off. Any Part in the range 1-8 (or Parts) can have keyboard control turned off -- in which case they will "act" like Parts 9-16 always do.
An arp needs a note-on event to trigger and keyboard control OFF "filters" keyboard (piano key) events when the Part is not selected. Also other controls are ignored when keyboard control is turned OFF and the Part is not selected (other controllers - not only the piano keys).
If any single Part with keyboard control turned OFF is selected then this is the only Part that will "see" piano key presses and have note on/off events generated. The way I think of this is as if the selected Part (internally) turns keyboard control ON and then all other Parts turn keyboard control OFF. Another way this is conveyed is that the selected Keyboard Control=OFF Part will be "soloed".
Without jumping through hoops - if you want to "kick off" an Arpeggio in Parts 9-16 then you have to first select one Part in this range - strike a key - then switch back to either common (no Part selected) or select any Part with keyboard control ON so you can play all of these Parts together (whichever in the range of 1-8) normally.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
An arpeggio exists in the context of a (single) Part.
That just isn't true. I have arps listed in the Utilities section that exist and aren't in the context of any part or performance at all.
That 'part independence' was an implicit part of my first question - is there ANY content in a stored ARP that controls, filters, or in any way determines what parts/channels/tracks can trigger it?
if you want to "kick off" an Arpeggio in Parts 9-16 then you have to first select one Part in this range
I was under the impression that, historically (GM) drum parts were in part 10. Are you saying that you can't use a drum part in part 10 that uses arpeggios without first selecting that part to get the a performance started.
I appreciate the commentary but I ask two very specific questions and I don't see any direct correlation to the info you provided and the two numbered questions at the top of my post.
1. Is there ANYTHING in an ARP that determines, or filters, what channels/tracks are allowed to trigger it? That is, can every ARP ever created be triggered by a part from ANY channel whatsover?
2. Is there ANY control over the channel/track that an ARP sends its output to? Or does it always send it to the same channel/track that the trigger came from?
There was a recent thread about how/why the pattern sequencer can work with all 16 parts and Bad Mister discussed building, and recording, upper level (part 9-16) parts by building/recording them in a lower level part first and then moving them to a part number in the upper range. It was just in the last couple of weeks.
https://www.yamahasynth.com/forum/using-16-parts-in-the-pattern-sequencer#reply-120504
I was under the impression that, historically (GM) drum parts were in part 10. Are you saying that you can't use a drum part in part 10 that uses arpeggios without first selecting that part to get the a performance started.
Not without having the note-on/off come from an external source or song/pattern.
1. Is there ANYTHING in an ARP that determines, or filters, what channels/tracks are allowed to trigger it? That is, can every ARP ever created be triggered by a part from ANY channel whatsover?
I explained what filters allowing to trigger it with piano key presses. I named keyboard control as the specific "filter". I explained that an ARP cannot be triggered by any channel but is triggered by the channel that ARP exists on. ARPs only exist on a single Part and therefore share that Part's MIDI channel. There's a direct line between this question and the information previously supplied.
2. Is there ANY control over the channel/track that an ARP sends its output to? Or does it always send it to the same channel/track that the trigger came from?
I didn't answer this because the other was more fundamental. And a good thing too considering there's a dispute here over the answer to the first question.
A note-based arpeggio can only interact with the Part it exists on. You can't make an arpeggio in one Part control notes of another Part. Normally the arpeggio "output" is internal (it doesn't actually come out). The only way you start to see the arpeggio on the outside is by turning on "Arp MIDI out" (and requires MIDI I/O Mode = multi). The MIDI data for each Part will use the Part's MIDI output channel.
There was a recent thread about how/why the pattern sequencer ...
My previous message align with this. I make distinctions between piano key presses and song/pattern.
I have arps listed in the Utilities section that exist and aren't in the context of any part or performance at all.
Does not compute. Educate me.
Under the [UTILITY] section the only arpeggios are part of the file system where you can deal with user arps just like user waveforms you can deal with as well. This isn't where arpeggios are instantiated. You can have a big list of user Arps you created and not use one of them in any of your Performances.
Instantiated arps (arps that do anything) are only within a single Part. Which means if you have a multi-Part sound then you "need" to duplicate an ARP for all Parts of the multi-Part instrument. You can't instantiate one arpeggio in one Part and "tell" it to reach out to the other Part(s) of the same multi-Part instrument.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
@Andrew....
I thought you'd be very busy reverse engineering Offsets at present. At least, that was the impression you gave on your most recent "drains up" investigation.
When, if ever, do you think your 3rd Party Support tools will be ready?
You've been tempting us for a good while.
BTW... did you ever manage to figure out how Filters work?
[quotePost id=120599]@Andrew....
I thought you'd be very busy reverse engineering Offsets at present. At least, that was the impression you gave on your most recent "drains up" investigation.
When, if ever, do you think your 3rd Party Support tools will be ready?
You've been tempting us for a good while.
BTW... did you ever manage to figure out how Filters work?
[/quotePost]
wtf is this drivel?
Please don't make me feel the need to defend Andrew_FormelyKnownAsBill's right to a fair hearing and consideration of his questions in isolation from this kind of... as I say.. I dunno what this kind of verbiage is, nor what could cause someone to write it.
--------------------
To the question: There's an oddity, also, in usage of external keyboards over 5 pin MIDI that permits the external MIDI controller to activate notes, not the arpeggios, even when the Part is set to Arp Play Only. Oddly, this is the default behaviour, too.
Which goes along with the observations of Andrew_FormerlyKnownAsBill's observation that it's odd drums weren't given Part 10 without the need to dance over there, into the hidden Parts, and away from the keyboard control of the Top Eight Parts.
Sadly, it often seems as if Yamaha feels the need to buck any conventions not created by themselves, because Sony used to feel they could. Or some such.
And usability, often, too. And empowerment, a lot, also. eg. you can't trigger ARPS with the content of Patterns. Which is easily one of the top ten oversights/misses of the Pattern Sequencer, and a super obvious low hanging fruit improvement for the next update... if there's ever one.
How many days and votes on features and fixes since the last update?
Not without having the note-on/off come from an external source or song/pattern.
. . .
My previous message align with this. I make distinctions between piano key presses and song/pattern.
Interesting - that suggests that a part 1-8 can use a pattern that can trigger an arpeggio in a part 9-16.
Is that correct? If so it sounds like that might solve the problem from the other thread.
I thought you'd be very busy reverse engineering Offsets at present.
Correct - that is the primary focus for the short term.
BTW... did you ever manage to figure out how Filters work?
I haven't even started on internals yet for the components.
The first order of business is to try to nail down the architecture and hierarchy itself: that is, what are the individual elements and how are those elements interconnected.
My questions in this thread are exactly that for arpeggios. How are they connected to the rest of the elements: what are the allowable sources (channels/tracks/parts) of inputs, where can they send their output (channels/tracks/parts)?
The previous discussion for filter 'cutoff' was from that same viewpoint: what are the different 'inputs'. How a filter actually works is an entirely different area that I don't have much interest in.
For filters it is back to the paradigm of them being a subroutine as a black box: what are the inputs and outputs - not how they do what they do but what info do they need to do it and what info do they return back.
The internal algorithm used isn't that important. What is important is what do you need to provide to make them work properly. Hope that clears it up a little.
PS. you can't trigger ARPS with the content of Patterns.
Thank you! That is EXACTLY the type of question I am trying to nail down the answer to - inputs and outputs.
How does that reconcile with this:
Not without having the note-on/off come from an external source or song/pattern.
Can a pattern have notes for all 16 parts?
If so, can't a note in part 9 of the pattern trigger an arp in part 9 of a performance?
If so, can't that pattern be played by a part 1-8 which would then result in an arp in part 9 being triggered?
Or am I just in another feedback loop going round and round?
Can a pattern have notes for all 16 parts?
Yes.
__ Each Part has its own dedicated Track_ 16 Parts means there are 16 Tracks
If so, can't a note in part 9 of the pattern trigger an arp in part 9 of a performance?
No. Note events documented in a Pattern cannot be used to trigger an Arpeggio.
__ If you setup to Record to a Pattern and your Performance has one or more Parts that you are set to respond to Arpeggios, the Arpeggio Phrase data will be *transferred* to the corresponding Part's Track when you press [RECORD] and run it. This is why it is recommended to use KEY ON START, and record LOOP = OFF __ this guarantees a clean, accurate start and finish.
The data is no longer an "Arpeggio", per se, the data is transferred as MIDI Event data to the MIDI Track. (This is not semantics). The data is "printed", "normalized", written out. You can now turn the MAIN [ARP ON/OFF] = OFF and playback the data from the MIDI Track. In Pattern the Track data goes directly to the Tone Generator.
If so, can't that pattern be played by a part 1-8 which would then result in an arp in part 9 being triggered?
Not applicable. Because it is not so. That is not how it works
Or am I just in another feedback loop going round and round?
Yes, you are there, yet again!
What you seem to get stuck on is the maximum you can do SIMULTANEOUSLY with the actual maximum.
Nothing prevents you from recording 16 Parts to 16 Tracks, one-at-a-time
Nothing prevents you from recording 2 Parts linked and then 14 one-at-a-time
Nothing prevents you from recording 3 Parts linked and then 13 one-at-a-time
all the way through to a maximum of 8 Parts linked and then 8 one-at-a-time.
And you said you read the COPY/EXCHANGE thread so you know there are many ways to work...
Pattern Sequencer -- Arp data is "normalized" (written out as MIDI events to the Tracks)
MIDI Song -- the Arp data can be normalized (as in Pattern) or you can opt to record just the trigger notes, which means you will need to reset and re-arm the [ARP ON/OFF] function prior to playback (useful when your Song utilizes Motion Sequence automation sync'd with an Arpeggiator).
In Other Words:
You can use an Arpeggiator to record data to all 16 Tracks... BECAUSE the fact that you can only use 8 at once, does not preclude you from overdubbing additional tracks in a separate pass. Once the Arpeggio Phrase data is printed to a Track as MIDI events, you can reassign the Arpeggiator to a different Part... and Overdub.
Because you can play/control a maximum of 8 Parts at once, does not preclude you from recording data to individual tracks _ this is why 'a pattern (CAN) have notes on all 16 parts'(sic)... Just because you cannot record them all at once does not mean they cannot contain data by overdubbing in separate passes.
Or am I just in another feedback loop going round and round?
Yes, you are there, yet again!
Well I'm not convinced that this one is entirely my fault.
I can't correlate what you say with the functional block diagram on page 3 of the reference doc.
That diagram doesn't show a 'pattern' block' or a 'pattern sequencer' block. It only shows a 'sequencer block'. And that block does NOT show any path to or from the arpeggio block.
So with no path from the pattern block TO the arpeggio block I understand that notes in the pattern can't possibly trigger an arp.
But with no path FROM the arpeggio block to the pattern block I don't see how any arpeggio notes can get to the pattern block to be normalized.
Something seems to be missing in the diagram.
Q1 - WHERE IS the pattern sequencer in the hierarchy? Is it in the same 'Sequencer Block' shown on the diagram? Or is it a new block that isn't shown because the diagram hasn't been updated since the pattern sequencer was introduced?
__ If you setup to Record to a Pattern and your Performance has one or more Parts that you are set to respond to Arpeggios, the Arpeggio Phrase data will be *transferred* to the corresponding Part's Track when you press [RECORD] and run it.
Ok - but there IS NO PATH on that diagram from the arpeggio block. So I don't see how the phrase data can get to that sequencer block.
Seems to suggest that either the pattern sequencer is in a new block that isn't shown on the diagram or the diagram should show a path from the arpeggio block to the sequencer block.
Either way the diagram needs to be updated.
Pattern Sequencer -- Arp data is "normalized" (written out as MIDI events to the Tracks)
MIDI Song -- the Arp data can be normalized (as in Pattern) or you can opt to record just the trigger notes,
Once you explain how the arp data gets to the pattern sequencer (no path on diagram mentioned above) that normalization will make sense.
Q2 - Where is the 'opt to record just the trigger notes' on the pattern screens?
ARP1 has notes C5, E5 and G5 and is triggered by C1.
Part 1 has notes C1 and D3
If 'opt to record just the trigger notes' is ON then C1 and D3 should get recorded
If the opt is OFF then D3 and the arp notes C5, E5 and G5 should be recorded.
Is that correct?