Opened 12 months ago
Last modified 12 months ago
#10696 new defect
44.1 16-bit monkey's audio .ape file decodes with blasts of noise
Reported by: | therentabrain | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | monkey's audio .ape |
Cc: | therentabrain | Blocked By: | |
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description (last modified by )
Summary of the bug:
Occasional .ape files created by Monkey's Audio 3.88 in Extra High mode are mangled when read by ffmpeg, as containing sections of white noise and/or silence. Out of about 60 files in my tests, it happened 3 times.
Files created by Monkey's Audio 3.99 did not seem to have this problem in my experience. Still, the problem files test with no errors and can be successfully played in Winamp or decompressed by either version of MA without a problem. Only ffmpeg fails and only under this specific situation.
How to reproduce:
I:\>ffmpeg -i themagicwannago.ape themagicwannago.wav ffmpeg version 2023-11-22-git-0008e1c5d5-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers built with gcc 12.2.0 (Rev10, Built by MSYS2 project) configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint libavutil 58. 32.100 / 58. 32.100 libavcodec 60. 34.100 / 60. 34.100 libavformat 60. 17.100 / 60. 17.100 libavdevice 60. 4.100 / 60. 4.100 libavfilter 9. 13.100 / 9. 13.100 libswscale 7. 6.100 / 7. 6.100 libswresample 4. 13.100 / 4. 13.100 libpostproc 57. 4.100 / 57. 4.100 Input #0, ape, from 'themagicwannago.ape': Duration: 00:00:01.87, start: 0.000000, bitrate: 370 kb/s Stream #0:0: Audio: ape (APE / 0x20455041), 44100 Hz, stereo, s16p Stream mapping: Stream #0:0 -> #0:0 (ape (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'themagicwannago.wav': Metadata: ISFT : Lavf60.17.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s Metadata: encoder : Lavc60.34.100 pcm_s16le [out#0/wav @ 0000017fc96c8880] video:0kB audio:322kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.023639% size= 322kB time=00:00:01.67 bitrate=1579.3kbits/s speed= 101x
File info from Monkey's Audio 3.88:
Format Info Version: 3.8 Mode: Extra High Format Flags: 6 Tag: None Audio Info Sample Rate: 44100 Channels: 2 Bits Per Sample: 16 Peak Level: 22186 Length / Size Info Length: 0:01 File Size: 0.00 MB Compression: 26.22%
Monkey's Audio 3.99 reports no errors with it either, and both versions of MA have no problems decoding it correctly. Then, the resulting WAV can then be turned into FLAC etc by ffmpeg just fine.
I did notice that using MediaInfo (0.7.80), the number of tracks is hugely incorrect on these files. The attached test file here shows as 2,500 tracks in MediaInfo, when it should say two. In my limited experience, MediaInfo is capable of seeing the correct number of tracks in my other ape files. That said, most of these v2.88 Extra High ape files that show a huge number of tracks in MediaInfo still converted perfectly back to 2ch WAV using ffmpeg.
I want to add, even if this was a bug in a 20 year old version of Monkey's Audio that has been fixed in newer versions, the risk here is using ffmpeg to convert precious old .ape files (in my case to .flacs), not receiving any errors at all, deleting the old files, and discovering at some point in the future that many of your dearly valued old archives are gone.
Thanks!
Attachments (2)
Change History (3)
by , 12 months ago
Attachment: | themagicwannago.ape added |
---|
comment:1 by , 12 months ago
Description: | modified (diff) |
---|
ape file made with v2.88, tests as valid and plays fine, chokes in ffmpeg