n0nx0x2

Discuss mods, hacks, tweaks, etc.

Moderators: altitude, adafruit_support_bill, adafruit, phono, hamburgers

Please be positive and constructive with your questions and comments.
User avatar
antto
 
Posts: 1636
Joined: Thu Apr 15, 2010 3:21 pm

Re: n0nx0x2

Post by antto »

it actually can, but only in A mode

3phase
 
Posts: 203
Joined: Wed Apr 22, 2009 2:06 pm

Re: n0nx0x2

Post by 3phase »

sounds good.. what is the catch?

User avatar
rv0
 
Posts: 395
Joined: Tue Jul 14, 2009 4:50 pm

Re: n0nx0x2

Post by rv0 »

3phase wrote:sounds good.. what is the catch?
no reason to think there's a catch about it

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

User avatar
BassKa
 
Posts: 2
Joined: Mon Oct 06, 2014 5:52 pm

Re: n0nx0x2

Post by BassKa »

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

User avatar
antto
 
Posts: 1636
Joined: Thu Apr 15, 2010 3:21 pm

Re: n0nx0x2

Post by antto »

yes, MIDIPLAY mode was modified in v2.10
v2.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.
now let me explain, it's a bit long but i've been asked a bunch of times about this issue already


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

User avatar
antto
 
Posts: 1636
Joined: Thu Apr 15, 2010 3:21 pm

Re: n0nx0x2

Post by antto »

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

User avatar
BassKa
 
Posts: 2
Joined: Mon Oct 06, 2014 5:52 pm

Re: n0nx0x2

Post by BassKa »

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

User avatar
human fly
 
Posts: 55
Joined: Sat Feb 19, 2011 8:21 am

Re: n0nx0x2

Post by human fly »

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.

User avatar
antto
 
Posts: 1636
Joined: Thu Apr 15, 2010 3:21 pm

Re: n0nx0x2

Post by antto »

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

3phase
 
Posts: 203
Joined: Wed Apr 22, 2009 2:06 pm

Re: n0nx0x2

Post by 3phase »

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
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.

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.

User avatar
antto
 
Posts: 1636
Joined: Thu Apr 15, 2010 3:21 pm

Re: n0nx0x2

Post by antto »

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
the MIDI IN/OUT implementation is now changed in the new version (2.11)
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

3phase
 
Posts: 203
Joined: Wed Apr 22, 2009 2:06 pm

Re: n0nx0x2

Post by 3phase »

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...

User avatar
rv0
 
Posts: 395
Joined: Tue Jul 14, 2009 4:50 pm

Re: n0nx0x2

Post by rv0 »

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 ;)

3phase
 
Posts: 203
Joined: Wed Apr 22, 2009 2:06 pm

Re: n0nx0x2

Post by 3phase »

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.

User avatar
aminoacid
 
Posts: 352
Joined: Tue Jun 20, 2006 5:27 am

Re: n0nx0x2

Post by aminoacid »

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!!!

Locked
Please be positive and constructive with your questions and comments.

Return to “x0xm0dz”