• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

XMOS driver settings for no cutoff/delay

Es apsvēru iespēju izveidot sava veida "pamācību" visiem XMOS draiveriem ierīcēs, kurām ir nogrieznis — latentums starp skaņas sākumu un dac "reaģēšanu" un šīs skaņas atskaņošanu...
Tātad šeit tas ir:

XMOS draiveri izmanto vadības paneli, kas atšķiras no šī:
View attachment 147854

Parasti izvēlnes "Opcijas", kas ir mūsu vajadzībām interesantākā daļa, nav. Lūdzu, ņemiet vērā, ka *daži* ražotāji joprojām izvēlas pilnībā bloķēt šo izvēlni neatkarīgi no tā, ko mēs gatavojamies darīt, un jūs joprojām nevarēsit to parādīt un izmantot.

Tātad, vispirms mums ir jāatrod, kur atrodas šis vadības panelis. Lai uzzinātu, kur atrodas jūsu, pārbaudiet procesu uzdevumu pārvaldniekā:
View attachment 147862

SSL gadījumā tas ir šeit (citiem tas būs direktorijā, kurā tika instalēts USB draiveris):
View attachment 147856

Lai tas darbotos, lūdzu, no teknes ikonas izejiet no XMOS draivera vadības paneļa un pārliecinieties, vai process xxxxAudioCpl.exe nedarbojas.

Pēc tam atveriet atzīmēto XML failu ar savu iecienītāko teksta redaktoru, un mēs tiekam sagaidīti ar kaut ko līdzīgu:
View attachment 147857

Ja šī sadaļa jūsu xml failā nav, jums tā būs jāpievieno manuāli. Ērtības labad šeit ir xml paraugs:

[KODS=xml]
<!-- ++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++ -->
<Lapas opcijas>
<!-- Šīs lapas atbalstītās vērtības: Slēpts (noklusējums), Redzams -->
<Visibility>Slēpts</Visibility>
</PageOptions>
[/CODE]

Ja šī XML sadaļa ir vietā vai tās nav, jūsu CPL izskatīsies šādi (bez opcijām):
View attachment 147858


Mums ir jāmaina no Slēpts uz Redzams, lai tas tā būtu, un saglabājiet failu:
View attachment 147859

Pēc xml faila saglabāšanas, lūdzu, palaidiet vadības paneli no exe, kas atrodas virs xml (skatiet View attachment 147856 ). Ja viss ir noticis pareizi un jūsu DAC ražotājs nav bloķējis izvēlnes Opcijas izmantošanu, tagad redzēsit:
View attachment 147860

Noklusējuma iestatījums ir “ieslēgts, kad nepieciešams”, taču, ja nevēlaties, lai dziesmas/video palaišanas laiks būtu latents — dac atskaņo minēto skaņu, tas jāiestata uz “Vienmēr ieslēgts”.

Tā nekādā gadījumā nav ļaunprātība DAC ražotāju vārdā (izņemot tos, kas to slēpj, neskatoties uz iepriekšminētajiem centieniem), bet gan pilnīga un absolūta nekompetence vai vismaz nezināšana.

Tas arī viss! Tagad jums ir DAC, kas nepārtrauks dziesmu sākšanu, ja vien jūs, iespējams, neatjaunināsit draiveri un neatgriezīsit izmaiņas:)

@amirm, ja nav citas tēmas, kas apspriestu šo jautājumu, lūdzu, piespraust šo, jo esmu redzējis diezgan daudz sūdzību par šo problēmu.
 

Attachments

  • 17265917840328190672569809036650.jpg
    17265917840328190672569809036650.jpg
    93.6 KB · Views: 111
I have tried the same workaround for macOS with Tidal. It does not work but also in exclusive mode when skipping to another track, it disconnects and reconnects. It does not do that without exclusive mode.
 
I've successfully added the code and it does give me the "always on" option, however it does not work :( has anyone found a work around of this ?
 
I think I have the same issue with my DAC. Whenever a sound is starting and ending I hear a little pop in my headphone. The "always on" option does not solve it.

I'm on Windows 11 23H2.

Currently I'm using a workaround. There is a software called "Sound Keeper". If I rename it to "SoundKeeper64SineA0.12.exe" (this is the way to configure this sw), it keeps the audio "running", so the DAC doesn't go into sleep mode - or whatever is the reason of the pop -, but obviously I'd be happy if we would find a real solution to this issue.

 
I think I have the same issue with my DAC. Whenever a sound is starting and ending I hear a little pop in my headphone. The "always on" option does not solve it.

I'm on Windows 11 23H2.

Currently I'm using a workaround. There is a software called "Sound Keeper". If I rename it to "SoundKeeper64SineA0.12.exe" (this is the way to configure this sw), it keeps the audio "running", so the DAC doesn't go into sleep mode - or whatever is the reason of the pop -, but obviously I'd be happy if we would find a real solution to this issue.

Interesting, thank you!
 
Viss,strādā bez klikšiem un ar Audirvānu super .Ausīm prieks un dvēselei miers.
 
I have found another workaround for macOS and this one is free. TASCAM Hi-Res Editor (Download here).

Launch it and select your DAC as output device as below and leave it running in the background. Opening and playing a file is not required. Avoid changing the sample rate in the program while using other programs for playback. Use the Audio MIDI Setup for that.
Screenshot 2025-02-06 at 19.13.34.png
 
Esmu atradis citu MacOS risinājumu, un šis ir bezmaksas. TASCAM Hi-Res redaktors (lejupielādēt šeit ).

Palaidiet to un atlasiet savu DAC kā izvades ierīci, kā norādīts tālāk, un atstājiet to darboties fonā. Faila atvēršana un atskaņošana nav nepieciešama. Izvairieties no izlases ātruma maiņas programmā, kamēr atskaņošanai izmantojat citas programmas. Šim nolūkam izmantojiet Audio MIDI iestatījumu.
View attachment 426450
Vai W11 24H2 arī strādā?
 
The current SMSL driver has this turned on by default on Windows devices.
 
I fixed the delay issue on MacOS using the FFplay method:
  1. Install Xcode from the App Store. After installing, you need to open the app to accept the T&Cs as well as install the MacOS environment
  2. Install Homebrew
  3. Install FFmpeg
  4. Test by running ffplay -f lavfi -i anullsrc=channel_layout=2:sample_rate=48000 -nodisp -loglevel quiet
Optional - Create a Launchd Service to run at Startup:
  1. Create a shell script with the contents below called silent-sound.sh
  2. Copy to /opt then run chmod +x /opt/silent-sound.sh
  3. Copy the XML below and create a file called silent-sound.plist
  4. Save or copy the silent-sound.plist file to /Library/LaunchDaemons (you can also use /Library/LaunchAgentsbut I wanted to run it for all users)
  5. In the Terminal, run launchctl load /Library/LaunchDaemons/silent-sound.plist (or launchctl load /Library/LaunchAgents/silent-sound.plist if you're going that route). This loads the plist into Launchd
  6. Lastly, run launchctl load /Library/LaunchDaemons/silent-sound.plist to start the service

Shell script:
Bash:
#!/bin/sh

/opt/homebrew/Cellar/ffmpeg/7.1.1_1/bin/ffplay -f lavfi -i anullsrc=channel_layout=2:sample_rate=48000 -nodisp -loglevel quiet

Plist XML (double check the path to ffplay to make sure it installed in the same place; change the XML to the correct path if not):
XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>local.silent-sound</string>
        <key>Program</key>
        <string>/opt/silent-sound.sh</string>
        <key>RunAtLoad</key>
        <true/>
        <key>KeepAlive</key>
        <true/>
    </dict>
</plist>
 
Last edited:
I fixed the delay issue on MacOS using the FFplay method:
  1. Install Xcode from the App Store. After installing, you need to open the app to accept the T&Cs as well as install the MacOS environment
  2. Install Homebrew
  3. Install FFmpeg
  4. Test by running ffplay -f lavfi -i anullsrc=channel_layout=2:sample_rate=48000 -nodisp -loglevel quiet
Optional - Create a Launchd Service to run at Startup:
  1. Copy the XML below and create a file called
  2. Save or copy the silent-sound.plist file to /Library/LaunchDaemons (you can also use /Library/LaunchAgentsbut I wanted to run it for all users)
  3. In the Terminal, run launchctl load /Library/LaunchDaemons/silent-sound.plist (or launchctl load /Library/LaunchAgents/silent-sound.plist if you're going that route). This loads the plist into Launchd
  4. Lastly, run launchctl load /Library/LaunchDaemons/silent-sound.plist to start the service

Plist XML (double check the path to ffplay to make sure it installed in the same place; change the XML to the correct path if not):
XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>local.silent-sound</string>
        <key>Program</key>
        <string>/opt/homebrew/Cellar/ffmpeg/7.1.1_1/bin/ffplay -f lavfi -i anullsrc=channel_layout=2:sample_rate=48000 -nodisp -loglevel quiet</string>
        <key>RunAtLoad</key>
        <true/>
    </dict>
</plist>
What exactly does it do? Stream zeros at 48 kHz or something else?
 
What exactly does it do? Stream zeros at 48 kHz or something else?
Right, it plays a constant, silent sound. Based on my cursory check on a M2 Pro Mac Mini, it doesn’t use any resources even upsampling from 48 kHz to 192 kHz. It’s not an ideal solution. Obviously, you’d want to fix this at a HW/driver level, but it’s a solution.

There’s some more context in the first link in my post above
 
Right, it plays a constant, silent sound. Based on my cursory check on a M2 Pro Mac Mini, it doesn’t use any resources even upsampling from 48 kHz to 192 kHz. It’s not an ideal solution. Obviously, you’d want to fix this at a HW/driver level, but it’s a solution.

There’s some more context in the first link in my post above
I see. I have found before that the Qobuz app and TASCAM Hi-Res Editor also keep the DAC engaged. They must do something similar.

One minor concern is when the system sample rate differs from the sample rate of the signal. Not that it should, but it could interfere with bit-perfect transmission if the resampling produces non-zero samples. Of course, if the sample rate is known before hand, changing the value in the code and re-executing resolves this completely but is tedious.
 
I see. I have found before that the Qobuz app and TASCAM Hi-Res Editor also keep the DAC engaged. They must do something similar.

One minor concern is when the system sample rate differs from the sample rate of the signal. Not that it should, but it could interfere with bit-perfect transmission if the resampling produces non-zero samples. Of course, if the sample rate is known before hand, changing the value in the code and re-executing resolves this completely but is tedious.
I’ll play around with it this weekend and see what I can find. I have this DAC working mostly as a nice sound adapter for my computer, not on my main listening setup (which is a RoPiee on a Pro-Ject S2 Digital). I use Roon as my media server and for Tidal and Qobuz streaming. I’ll do a few tests this weekend to see what happens. There might be some interesting findings when Roon uses the DAC in exclusive mode
 
  • Like
Reactions: JIW
Played around with Roon just now. Had no problems in with playing both FLAC from Qobuz and MQA from Tidal. No issues with delayed sound between tracks either. I would expect this since Roon uses audio devices in exclusive mode. When quitting Roon and running the FFplay service, I didn't run into any problems. The service continued to run without issue. I did have to fix an issue with the setup which I'll correct in the OP
 
Back
Top Bottom