Hello!
I have downloaded the low-lantency ,while i set the blocksize=2000, and sub-blocksize=32 ,
i think the encoder will run like this : first compress 2000 /frame and then 32 /frame;
--------------------------------------------- but the fact is , it still need to pack 2000 / frame.
| 2000 | 32 | 32 | 32 |.......
--------------------------------------------- am i misunderstanding it?
And the command is "-b320 --blocksize=2000 --sub-blocks=32 1.wav 1.wv"
Yes, you are misunderstanding it a little. The parameters that you are using will create blocks with 64000 samples per block (2000 * 32)! However, the encoder will compress 2000 samples at a time and provide those to the application, so the effective latency is 2000 samples. Every 64000 samples (32 of these “sub blocks”) the encoder will terminate the large “super block” and start over.
I suspect that is not what you want, because even the regular encoder is efficient with 2000 samples per block. If you want the sample latency to be 32 samples, try --blocksize=32 and --sub-blocks=32. This will process the samples 32 at a time, and every 1024 samples will start a new “super block”.
Hope this makes more sense...
Yes, you are misunderstanding it a little. The parameters that you are using will create blocks with 64000 samples per block (2000 * 32)! However, the encoder will compress 2000 samples at a time and provide those to the application, so the effective latency is 2000 samples. Every 64000 samples (32 of these “sub blocks”) the encoder will terminate the large “super block” and start over.
I suspect that is not what you want, because even the regular encoder is efficient with 2000 samples per block. If you want the sample latency to be 32 samples, try --blocksize=32 and --sub-blocks=32. This will process the samples 32 at a time, and every 1024 samples will start a new “super block”.
Hope this makes more sense...
O i see, Thanks very much ! It would really help a lot.