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.

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
64studio-users mailing list
[email protected]
http://lists.64studio.com/mailman/listinfo/64studio-users

Reply via email to