Menu

#96 ASIO+DSD buffer issue with DSPs enabled

1.x.x
open
asio+dsd (2)
1
2025-03-05
2025-02-03
ManniX-ITA
No

I started noticing that there was a quite noticeable audio buzz when manually changing tracks.
Something is wrong in how the DSPs are handled with ASIO+DSD output plugin.

I use the DSD Processor to convert with the DSP manager everything that plays to DSD256.
Before the new track starts playing a very loud buzz last for maybe 50-100 ms.
It's clearly the audio buffer of the previous track because it changes accordingly.

It can be reproduced very easily with the "Fake Gapless" plugin.
Add it 5 times with max duration 10ms and start zapping from track to track.
Long buzz, seems 100-200ms, between each manual track change.

Same with the ASIO plugin (January 2025 version) and it goes smoothly with a brief pause which seems 50ms and without any buzz.

Related

Support Requests: #96

Discussion

  • Maxim V.Anisiutkin

    Seems that foo_output_asio+dsd plugin needs implementing delayed start for the incoming track.

     
    • ManniX-ITA

      ManniX-ITA - 2025-02-10

      That could be it :)

      I'm not very familiar with foobar plugin development, it's very messy and
      I'm an amateur developer, but if I can help let me know.
      Was working on an improved sox plugin but kinda failed to deliver.

      On Mon, 10 Feb 2025 at 09:54, Maxim V.Anisiutkin manisiutkin@users.sourceforge.net wrote:

      Seems that foo_output_asio+dsd plugin needs implementing delayed start for
      the incoming track.


      [support-requests:#96]
      https://sourceforge.net/p/sacddecoder/support-requests/96/ ASIO+DSD
      buffer issue with DSPs enabled

      Status: open
      Group: 1.x.x
      Labels: asio+dsd
      Created: Mon Feb 03, 2025 08:17 PM UTC by ManniX-ITA
      Last Updated: Mon Feb 03, 2025 08:17 PM UTC
      Owner: Maxim V.Anisiutkin

      I started noticing that there was a quite noticeable audio buzz when
      manually changing tracks.
      Something is wrong in how the DSPs are handled with ASIO+DSD output plugin.

      I use the DSD Processor to convert with the DSP manager everything that
      plays to DSD256.
      Before the new track starts playing a very loud buzz last for maybe 50-100
      ms.
      It's clearly the audio buffer of the previous track because it changes
      accordingly.

      It can be reproduced very easily with the "Fake Gapless" plugin.
      Add it 5 times with max duration 10ms and start zapping from track to
      track.
      Long buzz, seems 100-200ms, between each manual track change.

      Same with the ASIO plugin (January 2025 version) and it goes smoothly with
      a brief pause which seems 50ms and without any buzz.


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/sacddecoder/support-requests/96/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

      Related

      Support Requests: #96

  • Maxim V.Anisiutkin

    Please, try v0.4.4. That's a quick fix but might help.

     
  • ManniX-ITA

    ManniX-ITA - 2025-02-12

    Almost perfect now?
    The quick fix really helps :)

    Just a few times when quickly manually changing track you get the old buffer played out at the start, in line with the normal ASIO plugin.

    Maybe placebo effect but seems more stable as well.

    Thanks again!

     
  • Maxim V.Anisiutkin

    If you did some development here's the short story. When jumping from track
    to track with the same parameters or inside the same track the ideal
    solution would be fade-out/fade-in. But it's not an option for DoP/DSD
    tracks. Here it can be done in 2 not so good ways: 1) ASIO::stop(), flush
    playback buffer, put some data in playback buffer, ASIO::start() or 2) Just
    flush playback buffer and play silence while there's not enough data in
    playback buffer. foo_out_asio+dsd plugin does it in the second way. In the
    next version I'll try to improve this switching from track to track.

     
  • ManniX-ITA

    ManniX-ITA - 2025-02-13

    Thanks for info.
    I only messed a bit via high level APIs on C#, not the best, till I realised I didn't need it :)

    I would have thought the solution 2) would be the correct one... just bring the DSD volume to zero and empty the buffer.
    What would be instead a good way?

     
  • Anonymous

    Anonymous - 2025-02-14
    Post awaiting moderation.
  • Anonymous

    Anonymous - 2025-02-14

    v 0.4.4 and 0.4.5 is crashing when open foobar...

     
  • seongjin cho

    seongjin cho - 2025-02-14

    v 0.4.4 and 0.4.5 has crashed when open foobar2000!

     
  • Maxim V.Anisiutkin

    If foobar version is 1.x then please install what is in subfolder foobar_1.5-1.6.

     
  • ManniX-ITA

    ManniX-ITA - 2025-02-14

    Both works for me.
    Unfortunately can't test the improvement of 0.4.5.
    My Yamaha amp died in standby. AGAIN.
    Need to think about something else...

     
  • Maxim V.Anisiutkin

    How old is it?

     
  • ManniX-ITA

    ManniX-ITA - 2025-02-14

    I don't remember how old, I bought it 2nd hand a few years ago.

    It's the same problem that almost all Yamaha amps made in the last years are suffering, there's one capacitor on the power supply PCB that blows out.
    I have already replaced it with another one.

    Okay, it was a generic one and not the super Nichicon:
    https://www.digikey.de/en/products/detail/nichicon/qxk2j223ktp/2117924

    But this one didn't last very long, I fear the Nichicon will not last much more.

     
  • Maxim V.Anisiutkin

    I see. Anyway, there're shouldn't be much of improvements in v0.4.5.

     
  • ManniX-ITA

    ManniX-ITA - 2025-02-15

    I'll let you know, will probably need at least 2 or 3 weeks before I can make the repair.

     
  • Maxim V.Anisiutkin

    Ok. We'll continue when it's fixed.

     
  • ManniX-ITA

    ManniX-ITA - 2025-03-04

    Seems this time the cap fried and killed something else as well.
    Will check again tomorrow but I'm thinking about buying a new amp.
    I will open a new ticket on the DSD Processor CPU usage in the meantime, don't need the amp for that.

     
  • ManniX-ITA

    ManniX-ITA - 2025-03-05

    Had to replace the resistor after the cap as well.
    Luckily seems to work now, let's see how long it will last.
    I ended up using an MKP X1 cap as I had a better feeling, is keeping 22.1nF stable while the Nichicon a bit more than 23nF and the Y1 cap about 21nF.

    Anyway, I'm back in business.

    The pop while changing tracks is gone, excellent.

    Now about the pops while starting playback and stopping playback:
    - Starting playback
    - ASIO: Randomly a small pop
    - ASIO+DSD: Always a big pop
    - Stopping playback
    - ASIO: Always a small pop
    - ASIO+DSD: Always a small pop

    Fixing the starting playback pop would bring already ASIO+DSD on top of ASIO as quality.
    If it'd be possible to do something to mitigate the stopping playback pop that would be amazing.

     

Anonymous
Anonymous

Add attachments
Cancel





Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.