Monday, August 1, 2011

Take the audio conversion challenge!

So yeah, I should be working on Rizelmine or some other stuff, but I've been trying to solve a vexing puzzle for a future project. As I mentioned in the past, I want to re-release the Summer 2002 series that Master of Entertainment sandwiched between the two halves of Rizelmine, G-On Riders. I managed to obtain these DVD raws, which are a definite improvement over the TV-rips, but are unfortunately encoded in .wmv with WMV3 video and Microsoft ACM audio. After changing the file names to remove Japanese characters, I managed to feed ep 01 into GraphEdit, insert the Haali Matroskamuxer filter, and create an .mkv for future muxing.

The obstacle here is the audio -- it won't load in Aegisub for retiming, it can't be extracted "as-is" by mkvextract, and it refuses to be transcoded. I was able to isolate the audio by remuxing the .mkv in mkvmerge without the video, although that raises questions of what the correct file extension should be. (.mka? .wav? .wma? .acm?)

The resulting audio file can be found here.

So, viewers, leechers, and citizens of the broader Internet, I turn to you for help: can anyone find a way to transcode this POS ancient audio track into something usable, like .mp3, ogg, or aac? As far as settings go, 192 kbps should be more than enough.

Programs I've attempted and failed with:
Audacity
Free Audio Converter
Avidemux
AnalogX Converter
AoA Audio Extractor Basic
Handbrake (no surprise that it failed)

Many of them will allow the file to be loaded, but pressing convert brings up an instantly-complete progress window, and results in a 0-byte or very small ( <1 MB) audio file. Free Audio converter actually took some time in "Processing," but then seems to hang forever after the progress bar completes.

If the audio can't be transcoded, I see my options as:

1) Use the 128 kbps mp3 audio from the TV-rips, and hope/pray that everything lines up properly. Lots of risk of desync, plus it's low-bitrate audio encoded back in 2002.
2) Play the audio file itself or the original raw in a media player, use Audacity to record the audio to another format in real-time, and remux with the video. Not only would that be time-consuming, but I'd have to compensate for human-error delays between me starting the file and starting the recording.

12 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. Opened in GoldWave, saved as mp3, and voilĂ !

    http://www.megaupload.com/?d=5PMXHJ6D

    Posted 44.1 kHz before, this one's 48 kHz.

    ReplyDelete
  3. TMPEnc Plus produced 251 mb lpcm-wav from your 31.4 mb whatever. Nero Ultra 7 re-encode produced 31.3 mb ac3. Your File could still be compressed and have bad extension.

    ReplyDelete
  4. I guess you already know the file shows a MS/ACM in MKV Merge but it can not extract it. No wonder since it is an extension not generally supported. All I could do now is re-encode it to a wav with TMPGEnc Plus with the CCCP codec package installed so as to read mkv/mka files.

    ReplyDelete
  5. If you use MKVExtractGUI 2 http://www.videohelp.com/tools/MKVExtractGUI-2 placed into mkvtoolnix folder, it extracts tracks from matroska with the right extension. You can try it. And for transcoding ... try MeGUI.

    ReplyDelete
  6. Oh snap, is that some Mizuhashi Kaori I hear in that audio?

    MKV files that contain only audio generally use the .mka extension, but .mkv also works. The actual file format is the same either way.

    A simple way to transcode this is to get AviSynth, WAVI, and NeroAacEnc. Make a new text file, change its extension to .avs, and put the following line in it:

    directshowsource("G-On Riders 01 (2).mkv", video=false, audio=true)

    Now make yourself another new text file, change its extension to .bat, and put this in it:

    wavi "whateveryounamedyour.avs" - | neroaacenc -q 0.5 -ignorelength -if - -of "audio.mp4"
    @pause

    Run the .bat file with WAVI and NeroAacEnc in the same folder and it will spit out the transcoded audio. Adjust the -q value up for higher bitrate if you want, but with such a crappy source, I doubt higher quality settings will be noticeable.

    ReplyDelete
  7. I was able to do with using MeGUI, I renamed it to .mkv, loaded into the audio tab, picked "Vorbis - High (Q=5)" (also disabled the volume normalization) and all went smoothly.

    This appears to be the AviSynth script used by MeGUI -> http://pastebin.com/RPb0ZR70

    Here's the resulting file -> http://www.mediafire.com/?042t540c9itizki

    ReplyDelete
  8. I used FormatFactory 2.60 to convert it to an MP3 file.

    ReplyDelete
  9. MPlayer from linux report the audio is a wma pro audio file. This is the output while playing the file.
    MPlayer SVN-r32624-4.3.4 (C) 2000-2010 MPlayer Team


    Playing G-On Riders 01 (2).wav.

    libavformat file format detected.
    [matroska,webm @ 0x13bfa80]
    Estimating duration from bitrate, this may be inaccurate
    [lavf] stream 0: audio (wmapro), -aid 0, -alang eng

    ==========================================================================

    Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders

    AUDIO: 48000 Hz, 2 ch, floatle, 190.2 kbit/6.19% (ratio: 23775->384000)

    Selected audio codec: [ffwmapro] afm: ffmpeg (WMA Pro audio (FFmpeg))

    ==========================================================================

    AO: [alsa] 48000Hz 2ch floatle (4 bytes per sample)

    ReplyDelete
  10. Indeed, it looks like WMA Pro (mediainfo plugin in mpc-hc says so and it kinda makes sense). Virutally any windows install should have decoder for that, and at the same time, ffmpeg/libavcodec (which is the basis of ffdshow/cccp and all opensource video players) can decode it, meaning it should be usable in players like vlc/mplayer (ffmpeg has the support for about a year iirc). So I think you should reatin the audio for the release, so that reencoding degradation doesn't happen.

    As for aegisub, some tips to maybe load this track into it: 1) update aegisub to latest (meaning prerelease) build. It might be able to decode the track now. 2) In aegisub, try switching the audio provider to avisynth (or to ffmpegsource? dunno what you have selected). Avisynth might be able to use the windows directshow decoder (assuming you are on windows).

    Good luck!

    ~Manda

    ReplyDelete
  11. My Aegisub 2.1.6 install from ages ago succesfuly opens your file. I have teh audio provider set to "avisynth" (options - audio - advanced).

    ReplyDelete
  12. tried foobar2000?

    ReplyDelete