If you have a problem or need to report a bug please email : support@dsprobotics.com
There are 3 sections to this support area:
DOWNLOADS: access to product manuals, support files and drivers
HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects
USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here
NEW REGISTRATIONS - please contact us if you wish to register on the forum
Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright
help with poly data format
2 posts
• Page 1 of 1
help with poly data format
Can some expert tell me more about the functionality of poly data? I've twigged that it's bi-directional, in that if, for example, an envelope generator generates a long release then the notes that triggered it in the first place are held until it's done its work and reached zero, and only then are they cancelled.
In fact I make various assumptions, but it would be good to have them verified (or not!) ..
For example - if say 10 MIDI note_ons arrive one after the other I assume that their MIDI Note No. & their order is logged, and that the 10 entities into the poly stream keep this information while the notes are active, so that any processing further down acts upon the correct note. Is that how it works?
I only ask because for my next project my current plan is to attempt to generate two (possibly more) separate poly streams, one conventionally from MIDI_In and the other perhaps generated internally by pre-loaded MIDI instructions, and I need them to correctly interract with each other. If I'm correct about the ordering thing then I guess I can rely on the premise that if I generate things in the same order in both streams they will have the same note indexes if I later address them in parallel using a poly pitch number.
Or am I on completely the wrong track here ??
Thanks for any enlightenment on this subject.
In fact I make various assumptions, but it would be good to have them verified (or not!) ..
For example - if say 10 MIDI note_ons arrive one after the other I assume that their MIDI Note No. & their order is logged, and that the 10 entities into the poly stream keep this information while the notes are active, so that any processing further down acts upon the correct note. Is that how it works?
I only ask because for my next project my current plan is to attempt to generate two (possibly more) separate poly streams, one conventionally from MIDI_In and the other perhaps generated internally by pre-loaded MIDI instructions, and I need them to correctly interract with each other. If I'm correct about the ordering thing then I guess I can rely on the premise that if I generate things in the same order in both streams they will have the same note indexes if I later address them in parallel using a poly pitch number.
Or am I on completely the wrong track here ??
Thanks for any enlightenment on this subject.
-
HughBanton - Posts: 265
- Joined: Sat Apr 12, 2008 3:10 pm
- Location: Evesham, Worcestershire
Re: help with poly data format
I’m not an expert by any means but I think I can answer your question and maybe others can correct me if necessary.
You are correct about the key value holding until all envelopes in the opened channel have completed. One implication of this is, for instance, if you set a long release time for a filter ADSR but a short one for the amplitude the channel will stay open until the longer one has finished. This means your CPU will build up very fast as you play notes, even though the sound itself will be shorter. The system will be waiting for the longer ADSR to end its release so the channel can be closed. This behaviour can be overridden by de-selecting the Hold option for the ADSR. In this case the ADSR will be stopped dead the moment a key is lifted. I never found a practical use for this but the option is there.
To get any sound in a poly system you need a channel to open, otherwise nothing. For this you have to route any MIDI data through a MIDI/Voice Prim system. This is how the software knows a channel needs to be opened.
I found you can mix MIDI data in Flowstone and it seems to take care of buffering etc. Just connect everything to the MIDI input. This means you can have more than 1 source of MIDI data going into a MIDI prim and means that you could run a MIDI sequence into the prim and play along with it from your MIDI keyboard, in parallel.
Cheers
Spogg
You are correct about the key value holding until all envelopes in the opened channel have completed. One implication of this is, for instance, if you set a long release time for a filter ADSR but a short one for the amplitude the channel will stay open until the longer one has finished. This means your CPU will build up very fast as you play notes, even though the sound itself will be shorter. The system will be waiting for the longer ADSR to end its release so the channel can be closed. This behaviour can be overridden by de-selecting the Hold option for the ADSR. In this case the ADSR will be stopped dead the moment a key is lifted. I never found a practical use for this but the option is there.
To get any sound in a poly system you need a channel to open, otherwise nothing. For this you have to route any MIDI data through a MIDI/Voice Prim system. This is how the software knows a channel needs to be opened.
I found you can mix MIDI data in Flowstone and it seems to take care of buffering etc. Just connect everything to the MIDI input. This means you can have more than 1 source of MIDI data going into a MIDI prim and means that you could run a MIDI sequence into the prim and play along with it from your MIDI keyboard, in parallel.
Cheers
Spogg
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
2 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 56 guests