Re: [yoshimi-user] More MIDI controllers - Info as promised

  • From: cal <cal@xxxxxxxxxxxx>
  • To: yoshimi-user@xxxxxxxxxxxxxxxxxxxxx
  • Date: Fri, 15 Oct 2010 07:35:33 +1100

On 15/10/10 06:30, Will J Godfrey wrote:

[ ... ]
First the bad news. Every patch that uses padsynth will interrupt the sound and
usually throw a single Xrun.

This is not as bad as it seems and is understandable. From info that Paul
originally gave out... Add& Sub build samples on the fly, but Pad creates a
perfect loop-able bufferfull *as* *it* *is* *loaded*. Clearly then there is a
significant overhead that can't be accommodated within one jack frame, so to be
effective the generation process would have to be split up or put in a low
priority thread - assuming that's possible.

However,

Simple Add/Sub single voice patches always load silently. The more voice parts
they have the more likely they are to interrupt the sounds, sometimes with the
briefest of crackles, sometimes more - up and including an Xrun. If you
normally see a delay as a patch loads, then it will interrupt the audio and the
length of the interruption will relate directly to the time it takes the patch
to load (is there a file system issue here maybe).

Good chance the actual file read and xml parsing is a limiting factor.
My initial tests were with a continuous pure sine wave on channel 1 while
loading patches into channel 2 - don't forget it needs to be active too :)
Like this any slightest defect shows up.

Later, I did the same tests, but with a 5 channel song running as well and
switching around in channel 6. The defects were actually *less* noticeable, and
when I also included a qsynth drum track and cunningly timed the voice changes
to coincide with the beat, most of the minor glitches were hidden - you still
won't succeed with Master Synth though :P

The point of that last bit is that I think, even without perfect silence all
the time, the whole idea is still both viable and useful.

I can certainly see the attractiveness of the separate, but related MIDI GUI
overlay, but would think it a good idea at first just to install the MIDI
hooks, and give us testicles (oops) testers a chance to break it :)

A planned, progressive transition - what a good idea! Trouble is I've not been
very good at planned progressive development. At the moment I have two entities
I refer to as 0.060-pre4 and 0.060-pre5. Pre4 is just pre3 with jack session
support finally functional. Pre5 also has the mythical midi reorg (necessary
for any advance in midi control), except it doesn't actually work at the moment.

Depending on how much 'clear head' time I get today, and how I go sorting out
the pre5 problems, I figure it might be best to wrap up pre4 as version 0.060,
then pursue the midi stuff further as 0.062-pre0. I'll see how things stand
tonight (that's Fri night, Aus time).

cheers.


Other related posts: