Log in

View Full Version : BeSweet v1.5b16: framerate conversion problem


eddie
3rd March 2003, 16:24
When doing framerate conversion NTSC -> PAL the resulting audio file
contains clicks. Long audio files (more than 1 h) about 4 clicks
per second. Sort audio files (2 mins) many more clicks per second.

The same imput file with BeSweet 1.4 gives no problem.

DSPguru
3rd March 2003, 17:41
please read here - how to submit a bugreport :
http://forum.doom9.org/showthread.php?s=&threadid=15738

DeXT
3rd March 2003, 22:37
I'm following my results about FRC in this thread... hope I don't do anything wrong ;)

I found something really interesting about this FRC issue in 1.5bX: it works nice with integer frame rate values, such as:

-r 22000 25000
-r 23000 25000
-r 24000 25000

However it shows "jittering" on non-integer values such as:

-r 23976 25000

I found also that this problem only shows up with small variations in frame rate such as the previous one, while it works nicely with large frame rate adjustment such as:

-r 23976 29970

Note this last value is non-integer, but it works nice. On this frame rate variation which is so large, the resulting audio has a sightly higher pitch, what leads to another very interesting fact: when Besweet does jittering, the audio pitch is unchanged on the target file. However, using besweet 1.4 (or integer frame rate values with 1.5bX), the resulting file has a higher audio pitch than the original (as it should be for a time stretch), and there's no jittering at all.

So my guess here: besweet is not properly changing pitch with small frame rate variations and/or non-integer ones, which creates jittering on the resulting file. However using integer/big variations the audio pitch is effectively being changed and the resulting file sounds OK.

I did my tests with WAV->WAV conversions to avoid artefacts due to external plugins (toolame, anyone? ;) ). Here's what I found:

Sounds good (no jittering):

besweet -core( -input \wasabi.wav -output \wasabi_2.wav -2ch ) -ota( -r 24000 25000 )
BeSweet v1.5b16 by DSPguru.
--------------------------
Using Shibatch.dll v0.24 by Naoki Shibata & DSPguru (shibatch.sourceforge.net).

[00:00:00:000] +------- BeSweet -----
[00:00:00:000] | Input : \wasabi.wav
[00:00:00:000] | Output: \wasabi_2.wav
[00:00:00:000] | Floating-Point Process: No
[00:00:00:000] | Source Sample-Rate: 48.0KHz
[00:00:00:000] +-------- FRC --------
[00:00:00:000] | Source Frame-Rate: 24000
[00:00:00:000] | Dest. Frame-Rate: 25000
[00:00:00:000] +---------------------
[00:00:15:900] Conversion Completed !
[00:00:15:900] Actual Avg. Bitrate : 1474kbps
[00:00:01:000] <-- Transcoding Duration


besweet -core( -input \wasabi.wav -output \wasabi_2.wav -2ch ) -ota( -r 24000 25000 )
BeSweet v1.4 by DSPguru.
--------------------------
Using Shibatch.dll v0.2 by Naoki Shibata & DSPguru (shibatch.sourceforge.net).

[00:00:00:000] +------- BeSweet -----
[00:00:00:000] | Input : \wasabi.wav
[00:00:00:000] | Output: \wasabi_2.wav
[00:00:00:000] | Floating-Point Process: No
[00:00:00:000] | Source Sample-Rate: 48.0KHz
[00:00:00:000] +-------- FRC --------
[00:00:00:000] | Source Frame-Rate: 24000
[00:00:00:000] | Dest. Frame-Rate: 25000
[00:00:00:000] +---------------------
[00:00:15:900] Conversion Completed !
[00:00:15:900] Actual Avg. Bitrate : 1474kbps <-- equal! (good)
[00:00:01:000] <-- Transcoding Duration


Sounds bad (jittering):

besweet -core( -input \wasabi.wav -output \wasabi_2.wav -2ch ) -ota( -r 23976 25000 )
BeSweet v1.5b16 by DSPguru.
--------------------------
Using Shibatch.dll v0.24 by Naoki Shibata & DSPguru (shibatch.sourceforge.net).

[00:00:00:000] +------- BeSweet -----
[00:00:00:000] | Input : \wasabi.wav
[00:00:00:000] | Output: \wasabi_2.wav
[00:00:00:000] | Floating-Point Process: No
[00:00:00:000] | Source Sample-Rate: 48.0KHz
[00:00:00:000] +-------- FRC --------
[00:00:00:000] | Source Frame-Rate: 23976
[00:00:00:000] | Dest. Frame-Rate: 25000
[00:00:00:000] +---------------------
[00:00:15:900] Conversion Completed !
[00:00:15:900] Actual Avg. Bitrate : 1473kbps
[00:00:01:000] <-- Transcoding Duration


besweet -core( -input \wasabi.wav -output \wasabi_2.wav -2ch ) -o
ta( -r 23976 25000 )
BeSweet v1.4 by DSPguru.
--------------------------
Using Shibatch.dll v0.2 by Naoki Shibata & DSPguru (shibatch.sourceforge.net).

[00:00:00:000] +------- BeSweet -----
[00:00:00:000] | Input : \wasabi.wav
[00:00:00:000] | Output: \wasabi_2.wav
[00:00:00:000] | Floating-Point Process: No
[00:00:00:000] | Source Sample-Rate: 48.0KHz
[00:00:00:000] +-------- FRC --------
[00:00:00:000] | Source Frame-Rate: 23976
[00:00:00:000] | Dest. Frame-Rate: 25000
[00:00:00:000] +---------------------
[00:00:15:900] Conversion Completed !
[00:00:15:900] Actual Avg. Bitrate : 1470kbps <-- different! (bad)
[00:00:01:000] <-- Transcoding Duration

This image shows this effect when analyzing the resulting audio with CoolEdit spectral view:

http://webs.ono.com/dextstuff/frc_test.jpg

Right: original audio
Center: 23976->25000 conversion using 1.5b16
Left: 23976->25000 conversion using 1.4

Note the higher audio pitch on 1.4 graph (magenta area reach higher fequencies, and horizontal red lines are at a higher level, too) while on 1.5b16 audio frequencies are the same as the original. Here we can see the jittering in form of red vertical lines.

What do you think?

DSPguru
4th March 2003, 19:41
Originally posted by DeXT
What do you think? i appreciate your tests very much, DeXT.
since i'm very short in time currently, but still interested in fixing this flaw, i would appreciate if you could redownload b16 and test again.
(i believe i found a slight flaw and fixed it).

DeXT
4th March 2003, 21:20
Originally posted by DSPguru
i appreciate your tests very much, DeXT.
since i'm very short in time currently, but still interested in fixing this flaw, i would appreciate if you could redownload b16 and test again.
(i believe i found a slight flaw and fixed it).
Well, what can I say... Sweet :p

It's fixed! FRC works again as in 1.4. You definitely did it. Thank you so much.

Here's the new log with today's release (1.5b16 4/3/03):

besweet -core( -input \wasabi.wav -output \wasabi2.wav -2ch ) -ota( -r 23976 25000 )
BeSweet v1.5b16 by DSPguru.
--------------------------
Using Shibatch.dll v0.24 by Naoki Shibata & DSPguru (shibatch.sourceforge.net).

[00:00:00:000] +------- BeSweet -----
[00:00:00:000] | Input : \wasabi.wav
[00:00:00:000] | Output: \wasabi2.wav
[00:00:00:000] | Floating-Point Process: No
[00:00:00:000] | Source Sample-Rate: 48.0KHz
[00:00:00:000] +-------- FRC --------
[00:00:00:000] | Source Frame-Rate: 23976
[00:00:00:000] | Dest. Frame-Rate: 25000
[00:00:00:000] +---------------------
[00:00:15:900] Conversion Completed !
[00:00:15:900] Actual Avg. Bitrate : 1470kbps
[00:00:01:000] <-- Transcoding Duration

Notice the avg. bitrate value, it's the same as shown in 1.4 (good). The resulting file has its pitched changed and it sounds OK, with no jittering at all.

I think we can consider this issue closed now. Good work!

And for the toolame issue, I'm currently sticking to mp2enc as it works nice.

Thanks!