Opened 3 years ago

Closed 2 years ago

#9437 closed defect (needs_more_info)

bursts of noise in alac output

Reported by: Nat Goodspeed Owned by:
Priority: normal Component: avcodec
Version: 4.3.2 Keywords: noise output
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:

Converting a particular 2-minute .ogg file to ALAC as .m4a produces a file containing brief bursts of white noise every couple seconds. This seems reminiscent of #2497, which was closed as fixed 8 years ago. Also that one only complained of a single burst of noise.

Moreover, although iTunes correctly reports the song duration as 2:02, at about 1:12 (after 16 such bursts) iTunes abruptly stops playing.

The whole point of attempting this conversion is to be able to play my nontrivial collection of .ogg files on iTunes, hence it must be a format understood by that player. I want to convert to ALAC rather than plain AAC since the original .ogg files are already lossy and I don't want to degrade the quality in conversion. This is the first song file I've tried, but results so far are hardly encouraging.

How to reproduce:

% ffmpeg -i songfile.ogg -acodec alac songfile.m4a
ffmpeg is quite recently installed from MacPorts:
ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
  built with Apple LLVM version 10.0.0 (clang-1000.10.44.4)
  ...
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100

I selected Version 4.3.2 in the pulldown since I don't see version 4.4 there.

Attachments (1)

Everybody's Weird.ogg (1.8 MB ) - added by Nat Goodspeed 3 years ago.
Drives described bug

Download all attachments as: .zip

Change History (11)

comment:1 by Elon Musk, 3 years ago

To make this valid ticked you need to provide that input file.

by Nat Goodspeed, 3 years ago

Attachment: Everybody's Weird.ogg added

Drives described bug

comment:2 by Elon Musk, 3 years ago

If this is bug at all, its bug in vorbis decoding.

comment:3 by Elon Musk, 3 years ago

oggdec/ogg123 decodes with same burst noises, so not our bug at least.

in reply to:  3 comment:4 by Nat Goodspeed, 3 years ago

Replying to Elon Musk:

oggdec/ogg123 decodes with same burst noises, so not our bug at least.

Do we know what vorbis engine Clementine uses? That player plays that file without the noise bursts.

comment:5 by Elon Musk, 3 years ago

Actually i misread your report. I thought you talk about small burst at beginning and not about constant burst of noise. Anyway I can not reproduce your issue at all.

Looks like flawed ffmpeg build to me. Try another one.

in reply to:  5 comment:6 by Nat Goodspeed, 3 years ago

Replying to Elon Musk:

Actually i misread your report. I thought you talk about small burst at beginning and not about constant burst of noise. Anyway I can not reproduce your issue at all.

Looks like flawed ffmpeg build to me. Try another one.

This one is from ffmpeg 4.3.1 on Ubuntu, installed via the Ubuntu Software app:
https://drive.google.com/file/d/1DPyUAfaGDV2mjI93tTZwnrnEBj5GQXHw/view?usp=sharing

ffmpeg version n4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
  configuration: --prefix= --prefix=/usr --disable-debug --disable-doc --disable-static --enable-cuda --enable-cuda-sdk --enable-cuvid --enable-libdrm --enable-ffplay --enable-gnutls --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libmp3lame --enable-libnpp --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopus --enable-libpulse --enable-sdl2 --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-nonfree --enable-nvenc --enable-omx --enable-openal --enable-opencl --enable-runtime-cpudetect --enable-shared --enable-vaapi --enable-vdpau --enable-version3 --enable-xlib
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100

As you can hear, this suffers from bursts of static too. I haven't done a head-to-head to determine whether the static bursts appear in exactly the same places, but that seems likely.

comment:7 by Elon Musk, 3 years ago

Try with 4.4 instead.

in reply to:  7 comment:8 by Nat Goodspeed, 3 years ago

Replying to Elon Musk:

Try with 4.4 instead.

It took me a while, but I did retry with ffmpeg 4.4, this one built from MacPorts on a newer Mac:

$ ffmpeg -i "Everybody's Weird.ogg" -acodec alac "Everybody's Weird.m4a"
ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
  built with Apple clang version 12.0.5 (clang-1205.0.22.11)
  configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-librsvg --enable-libtheora --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libsoxr --enable-libspeex --enable-libass --enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --enable-zlib --disable-libjack --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --disable-indev=jack --enable-opencl --disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox --enable-sdl2 --disable-securetransport --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --enable-libzimg --enable-libdav1d --arch=x86_64 --enable-x86asm --enable-libx265 --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Input #0, ogg, from 'Famous_Last_Words_-_ODDS14_Everybody's_Weird.ogg':
  Duration: 00:02:02.07, start: 0.000000, bitrate: 122 kb/s
  Stream #0:0: Audio: vorbis, 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      title           : Everybody's Weird
      artist          : Famous Last Words
      album           : CDDB info not available
      track           : 14
      genre           : folk
      comment         : Produced using crip v3.7 (http://bach.dynet.com/crip) on Sun Jun 10 20:19:07 EDT 2007
      sourcemedia     : CD
      discid          : 0d0c5d14
      encoding        : OggEnc v1.0.2 -q 4
      REPLAYGAIN_TRACK_PEAK: 0.91232300
      REPLAYGAIN_TRACK_GAIN: -3.94 dB
    Side data:
      replaygain: track gain - -3.940000, track peak - 0.000021, album gain - unknown, album peak - unknown, 
File 'Everybody's Weird.m4a' already exists. Overwrite? [y/N] y
Stream mapping:
  Stream #0:0 -> #0:0 (vorbis (native) -> alac (native))
Press [q] to stop, [?] for help
[alac @ 0x7fd41100be00] encoding as 24 bits-per-sample
Output #0, ipod, to 'Everybody's Weird.m4a':
  Metadata:
    encoder         : Lavf58.76.100
  Stream #0:0: Audio: alac (alac / 0x63616C61), 44100 Hz, stereo, s32p (24 bit), 128 kb/s
    Metadata:
      title           : Everybody's Weird
      artist          : Famous Last Words
      album           : CDDB info not available
      track           : 14
      genre           : folk
      comment         : Produced using crip v3.7 (http://bach.dynet.com/crip) on Sun Jun 10 20:19:07 EDT 2007
      sourcemedia     : CD
      discid          : 0d0c5d14
      encoding        : OggEnc v1.0.2 -q 4
      REPLAYGAIN_TRACK_PEAK: 0.91232300
      REPLAYGAIN_TRACK_GAIN: -3.94 dB
      encoder         : Lavc58.134.100 alac
    Side data:
      replaygain: track gain - -3.940000, track peak - 0.000021, album gain - unknown, album peak - unknown, 
size=   21573kB time=00:02:02.04 bitrate=1448.1kbits/s speed= 178x    
video:0kB audio:21566kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.032725%

The song is still interrupted by frequent bursts of static. I could post the output file, but to me it sounds just like the one I already linked above.

comment:9 by Elon Musk, 3 years ago

I'm really out of ideas. on master i enabled integer and undefined sanitizer and they reported nothing relevant, so i never get those bursts of noise.

comment:10 by Elon Musk, 2 years ago

Resolution: needs_more_info
Status: newclosed

Feel free to reopen if this still happens and upload ffmpeg -i buggy.alac x.wv wavpack file of decoding from your side.

Note: See TracTickets for help on using tickets.