#8585: Silence/volume problem when converting ATRAC files -------------------------------------+------------------------------------- Reporter: lukpac | Type: defect Status: new | Priority: normal Component: | Version: undetermined | unspecified Keywords: atrac | Blocked By: atrac1 atrac3plus | Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- FFmpeg seems to be inserting what amount to fade-ups at the start of ATRAC1 and ATRAC3plus files (and possibly others, but those are all I have tested).
For ATRAC3plus, I transferred a file from MiniDisc using Sony's SonicStage software (v 4.3.01.14050). This converts the original ATRAC1 data on the disc itself to ATRAC3plus. In addition, SonicStage will automatically convert to WAV after transferring. While the WAVs created by SonicStage seem to be fine, converting the OMA/ATRAC3plus file using FFmpeg results in a fade-up from silence of approximately 0.05 seconds at the start of the file. Here is the relevant conversion information: C:\Program Files\ffmpeg-20200324-e5d25d1-win64-static\bin>ffmpeg.exe -i "F:\ffmpeg_test\002-Roll In My Sweet Baby's Arms.oma" -loglevel 99 "F:\ffmpeg_test\002-Roll In My Sweet Baby's Arms-ffmpeg.wav" ffmpeg version git-2020-03-24-e5d25d1 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.2.1 (GCC) 20200122 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable- fontconfig --enable-gnutls --enable-iconv --enable-libass --enable- libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable- libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable- libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable- d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf libavutil 56. 42.101 / 56. 42.101 libavcodec 58. 76.100 / 58. 76.100 libavformat 58. 42.100 / 58. 42.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 77.100 / 7. 77.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 libpostproc 55. 6.100 / 55. 6.100 Splitting the commandline. Reading option '-i' ... matched as input url with argument 'F:\ffmpeg_test\002-Roll In My Sweet Baby's Arms.oma'. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'. Reading option 'F:\ffmpeg_test\002-Roll In My Sweet Baby's Arms- ffmpeg.wav' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option loglevel (set logging level) with argument 99. Successfully parsed a group of options. Parsing a group of options: input url F:\ffmpeg_test\002-Roll In My Sweet Baby's Arms.oma. Successfully parsed a group of options. Opening an input file: F:\ffmpeg_test\002-Roll In My Sweet Baby's Arms.oma. [NULL @ 00000176298cb0c0] Opening 'F:\ffmpeg_test\002-Roll In My Sweet Baby's Arms.oma' for reading [file @ 00000176298cc280] Setting default whitelist 'file,crypto,data' Probing oma score:25 size:2048 Probing oma score:100 size:4096 [oma @ 00000176298cb0c0] Format oma probed with size=4096 and score=100 [oma @ 00000176298cb0c0] id3v2 ver:3 flags:00 len:3062 [oma @ 00000176298cb0c0] File is encrypted [oma @ 00000176298cb0c0] RID: 0001001d [oma @ 00000176298cb0c0] IV: 152f24153b47eb8c [oma @ 00000176298cb0c0] CBC-MAC: b3adf37070e669ab [oma @ 00000176298cb0c0] EK: 141ca30f90f12ef9 [oma @ 00000176298cb0c0] Before avformat_find_stream_info() pos: 3168 bytes read:32768 seeks:0 nb_streams:1 [oma @ 00000176298cb0c0] All info found [oma @ 00000176298cb0c0] Estimating duration from bitrate, this may be inaccurate [oma @ 00000176298cb0c0] stream 0: start_time: 0.000 duration: 236.333 [oma @ 00000176298cb0c0] format: start_time: 0.000 duration: 236.333 (estimate from bit rate) bitrate=256 kb/s [oma @ 00000176298cb0c0] After avformat_find_stream_info() pos: 4656 bytes read:32768 seeks:0 frames:1 Input #0, oma, from 'F:\ffmpeg_test\002-Roll In My Sweet Baby's Arms.oma': Metadata: title : Roll In My Sweet Baby's Arms album : 20051129 set 1 Lonesome Rogues OMG_ALBMS : 20051129 set 1 Lonesome Rogues OMG_TIT2S : Roll In My Sweet Baby's Arms Duration: 00:03:56.33, start: 0.000000, bitrate: 256 kb/s Stream #0:0, 1, 1/44100: Audio: atrac3p ([1][0][0][0] / 0x0001), 44100 Hz, stereo, fltp, 256 kb/s Successfully opened the file. Parsing a group of options: output url F:\ffmpeg_test\002-Roll In My Sweet Baby's Arms-ffmpeg.wav. Successfully parsed a group of options. Opening an output file: F:\ffmpeg_test\002-Roll In My Sweet Baby's Arms- ffmpeg.wav. [file @ 00000176298cd780] Setting default whitelist 'file,crypto,data' Successfully opened the file. Stream mapping: Stream #0:0 -> #0:0 (atrac3p (atrac3plus) -> pcm_s16le (native)) Press [q] to stop, [?] for help cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) detected 8 logical cores [graph_0_in_0_0 @ 00000176298f7a80] Setting 'time_base' to value '1/44100' [graph_0_in_0_0 @ 00000176298f7a80] Setting 'sample_rate' to value '44100' [graph_0_in_0_0 @ 00000176298f7a80] Setting 'sample_fmt' to value 'fltp' [graph_0_in_0_0 @ 00000176298f7a80] Setting 'channel_layout' to value '0x3' [graph_0_in_0_0 @ 00000176298f7a80] tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:0x3 [format_out_0_0 @ 000001762993c280] Setting 'sample_fmts' to value 's16' [format_out_0_0 @ 000001762993c280] auto-inserting filter 'auto_resampler_0' between the filter 'Parsed_anull_0' and the filter 'format_out_0_0' [AVFilterGraph @ 00000176298f7600] query_formats: 4 queried, 6 merged, 3 already done, 0 delayed [auto_resampler_0 @ 000001762993c880] [SWR @ 000001762993e440] Using fltp internally between filters [auto_resampler_0 @ 000001762993c880] ch:2 chl:stereo fmt:fltp r:44100Hz -> ch:2 chl:stereo fmt:s16 r:44100Hz Output #0, wav, to 'F:\ffmpeg_test\002-Roll In My Sweet Baby's Arms- ffmpeg.wav': Metadata: INAM : Roll In My Sweet Baby's Arms IPRD : 20051129 set 1 Lonesome Rogues OMG_ALBMS : 20051129 set 1 Lonesome Rogues OMG_TIT2S : Roll In My Sweet Baby's Arms ISFT : Lavf58.42.100 Stream #0:0, 0, 1/44100: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s Metadata: encoder : Lavc58.76.100 pcm_s16le [out_0_0 @ 00000176298d3300] EOF on sink link out_0_0:default.341x No more output streams to write to, finishing. size= 40712kB time=00:03:56.33 bitrate=1411.2kbits/s speed= 363x video:0kB audio:40712kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000374% Input file #0 (F:\ffmpeg_test\002-Roll In My Sweet Baby's Arms.oma): Input stream #0:0 (audio): 5089 packets read (7572432 bytes); 5089 frames decoded (10422272 samples); Total: 5089 packets (7572432 bytes) demuxed Output file #0 (F:\ffmpeg_test\002-Roll In My Sweet Baby's Arms- ffmpeg.wav): Output stream #0:0 (audio): 5089 frames encoded (10422272 samples); 5089 packets muxed (41689088 bytes); Total: 5089 packets (41689088 bytes) muxed 5089 frames successfully decoded, 0 decoding errors [AVIOContext @ 000001762993b000] Statistics: 4 seeks, 162 writeouts [AVIOContext @ 00000176298d4500] Statistics: 7575600 bytes read, 0 seeks Other than the fade-up, the resulting WAVs are essentially the same whether converted using FFmpeg or SonicStage, although they are not digitally identical (even after the fade-up). I have also been able to transfer the raw ATRAC1 data from MiniDisc using QHiMDTransfer. While I am unable to convert these to WAV using SonicStudio to provide a baseline, the same fade-up behavior seems to be present. Here is the relevant conversion information: C:\Program Files\ffmpeg-20200324-e5d25d1-win64-static\bin>ffmpeg -v 9 -loglevel 99 -i "F:\Roll In My Sweet Baby's Arms.aea" "F:\ffmpeg_test\Roll In My Sweet Baby's Arms-ffmpeg.wav" ffmpeg version git-2020-03-24-e5d25d1 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.2.1 (GCC) 20200122 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable- fontconfig --enable-gnutls --enable-iconv --enable-libass --enable- libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable- libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable- libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable- d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf libavutil 56. 42.101 / 56. 42.101 libavcodec 58. 76.100 / 58. 76.100 libavformat 58. 42.100 / 58. 42.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 77.100 / 7. 77.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 libpostproc 55. 6.100 / 55. 6.100 Splitting the commandline. Reading option '-v' ... matched as option 'v' (set logging level) with argument '9'. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'. Reading option '-i' ... matched as input url with argument 'F:\Roll In My Sweet Baby's Arms.aea'. Reading option 'F:\ffmpeg_test\Roll In My Sweet Baby's Arms-ffmpeg.wav' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option v (set logging level) with argument 9. Successfully parsed a group of options. Parsing a group of options: input url F:\Roll In My Sweet Baby's Arms.aea. Successfully parsed a group of options. Opening an input file: F:\Roll In My Sweet Baby's Arms.aea. [NULL @ 000001e7d954b0c0] Opening 'F:\Roll In My Sweet Baby's Arms.aea' for reading [file @ 000001e7d954c240] Setting default whitelist 'file,crypto,data' Probing mp3 score:12 size:2048 [aea @ 000001e7d954b0c0] Format aea detected only with low score of 1, misdetection possible! id3v2 ver:3 flags:00 len:2101 [aea @ 000001e7d954b0c0] Before avformat_find_stream_info() pos: 4159 bytes read:1048576 seeks:0 nb_streams:1 [aea @ 000001e7d954b0c0] All info found [aea @ 000001e7d954b0c0] Estimating duration from bitrate, this may be inaccurate [aea @ 000001e7d954b0c0] stream 0: start_time: -102481911520608.625 duration: 236.464 [aea @ 000001e7d954b0c0] format: start_time: -9223372036854.775 duration: 236.464 (estimate from bit rate) bitrate=292 kb/s [aea @ 000001e7d954b0c0] After avformat_find_stream_info() pos: 25359 bytes read:1048576 seeks:0 frames:50 Input #0, aea, from 'F:\Roll In My Sweet Baby's Arms.aea': Metadata: artist : The Lonesome Rogues Duration: 00:03:56.46, bitrate: 292 kb/s Stream #0:0, 50, 1/90000: Audio: atrac1, 44100 Hz, stereo, fltp, 292 kb/s Successfully opened the file. Parsing a group of options: output url F:\ffmpeg_test\Roll In My Sweet Baby's Arms-ffmpeg.wav. Successfully parsed a group of options. Opening an output file: F:\ffmpeg_test\Roll In My Sweet Baby's Arms- ffmpeg.wav. [file @ 000001e7d9553300] Setting default whitelist 'file,crypto,data' Successfully opened the file. Stream mapping: Stream #0:0 -> #0:0 (atrac1 (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) detected 8 logical cores [graph_0_in_0_0 @ 000001e7d9667ac0] Setting 'time_base' to value '1/44100' [graph_0_in_0_0 @ 000001e7d9667ac0] Setting 'sample_rate' to value '44100' [graph_0_in_0_0 @ 000001e7d9667ac0] Setting 'sample_fmt' to value 'fltp' [graph_0_in_0_0 @ 000001e7d9667ac0] Setting 'channel_layout' to value '0x3' [graph_0_in_0_0 @ 000001e7d9667ac0] tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:0x3 [format_out_0_0 @ 000001e7d9668040] Setting 'sample_fmts' to value 's16' [format_out_0_0 @ 000001e7d9668040] auto-inserting filter 'auto_resampler_0' between the filter 'Parsed_anull_0' and the filter 'format_out_0_0' [AVFilterGraph @ 000001e7d961eb40] query_formats: 4 queried, 6 merged, 3 already done, 0 delayed [auto_resampler_0 @ 000001e7d966a680] [SWR @ 000001e7d966a8c0] Using fltp internally between filters [auto_resampler_0 @ 000001e7d966a680] ch:2 chl:stereo fmt:fltp r:44100Hz -> ch:2 chl:stereo fmt:s16 r:44100Hz Output #0, wav, to 'F:\ffmpeg_test\Roll In My Sweet Baby's Arms- ffmpeg.wav': Metadata: IART : The Lonesome Rogues ISFT : Lavf58.42.100 Stream #0:0, 0, 1/44100: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s Metadata: encoder : Lavc58.76.100 pcm_s16le F:\Roll In My Sweet Baby's Arms.aea: I/O error [out_0_0 @ 000001e7d9667e00] EOF on sink link out_0_0:default. No more output streams to write to, finishing. size= 40712kB time=00:03:56.33 bitrate=1411.2kbits/s speed= 496x video:0kB audio:40712kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000254% Input file #0 (F:\Roll In My Sweet Baby's Arms.aea): Input stream #0:0 (audio): 20356 packets read (8630944 bytes); 20356 frames decoded (10422272 samples); Total: 20356 packets (8630944 bytes) demuxed Output file #0 (F:\ffmpeg_test\Roll In My Sweet Baby's Arms-ffmpeg.wav): Output stream #0:0 (audio): 20356 frames encoded (10422272 samples); 20356 packets muxed (41689088 bytes); Total: 20356 packets (41689088 bytes) muxed 20356 frames successfully decoded, 0 decoding errors [AVIOContext @ 000001e7d9553400] Statistics: 4 seeks, 162 writeouts [AVIOContext @ 000001e7d95544c0] Statistics: 8635103 bytes read, 0 seeks I am happy to provide files for analysis. -- Ticket URL: <https://trac.ffmpeg.org/ticket/8585> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker _______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org https://ffmpeg.org/mailman/listinfo/ffmpeg-trac To unsubscribe, visit link above, or email ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".