Skip to main content
Topic: OGG files clicking on playback, also converting wrong (Read 783 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

OGG files clicking on playback, also converting wrong

Two problems related to OGG files plague Foobar 1.3.17 (also Foobar 1.3.16).

Problem 1: OGG files click/pop on playback. Winamp and Audacity both do not experience these clicks/pops.

Problem 2: If you convert an OGG file to WAV using Foobar, it won't convert correctly. It will be shorter than the original file for reasons unknown. It will also transfer the clicks/pops to the WAV's audio, permanently deforming it. Using Audacity to convert the OGG to WAV will avoid this problem.

EDIT: By the way, I'm using Windows 10 64-bit edition, if it matters.

EDIT 2: Also to be clear, I'm not using any DSPs or filters.

EDIT 3: Curiously, I'm now finding that it effects some OGG files but not others. Any ideas what could cause that and the different behavior in different audio programs?

Re: OGG files clicking on playback, also converting wrong

Reply #1
Upload an Ogg file that exhibits this error? I cannot reproduce, at least not with the files I have.

Re: OGG files clicking on playback, also converting wrong

Reply #2
Certainly. Here is Ruins, from Undertale. It's a track where the problems are obvious.

Re: OGG files clicking on playback, also converting wrong

Reply #3
There were warnings when processing it to pcm_s32le .wav with the latest FFmpeg, but it decoded without the aforementioned glitching.

Code: [Select]
& 'C:\Program Files\FFmpeg\bin\ffmpeg.exe' -i .\mus_ruins.ogg -c:a pcm_f32le mus_ruins.wav
ffmpeg version N-89310-g86cead5256 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --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-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
  libavutil      56.  3.100 / 56.  3.100
  libavcodec     58.  6.101 / 58.  6.101
  libavformat    58.  2.103 / 58.  2.103
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  5.100 /  7.  5.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Input #0, ogg, from '.\mus_ruins.ogg':
  Duration: 00:01:31.31, start: 0.000000, bitrate: 91 kb/s
    Stream #0:0: Audio: vorbis, 44100 Hz, stereo, fltp, 112 kb/s
    Metadata:
      ENCODER         : Lavc56.12.101 libvorbis
Stream mapping:
  Stream #0:0 -> #0:0 (vorbis (native) -> pcm_f32le (native))
Press [q] to stop, [?] for help
Output #0, wav, to 'mus_ruins.wav':
  Metadata:
    ISFT            : Lavf58.2.103
    Stream #0:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Metadata:
      encoder         : Lavc58.6.101 pcm_f32le
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 403392, current: 403072; changing to 403392. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 403392, current: 403200; changing to 403392. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 537280, current: 536960; changing to 537280. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 537280, current: 537088; changing to 537280. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 537280, current: 537216; changing to 537280. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 805696, current: 805376; changing to 805696. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 805696, current: 805504; changing to 805696. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 805696, current: 805632; changing to 805696. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 1208000, current: 1207680; changing to 1208000. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 1208000, current: 1207808; changing to 1208000. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 1208000, current: 1207936; changing to 1208000. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 1342656, current: 1342336; changing to 1342656. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 1342656, current: 1342464; changing to 1342656. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 1342656, current: 1342592; changing to 1342656. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 1745216, current: 1744896; changing to 1745216. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 1745216, current: 1745024; changing to 1745216. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 1745216, current: 1745152; changing to 1745216. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 2637120, current: 2636800; changing to 2637120. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 2637120, current: 2636928; changing to 2637120. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 2637120, current: 2637056; changing to 2637120. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 3441984, current: 3441664; changing to 3441984. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 3441984, current: 3441792; changing to 3441984. This may result in incorrect timestamps in the output file.
[wav @ 000001926c19c160] Non-monotonous DTS in output stream 0:0; previous: 3441984, current: 3441920; changing to 3441984. This may result in incorrect timestamps in the output file.
size=   31468kB time=00:01:31.33 bitrate=2822.4kbits/s speed= 428x
video:0kB audio:31468kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000354%

Re: OGG files clicking on playback, also converting wrong

Reply #4
The Vorbis payload of this file is good and it is fully possible to decode without glitching.

The errors are due to nonsensical timestamps of Ogg packets produced by a buggy encoder - which most of other players disregard.

This will be worked around in the next foobar2000 update.

For now you can mitigate this by remuxing the file to another format such as Matroska-
ffmpeg -i mus_ruins.ogg -acodec copy mus_ruins.mka
The process is lossless and does not affect the quality in any way, just puts the same payload in a container that foobar2000 reads without issues.

Re: OGG files clicking on playback, also converting wrong

Reply #5
Hello again. I thought it would be more appropriate to reply here instead of creating a new topic. If I was wrong, I apologize.

After the new Foobar update (v1.3.18), the problem I reported above still exists. Was it decided to not fix it or was it forgotten?

Thank you.

Re: OGG files clicking on playback, also converting wrong

Reply #6
It's fixed in foobar2000 v1.4 series, which was supposed to be the next release.

 

Re: OGG files clicking on playback, also converting wrong

Reply #7
Thanks for reminding, now that I've had to push version 1.3.19 due to another more urgent issue, I included this fix as well.

>>> https://www.foobar2000.org/download

 
SimplePortal 1.0.0 RC1 © 2008-2018