n0nx0x2
Moderators: altitude, adafruit_support_bill, adafruit, phono, hamburgers
Please be positive and constructive with your questions and comments.
- antto
- Posts: 1636
- Joined: Thu Apr 15, 2010 3:21 pm
Re: n0nx0x2
it actually can, but only in A mode
- rv0
- Posts: 395
- Joined: Tue Jul 14, 2009 4:50 pm
Re: n0nx0x2
no reason to think there's a catch about it3phase wrote:sounds good.. what is the catch?
refer to the manual for explanation: http://antonsavov.net/cms/projects/n0nx ... html#mtrig
in this mode, you also trigger the patterns with midi, a perfect mode for external/computer control
- BassKa
- Posts: 2
- Joined: Mon Oct 06, 2014 5:52 pm
Re: n0nx0x2
Hello there,
I got a problem with the last version n0nx0x 2.10 which I didn't have with 2.09....
It's with the Midi play function : for playing my last live, I decided to sequence my xoxbox with ableton live. I wrote midi clips in my DAW and when I was under n0nx0x 2.09, my xoxbox played them perfectly but since n0nx0x 2.10, it doesn't work at all. It seems to play just the first note with an endless slide/release until sound disappears completely.
I tried to go back to 2.09 and everything went back ok...
Did you change something with the external midi play menu ?
Do I have to rewrite my midi clips in an other way ?
Thanks for your help
I got a problem with the last version n0nx0x 2.10 which I didn't have with 2.09....
It's with the Midi play function : for playing my last live, I decided to sequence my xoxbox with ableton live. I wrote midi clips in my DAW and when I was under n0nx0x 2.09, my xoxbox played them perfectly but since n0nx0x 2.10, it doesn't work at all. It seems to play just the first note with an endless slide/release until sound disappears completely.
I tried to go back to 2.09 and everything went back ok...
Did you change something with the external midi play menu ?
Do I have to rewrite my midi clips in an other way ?
Thanks for your help
- antto
- Posts: 1636
- Joined: Thu Apr 15, 2010 3:21 pm
Re: n0nx0x2
yes, MIDIPLAY mode was modified in v2.10
i don't know who was the first guy to implement MIDI input (with sequencer bypass) on a 303, or 303 clone, but whoever it was - he has decided to use Velocity for the Accent.
this is convenient, and somewhat logical, but wrong, IMO.
TB-303 patterns do not translate properly, specifically the accent.
a few examples:
1) a non-accented note with a slide, followed by the same note with accent
2) an accented note with a slide, followed by the same note without accent
the good news is that at least overlapping notes (playing legato) translates to slide properly.
now, for a proper translation, something else should be used for the accent.
i would think a MIDI CC perhaps
it only needs to be used as a boolean value, just "on" or "off"
however, since whoever decided to use Velocity for the accent - every MIDI implementation on a 303 (or clone, or emulation) does it the same way (i can't blame them)
the x0xb0x firmware does it that way too, same goes for n0nx0x up to v2.09
now, using MIDI CC for the accent might be complicated and inconvenient (from the user point of view)
so in n0nx0x v2.10 i decided to try and make a compromise
what i've done:
i use Velocity for the accent, but the code sepparates notes based on Velocity, in order to distinguish accented from non-accented, so that the same note (with different accent value) can be overlapped
this is a dirty compromise
it means that if you play a C-3 note with velo=100 - it's interpreted as a non-accented C-3 note
now you can also play a C-3 note with velo=127 (which will be accented), however, the device which is generating the midi notes must end both notes <- this is the weird/dirty part
and, i admit this is an ugly compromise
for example, my MIDI keyboard (CME UF60classic) has different velocity on the NoteON and NoteOFF, depending on how hard you press/release the keys
that means that playing legato on the keyboard results in stuck (technically slid) notes in n0nx0x v2.10 whenever the noteON accent value doesn't match that of the noteOFF
n0nx0x2 itself generates MIDI notes according to this, so if you play patterns on one n0nx0x2 machine and send the MIDI to another one, in MIDIPLAY mode - the patterns will perfectly translate
so, in your case, your DAW probably generates MIDI notes with NoteOFF velocity different than their NoteON velocity (which is perfectly normal)
and, i will have to remove this dirty solution, in the next version
the question is: what to do about it:
1) bring it back to the same implementation which everybody uses, where the accent doesn't translate well, but it's perfectly playable via a MIDI keyboard
2) implement the accent with MIDI CC or something equivalent, so that the accent translates well
now let me explain, it's a bit long but i've been asked a bunch of times about this issue alreadyv2.10 wrote:MIDIPLAY mode now uses the "midi-note-tracker" code to track up to 8 simultaneously held notes. Now one n0nx0x2 can drive another one with the MIDI notes. It's also possible to play the x0x via a MIDI keyboard in legato style.
i don't know who was the first guy to implement MIDI input (with sequencer bypass) on a 303, or 303 clone, but whoever it was - he has decided to use Velocity for the Accent.
this is convenient, and somewhat logical, but wrong, IMO.
TB-303 patterns do not translate properly, specifically the accent.
a few examples:
1) a non-accented note with a slide, followed by the same note with accent
2) an accented note with a slide, followed by the same note without accent
the good news is that at least overlapping notes (playing legato) translates to slide properly.
now, for a proper translation, something else should be used for the accent.
i would think a MIDI CC perhaps
it only needs to be used as a boolean value, just "on" or "off"
however, since whoever decided to use Velocity for the accent - every MIDI implementation on a 303 (or clone, or emulation) does it the same way (i can't blame them)
the x0xb0x firmware does it that way too, same goes for n0nx0x up to v2.09
now, using MIDI CC for the accent might be complicated and inconvenient (from the user point of view)
so in n0nx0x v2.10 i decided to try and make a compromise
what i've done:
i use Velocity for the accent, but the code sepparates notes based on Velocity, in order to distinguish accented from non-accented, so that the same note (with different accent value) can be overlapped
this is a dirty compromise
it means that if you play a C-3 note with velo=100 - it's interpreted as a non-accented C-3 note
now you can also play a C-3 note with velo=127 (which will be accented), however, the device which is generating the midi notes must end both notes <- this is the weird/dirty part
and, i admit this is an ugly compromise
for example, my MIDI keyboard (CME UF60classic) has different velocity on the NoteON and NoteOFF, depending on how hard you press/release the keys
that means that playing legato on the keyboard results in stuck (technically slid) notes in n0nx0x v2.10 whenever the noteON accent value doesn't match that of the noteOFF
n0nx0x2 itself generates MIDI notes according to this, so if you play patterns on one n0nx0x2 machine and send the MIDI to another one, in MIDIPLAY mode - the patterns will perfectly translate
so, in your case, your DAW probably generates MIDI notes with NoteOFF velocity different than their NoteON velocity (which is perfectly normal)
and, i will have to remove this dirty solution, in the next version
the question is: what to do about it:
1) bring it back to the same implementation which everybody uses, where the accent doesn't translate well, but it's perfectly playable via a MIDI keyboard
2) implement the accent with MIDI CC or something equivalent, so that the accent translates well
- antto
- Posts: 1636
- Joined: Thu Apr 15, 2010 3:21 pm
Re: n0nx0x2
i just had another idea, alternatively to MIDI CC, the accent can be done via an out-of-range MIDI Note
for example MIDI Note 0, which is too low for the 303 to play
the presence of that note will equal accent
i think this will be easier to sequence in a DAW's piano-roll (compared to using MIDI CC), and also in hardware polyphonic sequencers
for example MIDI Note 0, which is too low for the 303 to play
the presence of that note will equal accent
i think this will be easier to sequence in a DAW's piano-roll (compared to using MIDI CC), and also in hardware polyphonic sequencers
- BassKa
- Posts: 2
- Joined: Mon Oct 06, 2014 5:52 pm
Re: n0nx0x2
I understand. Thanks you for the explanation.
I will wait for the next version before updating, n0nx0x 2.09 works well for what I want to do now
I think using an out-of-range MIDI note to do the accent is a good idea ! ;)
Keep up the good work
I will wait for the next version before updating, n0nx0x 2.09 works well for what I want to do now
I think using an out-of-range MIDI note to do the accent is a good idea ! ;)
Keep up the good work
- human fly
- Posts: 55
- Joined: Sat Feb 19, 2011 8:21 am
Re: n0nx0x2
hi Antto,
just dug out my MAM MB33mkII and was driving it with the x0x,
it's not bad actually. the slides work well, as do accents. it always
sounded fairly unconvincing somehow writing sequences on the
computer. this is much better. the MB responds to velocity for
accents and treats overlapping notes as slides. can't remember
the velocity threshold offhand tho'.
did observe this though, with Sokkos2: no MIDI out in Edit pattern,
essential of course - and i suppose you'd want it with the CV+Gate
as well.
just dug out my MAM MB33mkII and was driving it with the x0x,
it's not bad actually. the slides work well, as do accents. it always
sounded fairly unconvincing somehow writing sequences on the
computer. this is much better. the MB responds to velocity for
accents and treats overlapping notes as slides. can't remember
the velocity threshold offhand tho'.
did observe this though, with Sokkos2: no MIDI out in Edit pattern,
essential of course - and i suppose you'd want it with the CV+Gate
as well.
- antto
- Posts: 1636
- Joined: Thu Apr 15, 2010 3:21 pm
Re: n0nx0x2
hm.. i just checked.. i have *some* sokkos2.0 source code, and i can see that it should be generating midi notes when playing patterns from pattern-edit mode
-
- Posts: 203
- Joined: Wed Apr 22, 2009 2:06 pm
Re: n0nx0x2
thats more like it, but it should´nt remove the accent via velocity convention but just add to it. For 95% of the cases the acc with the velocity works just fine and it represents completely what you write into the 303 with tab input.. There a not with accent will always only be on the first gate event.. The special cases you describe can only be produced with secondary edits.antto wrote:i just had another idea, alternatively to MIDI CC, the accent can be done via an out-of-range MIDI Note
for example MIDI Note 0, which is too low for the 303 to play
the presence of that note will equal accent
i think this will be easier to sequence in a DAW's piano-roll (compared to using MIDI CC), and also in hardware polyphonic sequencers
Main things that matter is what external synths can make out of that midi output..and how this handles in the editor..therefore velocity is the natural midi information to cause an accent.. just by nature and logic.. And midi editors are usually not build to pair note events with controlere events or even other notes and allows you to lock them together.. So all editing becomes a pain when abandoning the velocity convention.
Since only special programmed syntheziser could understand the special accents anyway i would suggest to apply the KISS principle..
You want to define a special velocity state.Than just use extra controllers for that special states.. the pressure command would be ideal for that. normal notes have their velocity accent trigger.. but when you hold a note and rise the pressure the secondary accent within the sustained note gets triggered..
that would work with live keyboard playing. in case velocity and pressure trigger threshold can be set by the user..
This should be implemented anyway.. different keyboards and keyboarders have different response..and especially pressure output differs a lot.. Anyway..pressure is the midi command to go for here. Its the only modulation you can create just with the keys that is not only transmitted at note start or release..
Last edited by 3phase on Sun Oct 26, 2014 11:49 am, edited 1 time in total.
- antto
- Posts: 1636
- Joined: Thu Apr 15, 2010 3:21 pm
Re: n0nx0x2
the MIDI IN/OUT implementation is now changed in the new version (2.11)BassKa wrote:I understand. Thanks you for the explanation.
I will wait for the next version before updating, n0nx0x 2.09 works well for what I want to do now
I think using an out-of-range MIDI note to do the accent is a good idea ! ;)
Keep up the good work
i also wrote some detailed info during the process
in few words: the algorithm i use in v2.11 is based on the "Modified MVA"
it's the best compromise as far as i can tell, should be playable via MIDI keyboards, and easy to sequence from other sequencers (DAWs too).
most importantly patterns fully translate, and it doesn't rely on NoteOFF-velocity
-
- Posts: 203
- Joined: Wed Apr 22, 2009 2:06 pm
Re: n0nx0x2
regarding the timing of a real 303
a real 303 on din sync is around 3 ms late. (plus what your midi / dinsync interface needs, maybe 0,5 ms )
The 303 has a somekind of micro shuffle apllied..it has a little process jitter but a clear shuffel that makes any second 16th note 0,75 ms late at 120 bpm.
This shuffled jitter is tempo dependend..at 60 bpm its not there..at higher tempos it gets more unregular..
accented notes are over 1 ms earlier.. since the xox does that too it must be related to the sound engine.. but raises the interesting question why it is doing that.
nonxox2 is a little earlier than an original 303, around 1 ms.... and plays without timing variation ..except the acc note early fx...
a real 303 on din sync is around 3 ms late. (plus what your midi / dinsync interface needs, maybe 0,5 ms )
The 303 has a somekind of micro shuffle apllied..it has a little process jitter but a clear shuffel that makes any second 16th note 0,75 ms late at 120 bpm.
This shuffled jitter is tempo dependend..at 60 bpm its not there..at higher tempos it gets more unregular..
accented notes are over 1 ms earlier.. since the xox does that too it must be related to the sound engine.. but raises the interesting question why it is doing that.
nonxox2 is a little earlier than an original 303, around 1 ms.... and plays without timing variation ..except the acc note early fx...
- rv0
- Posts: 395
- Joined: Tue Jul 14, 2009 4:50 pm
Re: n0nx0x2
0,75 ms? that sounds really irrelevant.
I bet it's impossible to get a constant reading from one 303, and if compared to other 303's the number will vary to.
Of course there's always bound to be differences, but in this case I don't think 0,75ms will be audible at all.
I tested once with n0nx0x driving a midified 303 vs the same pattern played from internal sequencer of a 303.. I could not hear any difference. I bet (due to midi cable length and stuff) there's more "variation" than 0,75 ms in that test ;)
I bet it's impossible to get a constant reading from one 303, and if compared to other 303's the number will vary to.
Of course there's always bound to be differences, but in this case I don't think 0,75ms will be audible at all.
I tested once with n0nx0x driving a midified 303 vs the same pattern played from internal sequencer of a 303.. I could not hear any difference. I bet (due to midi cable length and stuff) there's more "variation" than 0,75 ms in that test ;)
-
- Posts: 203
- Joined: Wed Apr 22, 2009 2:06 pm
Re: n0nx0x2
its not much.. but its part of some details that give a xox a different feeling. its sublime..but its there.. at least in my 303..and i found it worth mentioning. The settings for the cpu clock according to the service manual..why that tact frequency? I once needed to set the cpu clock on another machine higher too work properly with a shuffling midi>din sync interface. did´nt had any audible impact for me than.. But maybe the cpu frequency was chosen by roland to give the process delays a round feeling in the popular 120 bpm range? i dont know.. .
I havent tried yet what the minimal shuffle setting does for the xox.. whether that setting is more than 0,75 ms delay on the 2nd 16th? Would´nt hurt in my opinion if such a sublime shuffle would be available since it seems to be a "feature" of the original 303. In any case its not playing the 16th as accurately spaced and tight like the much faster xoxbox cpu.
but its no random jitter like midi jitter. Dependent on the tempo it has a pattern.. not nervous random.. rather relaxed..as faster you turn it as more lagged and un regular it gets..but at 120 bpm its on my machine a clear every second 16th a tiny bit later.. funny accident.
I havent tried yet what the minimal shuffle setting does for the xox.. whether that setting is more than 0,75 ms delay on the 2nd 16th? Would´nt hurt in my opinion if such a sublime shuffle would be available since it seems to be a "feature" of the original 303. In any case its not playing the 16th as accurately spaced and tight like the much faster xoxbox cpu.
but its no random jitter like midi jitter. Dependent on the tempo it has a pattern.. not nervous random.. rather relaxed..as faster you turn it as more lagged and un regular it gets..but at 120 bpm its on my machine a clear every second 16th a tiny bit later.. funny accident.
- aminoacid
- Posts: 352
- Joined: Tue Jun 20, 2006 5:27 am
Re: n0nx0x2
i have focused on the analogue parts of the 303/xoxbox latly so i havnt had the time to investigate nonxox.
when i hear that dinsync and midisync works like a clock i need to give that new cpu a try.
and how strange it is that all theese years i havnt realised that i have a 303 clone that cant play tied notes with out portamento..!
excited to program 303style!!!
when i hear that dinsync and midisync works like a clock i need to give that new cpu a try.
and how strange it is that all theese years i havnt realised that i have a 303 clone that cant play tied notes with out portamento..!
excited to program 303style!!!
Please be positive and constructive with your questions and comments.