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

Re: n0nx0x beta

by antto on Fri Jun 28, 2013 8:15 am

that video wasn't very nice
i recorded a better one, added annotations: http://www.youtube.com/watch?v=5cIkYYw5JEs
i'm programming this silly pattern, which demonstrates the power of the 303 sequencer

this is a 4-bar long pattern (64 steps)
it has only 28 "notes"

just imagine how you'll program this pattern in the stock firmware or sokkos
if that isn't enough, check how i repositioned all notes and changed their durations completely via going to Tap-Write mode the 2nd time

this is what the 303 sequencer can do, it's very different ;]
We are here too: irc.freenode.net >>> #x0xb0x
..:: c0nb0x v1.00 ::.. http://forums.adafruit.com/viewtopic.php?f=7&t=29282 (new control app - win/osx)
VCO Tuning: http://forums.adafruit.com/viewtopic.php?f=12&t=24759 (do it the EASY way)

antto
 
Posts: 1590
Joined: Thu Apr 15, 2010 3:21 pm
Location: 127.0.0.1

Re: n0nx0x beta

by dnigrin on Fri Jun 28, 2013 9:36 am

Very nice!!! So does this require the new CPU?
Dan Nigrin - Defective Records
CycliC, M185 & Klee Sequencers / MC-202 & MC-4 Hack / Jack OS X / Major Malfunction / PC-1600 User
http://www.defectiverecords.com
http://www.jackosx.com
dnigrin
 
Posts: 122
Joined: Fri May 15, 2009 5:24 pm

Re: n0nx0x beta

by antto on Fri Jun 28, 2013 10:10 am

yes, it does

currently n0nx0x2 is 30kB, there's no way this'll fit in 15.5kB on the old cpu ;]
We are here too: irc.freenode.net >>> #x0xb0x
..:: c0nb0x v1.00 ::.. http://forums.adafruit.com/viewtopic.php?f=7&t=29282 (new control app - win/osx)
VCO Tuning: http://forums.adafruit.com/viewtopic.php?f=12&t=24759 (do it the EASY way)

antto
 
Posts: 1590
Joined: Thu Apr 15, 2010 3:21 pm
Location: 127.0.0.1

Re: n0nx0x beta

by dnigrin on Fri Jun 28, 2013 10:23 am

Got it, thanks. Appreciate your efforts on this, and Altitude and darffader and whomever else is involved's efforts on the CPU stuff!
Dan Nigrin - Defective Records
CycliC, M185 & Klee Sequencers / MC-202 & MC-4 Hack / Jack OS X / Major Malfunction / PC-1600 User
http://www.defectiverecords.com
http://www.jackosx.com
dnigrin
 
Posts: 122
Joined: Fri May 15, 2009 5:24 pm

Re: n0nx0x beta

by 3phase on Sun Jan 19, 2014 12:41 pm

Hello, what is the status with the goal to make a more 303 like os? Any progress in the syncing?

A CPU upgrade is mandatory as i understand reading the last entries. How much is such a cpu upgrade and are they a puchaseable reality by now or hard to come by?
3phase
 
Posts: 197
Joined: Wed Apr 22, 2009 2:06 pm

Re: n0nx0x beta

by antto on Sun Jan 19, 2014 1:50 pm

http://antonsavov.net/cms/projects/n0nx0x2.html
sync is a main priority, i test it as much as i can, but i still rely on other people to test with roland dinsync machines
and yes, there is now an obtainable cpumod
We are here too: irc.freenode.net >>> #x0xb0x
..:: c0nb0x v1.00 ::.. http://forums.adafruit.com/viewtopic.php?f=7&t=29282 (new control app - win/osx)
VCO Tuning: http://forums.adafruit.com/viewtopic.php?f=12&t=24759 (do it the EASY way)

antto
 
Posts: 1590
Joined: Thu Apr 15, 2010 3:21 pm
Location: 127.0.0.1

Re: n0nx0x beta

by xlarge on Mon Jan 20, 2014 1:20 pm

The x0xlarge is still available at http://yhype.com/x0xlarge
xlarge
 
Posts: 151
Joined: Wed Jul 11, 2007 2:02 pm

Re: n0nx0x beta

by 3phase on Tue Jan 21, 2014 7:04 pm

Interesting, maybe i should get such a bigger cpu? .. Problem is that i dont use my xoxbox anymore because the sequencer sucks so much for my taste.

But without sync to other machines a 303 sequencer is not very usefull..So i couldnt make much use of the original non xox beta..

What is the problem now with the sync? Still the same or allready improoved? cant you measure if it works or not?
I va done a reaktor ensemble to measure timing..when you have reaktor i could send that ensemble to you.

I studied a bit sync problems of different machines. Problems often occur when the syncing and audio event timing is not at the root of the software structure but implemented last.
It can happen than that to many interupts before the sync routine screw up the timing of the sync slave or the clock output.. in most cases booth are jittered than or react with glitches when the pannel is beeing operated..
So in ideal the sync and timing services come first and have priority over all other routines..

A feature that is missing in allmost any machine on the market except is a sync offset..
Many timing problems are not jitter related but because a machine is to early or late in relation to others..

I would think that a syncmode that dejitters incoming clocks and generates an own internal clock with a phase locked loop out of it, would be better than a direct reaction n the external clock ticks..

this generated intenal clock can than be freely modified with an own swing factor or be shifted earlier ! and later relative to the incoming clock.. Also positioning is possible since a counter fro the incoming clockticks gives a fixed position relative to the start command.. so a lot of stuff would be posiible like a start mode that jumos automatical in on the next one..

In general different sync modes and clock shiffting would be luxury functions that would make a xox box atractive in comparison to a real 303..

Do you think that the nonxox might develop into such a "more than a 303" direction?

But ok.. more important is the "just like a 303" aspect..and that just needs beeing straight on the clock..and not too late.. ..original 303 is not the fastest machine under roland dyn sync but not the slowest.. i think its around 1,5 ms late regading the clock.. but nt sure.. is too long ago that i ve measured that..

One other thing regarding new 303 os versions that often is forgotten is the behaviour of the machine in the stopped mode. The original 303 has to be stopped all the time to get into the write mode and change the write modes..

Since it is an improvement to design a new os without the need to stop the sequencer for that, its usually overseen that the stopped state allows to rehearse what you are about to write. Thats very important to actually compose with a sequencer by trying/playing..

So a non stop operation would need a rehearse mode. A mode like an empty pattern where you just hear the keys you press without actually writing them..so you can find the pitches and timing you want to write into the note buffer on the running track..than you go into the actual write mode and repeat the pitches you just have decided for.. than you go to tap input and play the time sequnce in realtime as you just have done it during rehearse.. on each press of the tap button one of the pitches you just wrote before is played.. when you have done everything right you just hear the same sequence as you have found during rehearse and have it completly written..

Thats the way the 303 sequencer is written most quickly and after the musicans will..

To achieve that on a clone we need the clone to behave in stop and on restart just as the real 303.. ( with the real 303 you use switchable sync cables to achive an independent stop and start) ..but that means that you can play the keys in stoped mode and have sound output.. There are 303 alikes out there that get silenced when beeing stopped for example..

Or..you design it more modern in a no stop necessary fashion..as you maybe have choosen to do.. But than its necessary to have a virtual silenced mode to rehearse..

How have you dealt with that problem with the nonxox os?

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

Re: n0nx0x beta

by antto on Tue Jan 21, 2014 8:16 pm

i cannot test all sync modes myself
i can only test MIDISync and dinsync between 2 x0xes (that's what i have)
but dinsync between x0x and another dinsync device has to be tested by someone else (303/606/808/...)
it's easy to make my firmware slave nicely to itself, but that's not the point


the main goal of this firmware is the 303 interface, which is more or less complete, see the link i posted above, and perhaps scroll down a bit..
the other goal is to make the x0x "better" as both a master and slave


i cannot be responsible for the latency of other machines, i have no control over that
n0nx0x2 slaves to the clock ticks without trying to be uber smart
re-generating the clock in order to prevent jitter is not the job of a x0xb0x
one shouldn't be using a jittery clock to begin with, and if that has to be smoothened - there should be some dedicated device which does specifically that
which sequencer device (drum machine or so) does that? i can't think of any


shuffle (shuffled clock) is too problematic, specifically at fast BPMs it is technically impossible to drive a 303 from the resulting dinsync
example:
300 BPM - dinsync tick period is 4.1666ms
150 BPM - max shuffle virtually makes the effective BPM alternate between 75 and 300 BPM, that's already touching 300 BPM
300 BPM - max shuffle -> 150 and 600 BPM effectively - there
600 BPM - dinsync tick period is 2.08333ms - a TB-303 will probably go out of sync, afaik poll rate is about 2ms with tollerance

midi2dinsync conversion from a shuffle midi clock is also problematic due to the same issues
i can make the x0x poll faster than a 303, but that won't make the 303 poll any faster


the x0x internal clock doesn't jitter
i've probed the dinsync-clock-out with the soundcard - it's aliasing but isn't jittering... well, it can't jitter, doh
We are here too: irc.freenode.net >>> #x0xb0x
..:: c0nb0x v1.00 ::.. http://forums.adafruit.com/viewtopic.php?f=7&t=29282 (new control app - win/osx)
VCO Tuning: http://forums.adafruit.com/viewtopic.php?f=12&t=24759 (do it the EASY way)

antto
 
Posts: 1590
Joined: Thu Apr 15, 2010 3:21 pm
Location: 127.0.0.1

Re: n0nx0x beta

by antto on Tue Jan 21, 2014 8:19 pm

perhaps, if you have better ideas - get a cpumod and make your own FW
it's very doable now.. 256kB of program space and a nice bootloader on board
We are here too: irc.freenode.net >>> #x0xb0x
..:: c0nb0x v1.00 ::.. http://forums.adafruit.com/viewtopic.php?f=7&t=29282 (new control app - win/osx)
VCO Tuning: http://forums.adafruit.com/viewtopic.php?f=12&t=24759 (do it the EASY way)

antto
 
Posts: 1590
Joined: Thu Apr 15, 2010 3:21 pm
Location: 127.0.0.1

Re: n0nx0x beta

by 3phase on Tue Jan 21, 2014 8:42 pm

yep.. true.. the guys that program 303 style operating sytems all have never really worked wih a 303 and forget really important stuff.. like no tap input on the TT bass bot.. the totally wrong original sequencer of the xox, missing rehearse mode with quicksilver, or your early versions that didnt synced at all.
But i probably just sell my xox and go original 303 os on a real 303 again

beside that there is nothing übersmart with propper sync algos.. ist rather primitiv to stay behind 1980 designs with modern cpu´s.. i agree that dejittering is not the job of a slave machine..but the ability to shift the onstart point is a major flaw since decades and überignorant of all the gear manufactors to leave it to the user to deal with that. For example korg electribes.. horrible late…. thats ok when you work with a daw and its internal latencies..but not when working with a xoxbox or other machine that just syncs as quickly as possible..

So even when its extra effort..and needs some smart programming.. its a very usefull feature, allmost essential..one every drummachine should have..and hopefully this will become a standard one day.. The MFB tanzbär has it..but i bet that the new elektron is still in the last century regarding that detail.

Only solution for now..expensiv sync shifters.. or multiple midi interfaces and ableton live wher you can offset the clock for each interface.. booth a major hazzle in comparison to a few lines of code..

a very easy implementation would be just to have very fast and direct syncing by giving that routine priority..and add a fixed offset time to the clock position..so no shifting earlier..i agree..that needs to be a little übersmart like the acme and mfb programmer, . Just a fast syncing and a later shift..

when every machine would have that easy to implement later shift we wouldnt have any problems to make them run together..

Also for you nonxox os.. when midi and din sync works tight timingwise..the only thing that can go wrong is the onstart offset in between the machines..so the uncertainty you have regarding dinsync to din sync wouldnt be an issue when this onstart offset would be adjustable.

anyway.. in case i decide to give it a shot and upgrade my cpu i can test the din sync with another 303 or 808. but this is not so easy with the real rolands anyway.. 808 and 303 dont sit together so nicely anyway since the 808 is very early and the 303 rather late.. having them boot s sync slave to a maste works better than din syncing them to each other. As said before, the offsets are the main problem..not the jitter since ther is allmost no jitter in a din synced system..
3phase
 
Posts: 197
Joined: Wed Apr 22, 2009 2:06 pm

Re: n0nx0x beta

by 3phase on Tue Jan 21, 2014 9:03 pm

and regarding the shuffle.. i patched a lot of shuffles for reaktor or nord modular.. and think its a mistake to rape the clock to generate a shuffle.. the clock should be straight.

but..when you add a routine to do a offset for the actual envelope triggers ..to shift the timig ..you can create the shuffle by just applying this delay only to every second 16th note. thats gives less hazzle than trying to apply shuffle on clock level. just because the 6 times bigger space between the pulses.. shuffeling on clocklevel easily looses a clock when the delay gets to big.

And also for the offset delay..dont do i at the actual clock..do it at a later point.. delay the actual envelope triggers.

so before the actual envelope triggers one fixed delay. . in between 0 and 5 ms maybe in 0,1 -0,2ms steps.. so you delay the actual note output.


i personally dont think a shuffel is really necessary on a 303.. but can be nice never the less.. in any case you have more space between the pulses to operate when you work in the 16th domain and not on the single clocks..

The abillity to make the 303 timing later can be way more valuable than a shuffle.. but only when the general reaction on the incoming clock and start comand is very fast.. when the machine is late allready it dont makes much sense to make it even later.. but when its early..like an 808 for example.. you can run well with an original 808..but also with added 3ms delay with an electribe.. That would be definitely a powerful enhancement. just.. is it possible to get it as quick on the incoming clock as a 808?
3phase
 
Posts: 197
Joined: Wed Apr 22, 2009 2:06 pm

Re: n0nx0x beta

by antto on Tue Jan 21, 2014 10:04 pm

adding the ability to shift/delay the whole timing of a machine shouldn't become standard in new machines
new machines should just react to the clock immediately.

the MIDI device i have is exactly a korg ES-1
it's not terribly late as far as i can tell, but certainly, you cannot expect it to be very fast, since it's all DSP, and that means audio buffers, and so on.. it's basically a soundcard running at 32kHz with audio in and out, and realtime processing

i don't have an 808, i don't know what you mean about it

why don't you just get a TB-303?
there isn't anything 1:1 identical to it
We are here too: irc.freenode.net >>> #x0xb0x
..:: c0nb0x v1.00 ::.. http://forums.adafruit.com/viewtopic.php?f=7&t=29282 (new control app - win/osx)
VCO Tuning: http://forums.adafruit.com/viewtopic.php?f=12&t=24759 (do it the EASY way)

antto
 
Posts: 1590
Joined: Thu Apr 15, 2010 3:21 pm
Location: 127.0.0.1

Re: n0nx0x beta

by 3phase on Tue Jan 21, 2014 10:13 pm

i ve the es-1 too.. its the latest of all drum machines,.. around 3,5 ms late..when you design the nonxox to run with an es-1 its too late to run with a 808..

but good to know..so i dont waste money on this.

however, in case you want to do it good and not just suited to your prsonal setup.. make the nonxox be much earlier on the start than the es-1 and deal than with it with a offset delay parameter..which of cause should become a standard for all machines..you said it yourself..some are dsp machines..and naturally more late than an all analog 808.. or just high samplerate dsp machines like nord modular or elektron machine drum..which are booth earlier than the es-1 someweher in the middle between the es-1 and the 808..

So when every machine just trys to be as early as possible we have a problem.. than they are all different.. And thats the reality we have to deal with now.

besides..what is as fast as possible? when your nonxox is as late as a es-1 its most likely not as fast as possible..logically correct,or?
3phase
 
Posts: 197
Joined: Wed Apr 22, 2009 2:06 pm

Re: n0nx0x beta

by antto on Tue Jan 21, 2014 10:29 pm

who said n0nx0x is as late as the ES-1?

if you think it's so easy - why don't you pick the code up and make it properly?
or just buy the 303

do you realize that you're complaining about something you can get for free, and you haven't even tried whether it's late or not

i don't exactly love this ES-1, but that's what i got
if it was open-source - i would surely attempt to fix the things that i hate about it and make it better
and with that i don't mean the latency, because that's probably not doable, but other little things, like the lack of pattern-clear function and so on..
but since that won't happen, i would gladly replace the ES-1 with something better, if i get the chance
We are here too: irc.freenode.net >>> #x0xb0x
..:: c0nb0x v1.00 ::.. http://forums.adafruit.com/viewtopic.php?f=7&t=29282 (new control app - win/osx)
VCO Tuning: http://forums.adafruit.com/viewtopic.php?f=12&t=24759 (do it the EASY way)

antto
 
Posts: 1590
Joined: Thu Apr 15, 2010 3:21 pm
Location: 127.0.0.1

Please be positive and constructive with your questions and comments.