FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > 64 Studio > 64 Studio User

 
 
LinkBack Thread Tools
 
Old 08-15-2008, 11:14 AM
Ralf Mardorf
 
Default MIDI timing jitter - The report

Hi 64 Studio list, Jack-devel list and especially to Mike

thanks to all of you and especially to Nedko, it looks like I don't need
to test Jack MIDI.

The trouble seems to be solved, maybe it's pseudo-solved.

First I verified that the CPU clock is optimized to performance. The
latest tests were only made with 64 Studio, where CPU frequency policy
isn't supported for KPowersave, if I'll go on with Suse 11.0, I'll do
this with CPU frequency policy set to "Performance" instead of "Dynamic".

Now something about my latest tests.

Rosegarden has 2 MIDI tracks.

The first MIDI track had it's output to "MIDI external device 2" and now
it's changed to "MIDI output system device", that's better.

The second MIDI track had and has it's output to a plugin.

The plugin for the second MIDI track is the DSSI Fluidsynth. The
instrument controlled by the first MIDI track is QSynth, that means also
Fluidsynth. Both Fluidsynth have to play the same kick, the MIDI events
are the same, always 1/8 notes with length of 1/16 notes and a velocity
of 64, I edited those notes by using the mouse, I didn't use a keyboard
to record them.

Sync between the DSSI Fluidsynth played by a MIDI track of Rosegarden to
it's recorded audio track of Rosegarden is fine, independent from the
settings, that means, there seems to be no need to take care about the
sequencer timing source and latency can be 26.1msec.

Sync between the DSSI Fluidsynth played by a MIDI track of Rosegarden
and QSynth Fluidsynth played by another MIDI track of Rosegarden needs
special settings.
Sync between the QSynth Fluidsynth played by a MIDI track of Rosegarden
and it's recorded audio track of Rosegarden also needs special settings.
Both situations are fine while the sequencer timing source is set to PCM
playback 0-0-0, when playing and also when recording, also the latency
has to be changed. It wasn't fine even with a latency of 8.71ms, but
it's fine with a latency of 5.8ms.

So far it seems to be solved, but I've to say it's still to hear that
it's not 100% fixed, anyway, playing two kicks in unison the "attack
click sound" of the kicks is one phased click and no longer two single
clicks. It's not 100% because the phasing isn't the same for each note,
but for a good groove I think this sync is good enough. Still it might
only be pseudo-solved because I don't know if it will be possible to
hold a latency of 5.8ms, while producing a song and I didn't test until
now what will happen if I try to include external equipment like the
Alesis D4, Oberheim Matrix-1000 etc. and also I got unspecified ALSA
errors while doing the tests.

I didn't take a look at the waveforms by Audacity for the latest test,
so I can't say how many ms the jitter is, I only tested with my ears,
but it is to hear that the recordings are a little bit to early, the
first kick while circle playing, always was cut a little bit.

The next test has to be a song and instead of 44100Hz 16-bit, I'll try
48000Hz 24-bit.

Mike wrote: "I've had great success with timing using Rosegarden's MIDI
sequencer and routing all audio via JACK, but had timing problems using
any of the virtual instruments internally in Rosegarden."

I'll test more plugin synth, but as you could read, for the DSSI
Fluidsynth on my system it wasn't like it is for you.

Mike wrote: "Are you not letting JACK handle all of your routing for a
reason?"

QJackCtl handles all my audio and MIDI connections. For audio I'm using
the audio tab, but for MIDI not the MIDI tab, but the ALSA tab. As far
as I've understood or misunderstood this, the audio and MIDI tab is for
jackd clients and the ALSA tab for ALSA clients, so MIDI is handled by
QJackCtl but not by "JACK". QJackCtl's ALSA tab seems to handle ALSA
clients.

I programmed for the C64 MIDI applications, no multi task (only
interrupt tricks), that means maximal buffering were single MIDI and
audio sample events put on and directly pulled from the stack (buffer).
I only guess and don't know --> because of the multitasking ALSA seems
to use a buffer where not only single events are buffered, but
sequences, that might need a more complex sync and isn't handled by
JACK, but by ALSA, so JACK and ALSA have to be synced. I don't know if
it's like that.

I fear a little bit about Linux and MIDI in and out (of the computer)
because I think that the kind of sync the ACIA, resp. UART microchip are
able to do can cause troubles. Normally there shouldn't be a difference
in sync between an USB MIDI device and the MIDI device of my audio card,
like some of you imagine it could be, as long USB won't have an
unfavourable IRQ. Or are there also different hardware timers the user
has to handle?

Cheers,
Ralf

PS: OT: Is SWISSONIC a brand or a no-name brand? I can't find a homepage
of SWISSONIC.

_______________________________________________
64studio-users mailing list
64studio-users@64studio.com
http://lists.64studio.com/mailman/listinfo/64studio-users
 
Old 08-15-2008, 05:20 PM
"Mike Baas"
 
Default MIDI timing jitter - The report

The first MIDI track had it's output to "MIDI external device 2" and now


it's changed to "MIDI output system device", that's better.
In case it's not clear (and it's not), these are just names.* The key point is to make sure you are pointing to the right devices.* Feel free to change the names of those devices in Rosegarden and save yourself a template.




So far it seems to be solved, but I've to say it's still to hear that

it's not 100% fixed, anyway, playing two kicks in unison the "attack

click sound" of the kicks is one phased click and no longer two single

clicks. It's not 100% because the phasing isn't the same for each note,

but for a good groove I think this sync is good enough. Still it might

only be pseudo-solved because I don't know if it will be possible to

hold a latency of 5.8ms, while producing a song and I didn't test until

now what will happen if I try to include external equipment like the

Alesis D4, Oberheim Matrix-1000 etc. and also I got unspecified ALSA

errors while doing the tests.
This is what I was telling you that I fixed.* Don't run your plugins in Rosegarden or this will happen.* Run your plugins in ghostess, route everything in JACK, and this problem will go away.* At least that was my experience.* I don't know what the culprit is with the "flamming" and I'd hestitate to point at Rosegarden because it's such a simple problem we are having (in that if we're having it like we are, *everyone* would be having it, and complaining!).* I just know that the above solution solved it for me.


Once you start ghostess, assign it as a MIDI device in Rosegarden.* In JACK, under the MIDI tab (I have no idea what an ALSA tab is), you should point the Rosegarden ghostess device to the ghostess input.* And that's it.


If you aren't feeling like your timing isn't just perfect, then something is wrong.* Don't try to test or use your ears to see if it is "good enough".* At least with RME 96/52, you can set your buffers to 128 and the system won't skip a beat (assuming you have a decent system).



QJackCtl handles all my audio and MIDI connections. For audio I'm using

the audio tab, but for MIDI not the MIDI tab, but the ALSA tab. As far

as I've understood or misunderstood this, the audio and MIDI tab is for

jackd clients and the ALSA tab for ALSA clients, so MIDI is handled by

QJackCtl but not by "JACK". QJackCtl's ALSA tab seems to handle ALSA

clients.
Does this mean your midi drivers are not compatible with JACK? * In that case, get a new midi device!* Edirol or something.

For my small production studio (mainly soft synths), I've been using an E-MU Xmidi 2x2 with great success and I don't even have to install any drivers, even with 64Studio 1.0:


http://www.emu.com/products/product.asp?category=610&subcategory=611&product=1 5187


PS: OT: Is SWISSONIC a brand or a no-name brand? I can't find a homepage

of SWISSONIC.
It's possible SWISSONIC is out of business. * Like I said, they are a boutique brand.* There speciality is not MIDI, but digital/analog conversion.

Cheers,

mb





_______________________________________________
64studio-users mailing list
64studio-users@64studio.com
http://lists.64studio.com/mailman/listinfo/64studio-users
 
Old 08-16-2008, 08:02 AM
Ralf Mardorf
 
Default MIDI timing jitter - The report

Hi Mike

> The first MIDI track had it's output to "MIDI external device 2"
> and now
> it's changed to "MIDI output system device", that's better.
>
>
> In case it's not clear (and it's not), these are just names. The key
> point is to make sure you are pointing to the right devices. Feel
> free to change the names of those devices in Rosegarden and save
> yourself a template.

I hope it was an accident, e.g. the jitter was less by accident or it
was an effect of perception.

> So far it seems to be solved, but I've to say it's still to hear that
> it's not 100% fixed, anyway, playing two kicks in unison the "attack
> click sound" of the kicks is one phased click and no longer two single
> clicks. It's not 100% because the phasing isn't the same for each
> note,
> but for a good groove I think this sync is good enough. Still it might
> only be pseudo-solved because I don't know if it will be possible to
> hold a latency of 5.8ms, while producing a song and I didn't test
> until
> now what will happen if I try to include external equipment like the
> Alesis D4, Oberheim Matrix-1000 etc. and also I got unspecified ALSA
> errors while doing the tests.
>
>
> This is what I was telling you that I fixed. Don't run your plugins
> in Rosegarden or this will happen.

Oops, a misunderstanding. But it's curios, because the plugins are in
time with less jitter while the non-plugins for Rosegarden aren't in
time, because of to much jitter. Ghostess might adapt the plugins to the
other synth to equal jitter, but that won't solve the sync to audio
tracks and even if the jitter is the same for all instruments, that
won't be a help. If I'm using only virtual synth as non-plugins, e.g.
QSynth, while the latency is ex ca. 8ms, it's not only a fix latency,
but the jitter is increasing and it's impossible to groove. If I will
try ghostess or not, it seems to be, that I have to hold latency under
8ms and than there isn't the need for ghostess.

> Run your plugins in ghostess, route everything in JACK, and this
> problem will go away. At least that was my experience.

For me this sounds not plausible for my trouble, but I'll try ghostess
if I run into this trouble again.

> I don't know what the culprit is with the "flamming" and I'd hestitate
> to point at Rosegarden because it's such a simple problem we are
> having (in that if we're having it like we are, *everyone* would be
> having it, and complaining!). I just know that the above solution
> solved it for me.
>

I don't think it's Rosegarden. And not everyone must have this problem,
because it might has to do with the hardware, not the soundcard, but
maybe the motherboard.

> Once you start ghostess, assign it as a MIDI device in Rosegarden. In
> JACK, under the MIDI tab (I have no idea what an ALSA tab is), you
> should point the Rosegarden ghostess device to the ghostess input.
> And that's it.
>
> If you aren't feeling like your timing isn't just perfect, then
> something is wrong. Don't try to test or use your ears to see if it
> is "good enough". At least with RME 96/52, you can set your buffers
> to 128 and the system won't skip a beat (assuming you have a decent
> system).

The buffer is set to 128 :S.

> QJackCtl handles all my audio and MIDI connections. For audio I'm
> using
> the audio tab, but for MIDI not the MIDI tab, but the ALSA tab. As far
> as I've understood or misunderstood this, the audio and MIDI tab
> is for
> jackd clients and the ALSA tab for ALSA clients, so MIDI is handled by
> QJackCtl but not by "JACK". QJackCtl's ALSA tab seems to handle ALSA
> clients.
>
>
> Does this mean your midi drivers are not compatible with JACK? In
> that case, get a new midi device! Edirol or something.

!!! The MIDI device is fine. Open QJackCtl and click the "Connect"
button. There are 3 tabs, for newer versions of QJackCtl, they are
called "Audio", "MIDI" and "ALSA". Rosegarden e.g. only appears in the
tab "Audio" and for MIDI in the tab "ALSA", Rosegarden is using ALSA for
MIDI and not Jack, but QJackCtl handles ALSA MIDI.

Are you still using 64 Studio 1.0?

What DE/WM are you using? With 64 Studio I'm using KDE 3.5.9/KWin and
with Suse I'm using KDE 4.0.4 at the moment.
I'll try Ion again if I have to increase the Latency and if then the
jitter also will increase again.

Thank you.

I would try to make music yesterday in the night, but after eating I get
ill. I hope I will be able to make music today.
I fear that if Linux will be fine, my instruments will get problems.
There is already one problem, the battery of a RAM cartridge for my DX7
seems to be empty and that might be the preadvice that there will be
some more troubles simular to this one. I was a musician and av engineer
a long time ago, that's why my equipment is old. I'm out of work for a
long time, that's why it's not so easy to get new or repair old
hardware. But I'm in cheerful spirits .

Greetz,
Ralf

_______________________________________________
64studio-users mailing list
64studio-users@64studio.com
http://lists.64studio.com/mailman/listinfo/64studio-users
 

Thread Tools




All times are GMT. The time now is 04:14 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org