What is KVR Audio? | Submit News | Advertise | Developer Account

Options (Affects News & Product results only):

OS:
Format:
Include:
Quick Search KVR

"Quick Search" KVR Audio's Product Database, News Items, Developer Listings, Forum Topics and videos here. For advanced Product Database searching please use the full product search. For the forum you can use the phpBB forum search.

To utilize the power of Google you can use the integrated Google Site Search.

Products 0

Developers 0

News 0

Forum 0

Videos 0

Search  

midi note state tracking problem

Official support for: sonicbirth.sourceforge.net

Moderators: dscro, makira

KVRer
 
24 posts since 19 Apr, 2011

Postby goldenhelix; Wed Apr 20, 2011 10:24 pm

i'm trying to design a very simple drum machine that has 8 slots, each one of which you can load an audio file into and have it triggered by the appropriate midi note (i am using c4-g4) using the midi state element. it works more or less, but the problem is that fast successions of hits on the same note will not trigger all trigger. i have gone into a midi sequencer and programmed just a fast stream of 16th notes. unless there is a somewhat significant gap in between each note, i have found, the next note may or may not trigger. this is telling me that probably:

1. the midi note state does not output its states quickly enough?

2. the audio player element is not scanning the trigger element fast enough?

3. the audio file is not buffering fast enough?


those are the things i could think of. if anyone can offer some help i'd appreciate it.
KVRer
 
24 posts since 19 Apr, 2011

Postby goldenhelix; Thu Apr 21, 2011 6:00 pm

looks like i'm the only one that uses this forum anymore. lol

again, to reply to my own post...

i haven't exactly figured out how to overcome this problem yet, but i have figured out one or two things. it is not an issue of the audio element not tracking quickly enough and it's not an issue of audio buffering quickly enough. it's definitely the midi note state device and, in fact, how sonicbirth deals with midi states in general, i believe. i have managed to design a circuit that at least tracks faster than the standard midi note state element. it produces the exactly same 1 or 0 output upon midi input but the 0s for some reason don't need to be as long in duration for the following 1 to register. it does not solve the issue of "butted notes", where the end of one note is at the beginning of the next note. it just sustains the 1 state through that transition, rather than immediately sending a 0 and then another 1.
KVRer
 
24 posts since 19 Apr, 2011

Postby goldenhelix; Mon Apr 25, 2011 1:26 am

more info here after doing more tests. all my tests thus far had been done using ableton live as a host. i tried using different circuits controlled by the different midi arguments and discovered a few things about tracking. basically, there are three ways of triggering either an audio file or a generator (be it sine, square, etc.): midi note state, midi multi note and midi single note. for the purpose of what i'm trying to demonstrate i'm going to ignore the single midi note. the list below demonstrates the different behavior of circuits with their respective midi sources in capital letters, the element it is controlling and the the host involved. 'no' indicates that quick successions of notes don't track properly and 'sustain' indicates that contiguous notes will produce a sustained value for the duration of the group of notes. 'random' indicates that in these situations, some stray notes will trigger properly but mostly it will sustain. 'yes' indicates that the behavior is as should be expected.


MIDI NOTE STATE:

ableton

audio no (sustain)
generator no

cubase

audio no (partial/random)
generator no


MIDI MULTI NOTE-DERIVED CIRCUIT:

ableton

audio no (sustain)
generator yes

cubase

audio yes
generator yes


as you can see, there are two curious things:

1. midi note state isn't very good compared to midi multi note
2. ableton apparently treats internal midi signals differently than (perhaps even inferiorly to) cubase.

it is as if ableton thinks it can set the end of one note and the beginning of another of the same note to the exact same time value, whereas cubase will set the end of the first note to be the maximum value possible that is less than the value of the next note.

Moderators: dscro, makira

Return to SonicBirth