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.
signature.asc
Description: OpenPGP digital signature
_______________________________________________ 64studio-users mailing list [email protected] http://lists.64studio.com/mailman/listinfo/64studio-users
