I am having a hard time conceptualizing what effect the -frags and -blocksize parameters have on Pd. I would like to get the best MIDI timing I can. I've fooled around with both parameters a bit, and it seems like -frags 2 -blocksize 256 is as small as I can get it without having even the test audio/midi patch buzzing. I seem to remember having these much smaller before. Does this sound about right? And what about -sleepgrain?
My laptop has a i8x0 sound card built in that I'm using. For MIDI I use the serial port and a MIDIator 124W. I have lowlatency patches applied to a 2.4.18 kernel, and am using ALSA 9b10. Thanks for any and all help.
(jfm3)
blocksize is the dsp vector size, also controlls the temporal resolution of messages... ie. your midi messages can only be processed on block boundaries. Midi having a clock with 1 ms resolution means you want a small blocksize to match. bs = 64 => ~1.4 ms resolution which is decent.
frags is latency... i.e. the number of blocks of lag. IMHO its better to have more frags than a large blocksize.
My laptop has a i8x0 sound card built in that I'm using. For MIDI I use the serial port and a MIDIator 124W. I have lowlatency patches applied to a 2.4.18 kernel, and am using ALSA 9b10. Thanks for any and all help.
I have an i8x0 sound card in a laptop as well (tosh portege 3440ct) and with lowlat patch and alsa 0.9b. Basically the card sucks. In full duplex its impossible to to run with less than 15 ms latency... i.e. blocksize 64, 10 frags. However if I disable the dac or the adc (-nodac or -noadc) then I can get it down to 1.5-3 ms latency.... but usually that's not desirable. I'm certain its a fundamental limitation of the card. Someday we will get a decent USB or pcmcia sound solution for linux and everyone with a laptop will rejoice.
andy
Thanks for your reply.
I set -noadc (since I don't really use the audio in anyway, just prerecorded material). The lowest I could get it was
-frags 8 -blocksize 64
The default is 12 and 64. Then, at that point, removing -noadc made no difference.
I can also run
-frags 4 -blocksize 128 -frags 2 -blocksize 256
That's about as far as she goes.
I don't see anything simple in the code that would suggest I'm doing -noadc wrong. How did you get it to happen?
(jfm3)
Andrew (Andy) W. Schmeder wrote:
blocksize is the dsp vector size, also controlls the temporal resolution of messages... ie. your midi messages can only be processed on block boundaries. Midi having a clock with 1 ms resolution means you want a small blocksize to match. bs = 64 => ~1.4 ms resolution which is decent.
frags is latency... i.e. the number of blocks of lag. IMHO its better to have more frags than a large blocksize.
My laptop has a i8x0 sound card built in that I'm using. For MIDI I use the serial port and a MIDIator 124W. I have lowlatency patches applied to a 2.4.18 kernel, and am using ALSA 9b10. Thanks for any and all help.
I have an i8x0 sound card in a laptop as well (tosh portege 3440ct) and with lowlat patch and alsa 0.9b. Basically the card sucks. In full duplex its impossible to to run with less than 15 ms latency... i.e. blocksize 64, 10 frags. However if I disable the dac or the adc (-nodac or -noadc) then I can get it down to 1.5-3 ms latency.... but usually that's not desirable. I'm certain its a fundamental limitation of the card. Someday we will get a decent USB or pcmcia sound solution for linux and everyone with a laptop will rejoice.
andy
Hi, one small comment... "blocksize" only controls the I/O block size, not the DSP block size, which is always 64. Control latency is always 64 samples but timing accuracy of I/O for control depends on I/O block size, since timing is all derived from ADC and/or DAC transfers which are made each I/O block.
cheers Miller
On Fri, Jan 11, 2002 at 04:24:15PM -0500, jfm3 wrote:
Thanks for your reply.
I set -noadc (since I don't really use the audio in anyway, just prerecorded material). The lowest I could get it was
-frags 8 -blocksize 64
The default is 12 and 64. Then, at that point, removing -noadc made no difference.
I can also run
-frags 4 -blocksize 128 -frags 2 -blocksize 256
That's about as far as she goes.
I don't see anything simple in the code that would suggest I'm doing -noadc wrong. How did you get it to happen?
(jfm3)
Andrew (Andy) W. Schmeder wrote:
blocksize is the dsp vector size, also controlls the temporal resolution of messages... ie. your midi messages can only be processed on block boundaries. Midi having a clock with 1 ms resolution means you want a small blocksize to match. bs = 64 => ~1.4 ms resolution which is decent.
frags is latency... i.e. the number of blocks of lag. IMHO its better to have more frags than a large blocksize.
My laptop has a i8x0 sound card built in that I'm using. For MIDI I use the serial port and a MIDIator 124W. I have lowlatency patches applied to a 2.4.18 kernel, and am using ALSA 9b10. Thanks for any and all help.
I have an i8x0 sound card in a laptop as well (tosh portege 3440ct) and with lowlat patch and alsa 0.9b. Basically the card sucks. In full duplex its impossible to to run with less than 15 ms latency... i.e. blocksize 64, 10 frags. However if I disable the dac or the adc (-nodac or -noadc) then I can get it down to 1.5-3 ms latency.... but usually that's not desirable. I'm certain its a fundamental limitation of the card. Someday we will get a decent USB or pcmcia sound solution for linux and everyone with a laptop will rejoice.
andy
Hmm. OK. Then how can I measure sound card latency? My present understanding is that I run with the lowest number of frags at the smallest blocksize possible before I start hearing dropouts in the audio. I run with -noadc and don't get any difference in the lowest numbers I can get at. There must be more smarts to it than that. Can someone clue me as to a better process for getting these variables set right?
(jfm3)
Miller Puckette wrote:
Hi, one small comment... "blocksize" only controls the I/O block size, not the DSP block size, which is always 64. Control latency is always 64 samples but timing accuracy of I/O for control depends on I/O block size, since timing is all derived from ADC and/or DAC transfers which are made each I/O block.
jfm3 wrote:
Thanks for your reply.
I set -noadc (since I don't really use the audio in anyway, just prerecorded material). The lowest I could get it was -frags 8 -blocksize 64 [...] Then, at that point, removing -noadc made no difference.
Andrew (Andy) W. Schmeder wrote:
blocksize is the dsp vector size, also controlls the temporal resolution of messages... ie. your midi messages can only be processed on block boundaries. Midi having a clock with 1 ms resolution means you want a small blocksize to match. bs = 64 => ~1.4 ms resolution which is decent.
frags is latency... i.e. the number of blocks of lag. IMHO its better to have more frags than a large blocksize.
I have an i8x0 sound card in a laptop as well (tosh portege 3440ct) and with lowlat patch and alsa 0.9b. Basically the card sucks. In full duplex its impossible to to run with less than 15 ms latency... i.e. blocksize 64, 10 frags. However if I disable the dac or the adc (-nodac or -noadc) then I can get it down to 1.5-3 ms latency.... but usually that's not desirable.
Hello all,
I'm new to pd, I find it facinating. This list is a great resource. My questions for right now are, how different is pd from max/msp and is there any way to port max/msp patches over for use with pd? The documentation and patches look very similar, was wondering if I can use max documentation to elaborate on what's out there for pd.
Thanks,
Peter Lasell
Do You Yahoo!? Send FREE video emails in Yahoo! Mail.
Hi Peter,
You can import and export TEXT versions of Max patches into Pd using the "open" and "save as" menu items... It doesn't work very well but at least lets you get patches back and forth.
the Max doc might be helpful but there are many differences.
cheers Miller
On Fri, Jan 11, 2002 at 03:12:02PM -0800, p.lasell wrote:
Hello all,
I'm new to pd, I find it facinating. This list is a great resource. My questions for right now are, how different is pd from max/msp and is there any way to port max/msp patches over for use with pd? The documentation and patches look very similar, was wondering if I can use max documentation to elaborate on what's out there for pd.
Thanks,
Peter Lasell
Do You Yahoo!? Send FREE video emails in Yahoo! Mail.