electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » Clavia Nord Modular » Wish List
Give voice standard way to react on note stealing(soft mute)
Post new topic   Reply to topic Moderators: Nord Modular Editors
Page 2 of 2 [34 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Goto page: Previous 1, 2
Author Message
3phase



Joined: Jul 27, 2004
Posts: 1183
Location: Berlin
Audio files: 13
G2 patch files: 141

PostPosted: Sun Mar 19, 2006 5:15 pm    Post subject: Reply with quote  Mark this post and the followings unread

I see..too bad...
I dont have click issues too often...but like usually you only get in contact with the phenomen when it has a disturbant quality... higher voicecounts helped when possible.
It´s pretty likely that clavia has choosen the best possible compromise regarding such lowlevel structures.. The have quite some experiance in building digital keyboards. And as it was stated here... clicks happen in other products aswell...
Seems to be an issue that is not likely to be solved...Maybe we have to live with that one...
Exept...again the allocation modes..having changes there might offer solutions in some cases ..like for example the held chord over a runing sequence example again...when the voice dont gets stolen you can program the sequencer/patch in a way that the voice has decayed to zero before you trigger the next event, what should result in a no click situation.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
selvmarcus



Joined: Feb 08, 2006
Posts: 121
Location: Berlin, Germany
G2 patch files: 39

PostPosted: Sun Mar 19, 2006 7:13 pm    Post subject: Reply with quote  Mark this post and the followings unread

Sorry folks, I cannot think tonight.

I had two errors in my last posting. Luckily, nobody was noticing! Smile
First, MIDI raw speed is 31.5 kbaud/second. With 10 bits for a byte (some
housekeeping) this gives 3000 midi bytes per second or 0.3 ms per
byte. So that´s the basic "jitter" or maximum time, a single byte can
be late. Software in synths adds up to this. Also you have to transmit
3 bytes for a note-message, giving 1 ms total delay at least.
Even if an Akai MPC may be super-accurate when triggering its internal
samples from his internal sequencer, it cannot be better than 0.3 ms
when controlling other gear. Only to put things in perspective.

Also, BPM means beats-per-minute, that is quarter-bars, not bars.
So we have maybe 12 notes per second, or something like
80 ms duration.

Anyway, the latency from note pre-emption should be adjustable!
And the way of shutting down or moving to the new note
(think polyphonic glide etc.) too.

That´s my point here.


-----
Marcus
Back to top
View user's profile Send private message Visit poster's website
selvmarcus



Joined: Feb 08, 2006
Posts: 121
Location: Berlin, Germany
G2 patch files: 39

PostPosted: Sun Mar 19, 2006 8:38 pm    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:
Quote:

a very short fade out will act as am modulation (mostly because it actually *is* am modulation ;¬) ). So; I'd like to keep that out of the audible range.


Right. And this AM is exactly what we perceive as an high overtone-rich
"kck". Let´s say we have an AM going of 1 kHz, equals wavelength
of 1 ms. We get new overtones 1 kHz above and below.
No big deal if only for one ms, cause it will not really separate
from the existing spectrum. But now we do it in 0.1 ms. 10 kHz above
appears our new spectrum. The ears will notice something
special has happenend, if there is not a lot going on already in
this range.

The moral: The simpler/lower the spectrum of the voices signal,
the longer has the fadeout/muting/latency to be.

-----
Marcus
Back to top
View user's profile Send private message Visit poster's website
Rob



Joined: Mar 29, 2004
Posts: 580
Location: The Hague/Netherlands/EC
G2 patch files: 109

PostPosted: Mon Mar 20, 2006 10:27 am    Post subject: Reply with quote  Mark this post and the followings unread

selvmarcus wrote:
sven wrote
but midi hardware resolution is about 0.3 ms.
so normal note on (3 byte message) can be 0.5 ms off anyway.

Marcus


(Edit: Sorry Marcus, my post crossed yur last post)

Its worse, one MIDI byte takes about 0.31 msec. Clock is 31250 Hz and each byte is 10 clock ticks. But each note on/off command is three bytes. So it takes 0.93 msec to send the three byte note command over MIDI. Running status can reduce the command to two bytes, but running status is not used much.

Still, there is some room here, e.g. after the first byte is received the system knows it needs to either play a note or silence a note (when velocity is zero). It can now figure out which voice needs to be stolen if a new note is to be played.

To be sure the system has to wait for at least one more byte: for the note number value. After this byte it should be possible to define if a voice has to be stolen or a sounding voice has to be retriggered with its already pending note value. Would still leave 0.31 msec for a decay to muffle the click.

If a note command is received for an already playing note and the velocity is zero it means that that voice only needs to go into its normal decay and no other voice needs to be stolen, so everything is hunky dory.

So, my guess is that a 0.31 msec decay could be used to silence a voice before it is being stolen, as after two bytes the system can know if the received command applies to a note number that is already playing or if it is a totally new note for which a voice has to be stolen. In this last case a short 0.31 msec decay can be applied.
That 0.31 msec is some 29 samples at 96kHz. Of course the decay would need to have a 'square root' shape and no 'exp' shape for best 'anti-click' behaviour. Still, the new note would have no more latency as the 0.93 msec implied by the MIDI baudrate.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ian-s



Joined: Apr 01, 2004
Posts: 2669
Location: Auckland, New Zealand
Audio files: 42
G2 patch files: 626

PostPosted: Mon Mar 20, 2006 11:23 am    Post subject: Reply with quote  Mark this post and the followings unread

I'm not sure that the whole vel=0=note off thing was a good idea in the midi spec. It may improve running status in some cases but if sending devices don't use the dedicated note off command, then the whole concept of release velocity goes out the window.
Back to top
View user's profile Send private message
Rob



Joined: Mar 29, 2004
Posts: 580
Location: The Hague/Netherlands/EC
G2 patch files: 109

PostPosted: Mon Mar 20, 2006 12:10 pm    Post subject: Reply with quote  Mark this post and the followings unread

g2ian wrote:
I'm not sure that the whole vel=0=note off thing was a good idea in the midi spec. It may improve running status in some cases but if sending devices don't use the dedicated note off command, then the whole concept of release velocity goes out the window.


Well, think 1982 and 8-bit microcontrollers running at 1 MHz and programmed in assembly in preferrably 16kB of ROM. There was a few bytes and cycles to be gained by using the zero velocity thingy.

Just think how people in the year 2030 will laugh at our crude current 2006 attempts on things that will then be so elegantly solved by solutions we do not even have the slightest idea about what it will be, just that it will be totally different from everything we take for granted right now.

Still, when I was a young boy I sort of understood that in the year 1996 I would just walk into some sort of phone boot at the corner, dial some number and immediately step out at the corner of your street to have a nice cup of coffee with you. I'm pretty disappointed that I still have to sit and wait in the stinking traffic jam for an hour just to advance three miles or so. And if I would want to have coffee at your place I would have to fly for twentyfour hours while being poked in the arse by anti-terrorist security people on every stop during the flight, just because my fav musical instrument happens to have an aerial and a red button.

(Spock said logic predicts, but as normally all predictions utterly fail it is better to accept that logic only belongs to the virtual realm of the imagination (a place better known as Neverneverland). Which does not mean creationists are right. Still, if creationists would happen to be right then hell must actually have been a piece of heaven set fire to by the sorts like me that realize that if there were such a creator it would be the most cruel and sadistic creature to ever roam the universe and his place would deserve to be burned down and shot to oblivion by genuine US Army uranium-enriched bullets and shells.)

I hope you get the fine point of my irony. Wink

Luckily it is easy to immensely enjoy the imperfection of all thingies known to man, e.g. amongst other toys I love the G2 just for what it is... Very Happy
Back to top
View user's profile Send private message Send e-mail Visit poster's website
3phase



Joined: Jul 27, 2004
Posts: 1183
Location: Berlin
Audio files: 13
G2 patch files: 141

PostPosted: Mon Mar 20, 2006 1:12 pm    Post subject: Reply with quote  Mark this post and the followings unread

selvmarcus wrote:
Even if an Akai MPC may be super-accurate when triggering its internal
samples from his internal sequencer, it cannot be better than 0.3 ms
when controlling other gear. Only to put things in perspective.

-----
Marcus


True.. i only measured the response of the internal sequencer regarding an incoming midiclock... Its however important when latencie on midi note commands go up that the clock is handled still on time and dont shares the "anticlick" latencie...

It would be good if there would be an adjustable delay on system level that allows to shift the global clock and therefore the synced lfo´s,delays,and apregiator with it.
This way you can delay the MPC one tick and perfectly allign the G2 to it.
Than there would be plenty of timing headroom to perform any kind of anti clicking.

I totally agrre that with keyboard played sounds a little latency is acceptable...its just for the drum section where you dont want to get grooves altered if not wanted..late high hats sound tired for example...
And the G2 is great for high hats...

When i use softsynths i usually dont like latencies under 3 ms because it starts to feel unnatural fast... above 6 ms i feel late...

Anyway..The G2 feels a bit late to me when i play the keyboard...
Am i haluzinating? or is this a new feature in 1.4?..
I just havent played it in the first month of the year and was a bit irritated... Is it possible that removing the editor connection fasten it up?
Its all very subtile..
hard to measure...maybe with a contact mic that records the sound of the keypress on one channel and a gate click from the g2 on the other...
hmm Confused.. still not 100% accurat... but might give an indication if something has changed during the updates...
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ian-s



Joined: Apr 01, 2004
Posts: 2669
Location: Auckland, New Zealand
Audio files: 42
G2 patch files: 626

PostPosted: Mon Mar 20, 2006 1:19 pm    Post subject: Reply with quote  Mark this post and the followings unread

Sorry Rob, daylight saving just ended here so the kids are up at 5:30AM playing with the origami frogs I made them last night. I shouldn’t have posted before having some espresso.

Your detailed post about the MIDI note on sequence made me think back to the early 80’s. Writing MIDI software in Masm 5.1 on a dual 5.25” floppy IBM PC using a real MPU401, those were the days Rolling Eyes . I did a (for the time) complicated drum step sequencer modelled on the Roland hardware drum machine UI but incorporating micro beat shifting. The drum module I was using to test, ignored note off events so I didn’t code them. Took me quite a while to rework the code to include the note offs when the client discovered his drum module spazzed out without them.

A lot was made of MIDI latency in the early years, most of it was down to imagination and poor implementations.

Running status might reduce storage requirements but for latency, I imagine that a consistent delay would be less of a problem than a delay that varied depending on the content of the data.
Still despite its flaws, MIDI has done quite well over the decades considering it was the cooperative effort of so many. And it is still at version 1.0 Smile
Back to top
View user's profile Send private message
selvmarcus



Joined: Feb 08, 2006
Posts: 121
Location: Berlin, Germany
G2 patch files: 39

PostPosted: Mon Mar 20, 2006 2:04 pm    Post subject: Reply with quote  Mark this post and the followings unread

Rob wrote:

So, my guess is that a 0.31 msec decay could be used to silence a voice before it is being stolen, as after two bytes the system can know if the received command applies to a note number that is already playing or if it is a totally new note for which a voice has to be stolen. In this last case a short 0.31 msec decay can be applied.
That 0.31 msec is some 29 samples at 96kHz. Of course the decay would need to have a 'square root' shape and no 'exp' shape for best 'anti-click' behaviour. Still, the new note would have no more latency as the 0.93 msec implied by the MIDI baudrate.


I read "delay" instead "decay first. Maybe that´s a clue for a workaround?
Could we not.... delay things a tiny bit and then just mute softly around the
critical sample with a square-shaped short envelope? I talk about
working on the sum. Could be a lowpass or mix of both, too.

Ok we would have to count voices, know somehow, that something
bad will happen, in exactly.... 15 samples or so. Or longer.
Maybe this will cost one slot with fake voices, same midi-channel.
I think very short dropouts like this are much less audible if
at all.

I would really like to play i.e. some of the presets performances with
like 3 voices of strings and 2 of piano on top... with the clicks it is almost
useless.

They just would send to bus1/2 instead of out1/2.
FX in special slot does the delay, muting in case, and out.

Would that work?



--------
Marcus
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic Moderators: Nord Modular Editors
Page 2 of 2 [34 Posts]
View unread posts
View new posts in the last week
Goto page: Previous 1, 2
Mark the topic unread :: View previous topic :: View next topic
 Forum index » Clavia Nord Modular » Wish List
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use