I have a PAL DVD that I ripped to VOB and then encoded and resized to NTSC resolution with AVISynth.
I was easily able to slow the video playback speed to 23.976FPS with assumefps and srestore filters using AVISynth.
I don't however know how to slow the audio down to 23.976FPS playback to put in sync with it. Is there an easier way of doing this without reconverting to lossless format several times or ruining the original audio quality by much? Ill try just about any method, but if MeGui can do it that would be nice.
In the end I would just like the DVD audio to playback at 23.976FPS. I can and do notice the 25FPS voice speed up and it changes pitch of voices I'm used to and I would like to hear it at the pitch I'm used to or I would just leave it at 25FPS. Keeping it AC3 format is preferred but it's not a big deal if it cant be kept that format.
+ Reply to Thread
Results 1 to 22 of 22
I extract the audio and run it through BeSweet which has a 25000 to 23976 preset. I get a PCM WAV file out of it. I send my audio tracks to Audacity for work before then reencoding to AC3. eac3to can do it as well. eac3to can go PAL AC3 to NTSC AC3 all at once.
Is there an easier way of doing this without reconverting to lossless format several times or ruining the original audio quality by much?
I don't use eac3to for this as I almost always work on the audio, at least a little bit, in Audacity. The reencoded quality is dependent on the quality of the AC3 encoder used. I doubt you'd be able to tell the difference whether doing it in a single step or using two steps. If I were you I'd use eac3to for the job. If you can get it working for you it won't take long before you can compare before and after.
MeGUI has options for speeding up and slowing down the audio in it's audio encoder configuration. In older versions (and maybe the current stable version) it's under the section for changing the sample rate. Newer versions of MeGUI have a drop down box labelled "Time Modification" in the audio encoder configuration. If you switch to the development update server in MeGUI's options, updating should get you the latest version of MeGUI (and possibly the latest bugs).
HD Streams Extractor/eac3to (under the Tools menu)
Another eac3to GUI aimed towards encoding audio.
EAC3to Conversion Utility
MeGUI's audio encoder uses the same method as BeHappy and BeSweet for the resampling/slowdown/speedup stuff without pitch correction, as far as I know. They use SSRC.
MeGUI uses an Avisynth plugin (TimeStretch.dll) for slowdown/speedup with pitch correction (Avisynth+). I think BeHappy does the same. The function is built-into the official versions of Avisynth. I'm not sure if BeSweet does pitch correction. manono would know.
A warning entry in MeGUI's log file was recently added when the time modification with pitch correction options are used:
[Warning] When TimeStretch() is used with more than 2 channels, each channel is processed individually in 1 channel mode. This will destroy the phase relationship between the channels.
Whether that's as bad as it sounds, I don't know. Maybe the same applies no matter how pitch correction is done. I've no idea.
The HD Streams Extractor and EAC3to Conversion Utility both use eac3to for resampling/re-encoding, and it has a reputation for quality. It doesn't pitch correct.... at least as far as I know.
That's about the extent of my knowledge. Time stretching is something I rarely do, but if I do, it'd mostly be to go from PAL to NTSC or PAL to film and I probably wouldn't pitch correct it as usually there's no way to know if the PAL version was pitch corrected originally.
Last edited by hello_hello; 8th Apr 2014 at 08:34.
If you're referring to AC3's dynamic range compression, MeGUI has an option in it's audio encoder configuration to enable it or not. It's disabled by default. I'm not sure about BeSweet or eac3to. I'd think compressing the audio when encoding would generally be a bad idea as it can't be undone without re-encoding it.
AC3 also has a "feature" called dialogue normalisation. If the level is set, the idea is the player will adjust the volume so the dialogue in all AC3 audio should be the same level. It's an overall "turn up" or "turn down" thing though. The relative volume throughout each AC3 file remains the same (it's not compressed). I think all conversion programs ignore dialogue normalisation, at least by default. eac3to seems to have an option to keep it. (-keepDialnorm) http://en.wikibooks.org/wiki/Eac3to/How_to_Use#Command_Line_Syntax
I'm not sure whether that means it uses it when re-encoding though. I think -keepDialnorm stops it from removing the dialogue normalisation info from AC3 files when it's extracting.
The speed up with pitch correction option doesn't seem to work in MEGUI.
I have an audio file that is 1:28:23 long, if I run it through MEGUI using PAL speed up the file comes out at 1:24:46 which is correct and will play perfectly in sync with the video file i'm going to mux it with.
However, If I use the option with pitch correction the file comes out at 1:24:59 which is clearly not right and is nowhere near in sync with the video file when I mux it.
Any ideas why this happens?
I don't know why, but I just tested it and you're correct. It's obviously some sort of bug so I'll report it in the MeGUI thread at doom9. There were some changes made to the resampling/timestretch functions recently. It seems like something went wrong. http://forum.doom9.org/showthread.php?p=1672487#post1672487
Edit: I reported the problem. I assume you were referring to 23.976fps/25fps conversions? The conversion between 24fps and 25fps seems to work okay in either direction, but for 23.976 and 25fps it seems to be broken in both directions when using pitch correction.
Here's the thread if you want to check it for updated info. The MeGUI developers tend to sort out problems pretty quickly. http://forum.doom9.org/showthread.php?p=1679610#post1679610
Last edited by hello_hello; 2nd May 2014 at 14:31.
It comes down to whether you're using a standalone player, the type of audio it supports, the output container, and personal preference.
AC3 is still very popular as it's an industry standard and everything supports it. Plus it can be sent directly to a compatible receiver in digital form with decoding it first (it's referred to as pass-through). If the original audio is AC3, you'd probably just keep the original rather than re-encode it.... assuming you want AC3.
MP3 is commonly used in AVIs. Most players which support playing AVIs would support MP3 audio.
AAC is popular when outputting MP4 or MKV. It's more efficient than MP3 as it's a newer format and it supports multichannel audio, so you could re-encode 5.1ch DTS as 5.1ch AAC etc. MP3 is stereo-only so you'd need to downmix multichannel audio to stereo first.
Keep in mind AVI, MP4 and MKV etc are all just containers which can hold different types of audio and video. The most common combinations would probably be:
AVI: Xvid encoded video and MP3 or AC3.
MP4: x264 encoded video and AAC.
MKV: x264 encoded video and DTS or AC3 or AAC.
MeGUI (Zathor) to put in an appearance and update MeGUI. He doesn't seem to have posted in that thread for a couple of weeks, which is pretty unusual. Maybe he's on holiday or something. Hopefully soon.....
Now I understand the problem I can create a script which does the pitch correction correctly. Something like this is working for me:
LoadPlugin("C:\Program Files\MeGUI\tools\ffms\ffms2.dll") # Change ffms2.dll location as required
#LoadPlugin("C:\Program Files\MeGUI\tools\avs\plugins\TimeStretch.dll") # Uncomment for AviSynth+ only, change plugins location as required
FFAudioSource("D:\Audio.ac3") # Change audio type and location as necessary
# Uncomment the required timestretch option below.
#TimeStretch(tempo=(96/1.001)) # 25fps to 23.976fps
#TimeStretch(tempo=(240/2.5)) # 25fps to 24fps
#TimeStretch(tempo=(500.5/4.8)) # 23.976fps to 25fps
#TimeStretch(tempo=(250/2.4)) # 24fps to 25fps
I have foobar2000 installed along with the AviSynth decoder plugin, so I can open the above script and re-encode the audio with the required pitch correction easily that way. If you happen to be a foobar2000 user......
Someone else might be able to suggest a program which does audio pitch correction while speeding up (there's no doubt programs out there), but I'm sure MeGUI will be fixed...... hopefully quickly. Until then the above script should do the job.
Last edited by hello_hello; 4th May 2014 at 10:16.
the easiest method is to use your original Avisynth script:
The Soundout function opens a window with different output formats (wav, mp3, ac3), followed by bitrate settings. The pitch will be corrected.