• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. 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!

RPi4 + CamillaDSP Tutorial

juliangst

Addicted to Fun and Learning
Joined
Dec 11, 2021
Messages
981
Likes
1,011
Location
Germany
I now installed CamillaDSP and Shairport and it also shows that music is playing inside the CamillaDSP webinterface.
I still don't get an audio output. I'm using a Hifiberry Digi 2 Pro with an SMSL Sanskrit 10 and both Toslink and USB don't work. I also added dtoverlay=hifiberry-digi-pro to the boot config as documented in Hifiberry's guide.
Any ideas what could've went wrong?
 
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,523
Likes
3,396
Location
Detroit, MI
I now installed CamillaDSP and Shairport and it also shows that music is playing inside the CamillaDSP webinterface.
I still don't get an audio output. I'm using a Hifiberry Digi 2 Pro with an SMSL Sanskrit 10 and both Toslink and USB don't work. I also added dtoverlay=hifiberry-digi-pro to the boot config as documented in Hifiberry's guide.
Any ideas what could've went wrong?

Please post your CamillaDSP configuration file.

Michael
 

juliangst

Addicted to Fun and Learning
Joined
Dec 11, 2021
Messages
981
Likes
1,011
Location
Germany

Attachments

  • config.zip
    735 bytes · Views: 67
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,523
Likes
3,396
Location
Detroit, MI
You have the same device (hw:0) as your capture and playback device. I assume that hw:0 is your ALSA loopback? If so you will want change your playback device to the your hifiberry (or Topping E50 if using USB). Run aplay -l to see your playback devices.

I always like to specify actual device names (hw:Loopback,0) to avoid any confusion.

Michael
 

juliangst

Addicted to Fun and Learning
Joined
Dec 11, 2021
Messages
981
Likes
1,011
Location
Germany
You have the same device (hw:0) as your capture and playback device. I assume that hw:0 is your ALSA loopback? If so you will want change your playback device to the your hifiberry (or Topping E50 if using USB). Run aplay -l to see your playback devices.

I always like to specify actual device names (hw:Loopback,0) to avoid any confusion.

Michael
Still doesn't work right. It finds the Hifiberry and I selected it as the playback device but CamillaDSP goes offline when I do that
1660750928937.png

1660750950069.png
 

MCH

Major Contributor
Joined
Apr 10, 2021
Messages
2,671
Likes
2,295
hello gang,

I finally bought a used minidsp 2x4HD and have it working as toslink capture device. It works as expected. My current setup looks like this:

tv -> toslink 2channels@48KHz -> 2x4HD -> USB -> rpi4/camilladsp (xovers+eq) -> USB(4channels@96KHz) -> Motu M4 -> amps

As of today the 2x4HD does not do anything else than transporting the signal, all the DSP is done at the rpi. Of course the intention is not that, the plan is to add dirac live to the 2x4HD and do the room correction with it. But before i do that, i want to learn better how the minidsp works.

I have a couple of questions for the team:

- I have observed that with the minidsp in the chain, no matter what "capture sample rate" i input in camilladsp, up to 192KHz, it works without problem, no matter if i enable resampling in camilladsp or not. Is the resampling happening in the minidsp?

- Maybe related to the previous: in the future i would like to add other sources to the system using a toslink switch connected to the minidsp. If the sources have different sample rates and bit depths, will this be a problem or will the minidsp detect the different sample rates and resample accordingly on the fly?

- Last but not least: whatever the answers to the previous questions are, will it work the same way once i add dirac live?

thank you very much and sorry if this has already been discussed.
 

juliangst

Addicted to Fun and Learning
Joined
Dec 11, 2021
Messages
981
Likes
1,011
Location
Germany
Your playback device should be hw:sndrpihifiberry.

Michael
Hmm still doesn't work for some reason. I changed the Loopback name inside the Shairport config to hw:Loopback,0
like you did
1660752088449.png
 
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,523
Likes
3,396
Location
Detroit, MI
Hmm still doesn't work for some reason. I changed the Loopback name inside the Shairport config to hw:Loopback,0
like you did
View attachment 224938

What does the CamillaDSP log say? It might be a format issue, you could also try S24LE3 and S24LE. I've used some of these hifiberry HATs in the past but don't remember if they used S24LE, S24LE3 or S32LE.

Michael
 

juliangst

Addicted to Fun and Learning
Joined
Dec 11, 2021
Messages
981
Likes
1,011
Location
Germany
What does the CamillaDSP log say? It might be a format issue, you could also try S24LE3 and S24LE. I've used some of these hifiberry HATs in the past but don't remember if they used S24LE, S24LE3 or S32LE.

Michael
2022-08-17 16:06:05.091076 ERROR [src/bin.rs:344] Playback error: ALSA function 'snd_pcm_hw_params_set_format' failed with error 'EINVAL: Invalid argument'
 
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,523
Likes
3,396
Location
Detroit, MI
2022-08-17 16:06:05.091076 ERROR [src/bin.rs:344] Playback error: ALSA function 'snd_pcm_hw_params_set_format' failed with error 'EINVAL: Invalid argument'

Did you try S24LE3 and S24LE? Can you share the whole log?

I changed the Loopback name inside the Shairport config to hw:Loopback,0
like you did

I missed this before, whatever you use in the shairport config you should use the opposite in CamillaDSP. So if you use hw:Loopback,0 in shairport use hw:Loopback,1 in CamillaDSP.

Michael
 

juliangst

Addicted to Fun and Learning
Joined
Dec 11, 2021
Messages
981
Likes
1,011
Location
Germany
Did you try S24LE3 and S24LE? Can you share the whole log?



I missed this before, whatever you use in the shairport config you should use the opposite in CamillaDSP. So if you use hw:Loopback,0 in shairport use hw:Loopback,1 in CamillaDSP.

Michael
I now used hw:Loopback,1 but still no sound.

2022-08-17 16:25:29.743743 INFO [src/bin.rs:711] CamillaDSP version 1.0.1
2022-08-17 16:25:29.743859 INFO [src/bin.rs:712] Running on linux, aarch64
2022-08-17 16:25:29.745619 INFO [src/audiodevice.rs:459] Using Async resampler for synchronous resampling. Consider switching to "Synchronous" to save CPU time.
2022-08-17 16:25:29.748747 ERROR [src/bin.rs:344] Playback error: ALSA function 'snd_pcm_hw_params_set_format' failed with error 'EINVAL: Invalid argument'
2022-08-17 16:25:29.764395 INFO [src/alsadevice.rs:588] Capture device supports rate adjust
2022-08-17 16:25:29.764516 WARN [src/alsadevice.rs:592] Async resampler not needed since capture device supports rate adjust. Switch to Sync type to save CPU time.
2022-08-17 16:25:29.764656 INFO [src/processing.rs:37] Playback thread has already stopped.
 
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,523
Likes
3,396
Location
Detroit, MI
hello gang,

I finally bought a used minidsp 2x4HD and have it working as toslink capture device. It works as expected. My current setup looks like this:

tv -> toslink 2channels@48KHz -> 2x4HD -> USB -> rpi4/camilladsp (xovers+eq) -> USB(4channels@96KHz) -> Motu M4 -> amps

As of today the 2x4HD does not do anything else than transporting the signal, all the DSP is done at the rpi. Of course the intention is not that, the plan is to add dirac live to the 2x4HD and do the room correction with it. But before i do that, i want to learn better how the minidsp works.

I have a couple of questions for the team:

- I have observed that with the minidsp in the chain, no matter what "capture sample rate" i input in camilladsp, up to 192KHz, it works without problem, no matter if i enable resampling in camilladsp or not. Is the resampling happening in the minidsp?

- Maybe related to the previous: in the future i would like to add other sources to the system using a toslink switch connected to the minidsp. If the sources have different sample rates and bit depths, will this be a problem or will the minidsp detect the different sample rates and resample accordingly on the fly?

- Last but not least: whatever the answers to the previous questions are, will it work the same way once i add dirac live?

thank you very much and sorry if this has already been discussed.

This is fascinating, thank you for sharing. From an ALSA perspective the 2X4HD as a capture device certainly supports rates other than 96 kHz.

Code:
Capture:
  Status: Running
    Interface = 2
    Altset = 1
    Packet Size = 400
    Momentary freq = 192000 Hz (0x18.0000)
  Interface 2
    Altset 1
    Format: S32_LE
    Channels: 4
    Endpoint: 0x82 (2 IN) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us
    Bits: 24
    Channel map: FL FR FC LFE

However, even if you use 192 kHz as a capture rate it is clear that the 2X4HD is still resampling internally to 96 kHz as you don't get anything close to 96 kHz response when playing full range white noise at 192 kHz. Here is TOSLINK from MacBook pro 2015 -> 2X4HD -> CamillaDSP -> MOTU M4 -> Cosmos ADC with everything running at 192 kHz and full range white noise as an input.

Screen Shot 2022-08-17 at 12.18.24 PM.png


Now how it goes about converting that internal 96 kHz data to a different output rate I have no idea but I think it is clear that there isn't any benefit to running at a sample rate higher than 96 kHz.

Although you do not need resampling for a 2X4HD / M4 setup you will want async resampling and rate adjust as over time you will have buffer over / under runs.

Sources with different sample rates / bit rates are no problem for the 2X4HD and it will convert everything to 32 bit / 96 kHz. This is a big advantage of putting a device like the 2X4HD (or OpenDRC-DI) in front of a CamillaDSP setup, you can run CamillaDSP at a constant sample rate and the miniDSP takes care of sample rate conversion.

It will act exactly the same when you add Dirac but the miniDSP sample rate will be 48 kHz. You will be able to choose capture rates other than 48 kHz but you won't have any advantage in doing so.

Michael
 
  • Like
Reactions: MCH
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,523
Likes
3,396
Location
Detroit, MI
I now used hw:Loopback,1 but still no sound.

2022-08-17 16:25:29.743743 INFO [src/bin.rs:711] CamillaDSP version 1.0.1
2022-08-17 16:25:29.743859 INFO [src/bin.rs:712] Running on linux, aarch64
2022-08-17 16:25:29.745619 INFO [src/audiodevice.rs:459] Using Async resampler for synchronous resampling. Consider switching to "Synchronous" to save CPU time.
2022-08-17 16:25:29.748747 ERROR [src/bin.rs:344] Playback error: ALSA function 'snd_pcm_hw_params_set_format' failed with error 'EINVAL: Invalid argument'
2022-08-17 16:25:29.764395 INFO [src/alsadevice.rs:588] Capture device supports rate adjust
2022-08-17 16:25:29.764516 WARN [src/alsadevice.rs:592] Async resampler not needed since capture device supports rate adjust. Switch to Sync type to save CPU time.
2022-08-17 16:25:29.764656 INFO [src/processing.rs:37] Playback thread has already stopped.

Please increase verbosity of the log by adding -v to the end the ExecStart line in your camilladsp.service. Then run systemctl daemon-reload and sudo service camilladsp restart for the verbosity change to take effect.

Michael
 

MCH

Major Contributor
Joined
Apr 10, 2021
Messages
2,671
Likes
2,295
This is fascinating, thank you for sharing. From an ALSA perspective the 2X4HD as a capture device certainly supports rates other than 96 kHz.

Code:
Capture:
  Status: Running
    Interface = 2
    Altset = 1
    Packet Size = 400
    Momentary freq = 192000 Hz (0x18.0000)
  Interface 2
    Altset 1
    Format: S32_LE
    Channels: 4
    Endpoint: 0x82 (2 IN) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us
    Bits: 24
    Channel map: FL FR FC LFE

However, even if you use 192 kHz as a capture rate it is clear that the 2X4HD is still resampling internally to 96 kHz as you don't get anything close to 96 kHz response when playing full range white noise at 192 kHz. Here is TOSLINK from MacBook pro 2015 -> 2X4HD -> CamillaDSP -> MOTU M4 -> Cosmos ADC with everything running at 192 kHz and full range white noise as an input.

View attachment 224942

Now how it goes about converting that internal 96 kHz data to a different output rate I have no idea but I think it is clear that there isn't any benefit to running at a sample rate higher than 96 kHz.

Although you do not need resampling for a 2X4HD / M4 setup you will want async resampling and rate adjust as over time you will have buffer over / under runs.

Sources with different sample rates / bit rates are no problem for the 2X4HD and it will convert everything to 32 bit / 96 kHz. This is a big advantage of putting a device like the 2X4HD (or OpenDRC-DI) in front of a CamillaDSP setup, you can run CamillaDSP at a constant sample rate and the miniDSP takes care of sample rate conversion.

It will act exactly the same when you add Dirac but the miniDSP sample rate will be 48 kHz. You will be able to choose capture rates other than 48 kHz but you won't have any advantage in doing so.

Michael
That's excellent. It all will be easier than i thought then. Thanks a lot!
 

juliangst

Addicted to Fun and Learning
Joined
Dec 11, 2021
Messages
981
Likes
1,011
Location
Germany
Please increase verbosity of the log by adding -v to the end the ExecStart line in your camilladsp.service. Then run systemctl daemon-reload and sudo service camilladsp restart for the verbosity change to take effect.

Michael
Still no luck:
2022-08-17 16:44:50.735555 INFO [src/bin.rs:711] CamillaDSP version 1.0.1
2022-08-17 16:44:50.735658 INFO [src/bin.rs:712] Running on linux, aarch64
2022-08-17 16:44:50.735765 DEBUG [src/bin.rs:754] Read config file Some("/home/julian/camilladsp/active_config.yml")
2022-08-17 16:44:50.736893 DEBUG [src/biquad.rs:43] a1=-1.9974396036158613 a2=0.997533316939664 b0=0.9990155919757743 b1=-1.9974396036158613 b2=0.9985177249638897
2022-08-17 16:44:50.736982 DEBUG [src/biquad.rs:43] a1=-1.992990414700408 a2=0.9932857107261202 b0=0.9971225557320171 b1=-1.992990414700408 b2=0.9961631549941029
2022-08-17 16:44:50.737058 DEBUG [src/biquad.rs:43] a1=-1.9957657666426327 a2=0.9963799338468107 b0=0.9990365830002208 b1=-1.9957657666426327 b2=0.9973433508465898
2022-08-17 16:44:50.737132 DEBUG [src/biquad.rs:43] a1=-1.99365858237947 a2=0.994539042252565 b0=1.0027175427248296 b1=-1.99365858237947 b2=0.9918214995277352
2022-08-17 16:44:50.737206 DEBUG [src/biquad.rs:43] a1=-1.9868158365142323 a2=0.9878716710327945 b0=0.9956847596574824 b1=-1.9868158365142323 b2=0.992186911375312
2022-08-17 16:44:50.737279 DEBUG [src/biquad.rs:43] a1=-1.9988676381315706 a2=0.9989601553851291 b0=0.9996033707014484 b1=-1.9988676381315706 b2=0.9993567846836806
2022-08-17 16:44:50.737352 DEBUG [src/biquad.rs:43] a1=-1.9961022678412959 a2=0.9963824889178786 b0=0.9986056064150172 b1=-1.9961022678412959 b2=0.9977768825028612
2022-08-17 16:44:50.737425 DEBUG [src/biquad.rs:43] a1=-1.9941905445664325 a2=0.9945302588379968 b0=0.9980012293542985 b1=-1.9941905445664325 b2=0.9965290294836983
2022-08-17 16:44:50.737498 DEBUG [src/biquad.rs:43] a1=-1.9963728030355283 a2=0.9967576970866521 b0=1.0016134709516846 b1=-1.9963728030355283 b2=0.9951442261349674
2022-08-17 16:44:50.737571 DEBUG [src/biquad.rs:43] a1=-1.9883274061060168 a2=0.9896924808455587 b0=0.9975822912116322 b1=-1.9883274061060168 b2=0.9921101896339264
2022-08-17 16:44:50.737643 DEBUG [src/bin.rs:773] Config is valid
2022-08-17 16:44:50.737736 DEBUG [src/socketserver.rs:260] Start websocket server on 127.0.0.1:1234
2022-08-17 16:44:50.737928 DEBUG [src/bin.rs:857] Wait for config
2022-08-17 16:44:50.738004 DEBUG [src/bin.rs:890] Config ready
2022-08-17 16:44:50.738306 DEBUG [src/bin.rs:213] Using channels [true, true]
2022-08-17 16:44:50.738310 DEBUG [src/filters.rs:450] Build new pipeline
2022-08-17 16:44:50.738412 INFO [src/audiodevice.rs:459] Using Async resampler for synchronous resampling. Consider switching to "Synchronous" to save CPU time.
2022-08-17 16:44:50.738418 DEBUG [src/filters.rs:355] Build from config
2022-08-17 16:44:50.738496 DEBUG [src/biquad.rs:43] a1=-1.9974396036158613 a2=0.997533316939664 b0=0.9990155919757743 b1=-1.9974396036158613 b2=0.9985177249638897
2022-08-17 16:44:50.738506 DEBUG [src/alsadevice.rs:909] Buffer frames 2048
2022-08-17 16:44:50.738587 DEBUG [src/biquad.rs:43] a1=-1.992990414700408 a2=0.9932857107261202 b0=0.9971225557320171 b1=-1.992990414700408 b2=0.9961631549941029
2022-08-17 16:44:50.738664 DEBUG [src/biquad.rs:43] a1=-1.9957657666426327 a2=0.9963799338468107 b0=0.9990365830002208 b1=-1.9957657666426327 b2=0.9973433508465898
2022-08-17 16:44:50.738731 DEBUG [src/biquad.rs:43] a1=-1.99365858237947 a2=0.994539042252565 b0=1.0027175427248296 b1=-1.99365858237947 b2=0.9918214995277352
2022-08-17 16:44:50.738787 DEBUG [src/alsadevice.rs:924] Creating resampler
2022-08-17 16:44:50.738805 DEBUG [src/biquad.rs:43] a1=-1.9868158365142323 a2=0.9878716710327945 b0=0.9956847596574824 b1=-1.9868158365142323 b2=0.992186911375312
2022-08-17 16:44:50.738871 DEBUG [src/audiodevice.rs:418] Creating asynchronous resampler with parameters: InterpolationParameters { sinc_len: 64, f_cutoff: 0.91560215, oversampling_factor: 1024, interpolation: Linear, window: Hann2 }
2022-08-17 16:44:50.738889 DEBUG [src/filters.rs:355] Build from config
2022-08-17 16:44:50.738953 DEBUG [src/biquad.rs:43] a1=-1.9988676381315706 a2=0.9989601553851291 b0=0.9996033707014484 b1=-1.9988676381315706 b2=0.9993567846836806
2022-08-17 16:44:50.739029 DEBUG [src/biquad.rs:43] a1=-1.9961022678412959 a2=0.9963824889178786 b0=0.9986056064150172 b1=-1.9961022678412959 b2=0.9977768825028612
2022-08-17 16:44:50.739102 DEBUG [src/biquad.rs:43] a1=-1.9941905445664325 a2=0.9945302588379968 b0=0.9980012293542985 b1=-1.9941905445664325 b2=0.9965290294836983
2022-08-17 16:44:50.739174 DEBUG [src/biquad.rs:43] a1=-1.9963728030355283 a2=0.9967576970866521 b0=1.0016134709516846 b1=-1.9963728030355283 b2=0.9951442261349674
2022-08-17 16:44:50.739246 DEBUG [src/biquad.rs:43] a1=-1.9883274061060168 a2=0.9896924808455587 b0=0.9975822912116322 b1=-1.9883274061060168 b2=0.9921101896339264
2022-08-17 16:44:50.739324 DEBUG [src/processing.rs:19] build filters, waiting to start processing loop
2022-08-17 16:44:50.741070 DEBUG [src/alsadevice.rs:412] Playback: supported channels, min: 2, max: 2, list: [2]
2022-08-17 16:44:50.741161 DEBUG [src/alsadevice.rs:413] Playback: setting channels to 2
2022-08-17 16:44:50.741313 DEBUG [src/alsadevice.rs:417] Playback: supported samplerates: Discrete([32000, 44100, 48000, 64000, 88200, 96000, 176400, 192000])
2022-08-17 16:44:50.741386 DEBUG [src/alsadevice.rs:418] Playback: setting rate to 48000
2022-08-17 16:44:50.741474 DEBUG [src/alsadevice.rs:422] Playback: supported sample formats: [S16LE, S24LE]
2022-08-17 16:44:50.741547 DEBUG [src/alsadevice.rs:423] Playback: setting format to S32LE
2022-08-17 16:44:50.741699 ERROR [src/bin.rs:344] Playback error: ALSA function 'snd_pcm_hw_params_set_format' failed with error 'EINVAL: Invalid argument'
2022-08-17 16:44:50.741776 DEBUG [src/bin.rs:349] Error while starting, release barrier
2022-08-17 16:44:50.753866 DEBUG [src/alsadevice.rs:412] Capture: supported channels, min: 1, max: 32, list: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]
2022-08-17 16:44:50.753978 DEBUG [src/alsadevice.rs:413] Capture: setting channels to 2
2022-08-17 16:44:50.754076 DEBUG [src/alsadevice.rs:417] Capture: supported samplerates: Range(8000, 192000)
2022-08-17 16:44:50.754150 DEBUG [src/alsadevice.rs:418] Capture: setting rate to 44100
2022-08-17 16:44:50.754239 DEBUG [src/alsadevice.rs:422] Capture: supported sample formats: [S16LE, S24LE, S24LE3, S32LE, FLOAT32LE]
2022-08-17 16:44:50.754313 DEBUG [src/alsadevice.rs:423] Capture: setting format to S32LE
2022-08-17 16:44:50.754622 DEBUG [src/alsadevice.rs:454] Opening audio device "hw:Loopback,1" with parameters: HwParams { channels: Ok(2), rate: "Ok(44100) Hz", format: Ok(S32LE), access: Ok(RWInterleaved), period_size: "Ok(512) frames", buffer_size: "Ok(4096) frames" }, SwParams(avail_min: Ok(1024) frames, start_threshold: Ok(0) frames, stop_threshold: Ok(4096) frames)
2022-08-17 16:44:50.754723 DEBUG [src/alsadevice.rs:459] Audio device "hw:Loopback,1" successfully opened
2022-08-17 16:44:50.754818 DEBUG [src/alsadevice.rs:950] Starting captureloop
2022-08-17 16:44:50.754829 DEBUG [src/bin.rs:352] Wait for capture thread to exit..
2022-08-17 16:44:50.754845 DEBUG [src/processing.rs:21] Processing loop starts now!
2022-08-17 16:44:50.755296 INFO [src/alsadevice.rs:588] Capture device supports rate adjust
2022-08-17 16:44:50.755371 WARN [src/alsadevice.rs:592] Async resampler not needed since capture device supports rate adjust. Switch to Sync type to save CPU time.
2022-08-17 16:44:50.755444 DEBUG [src/alsadevice.rs:620] Exit message received, sending EndOfStream
2022-08-17 16:44:50.755532 INFO [src/processing.rs:37] Playback thread has already stopped.
2022-08-17 16:44:50.756100 DEBUG [src/bin.rs:915] Restarting with new config
2022-08-17 16:44:50.756180 DEBUG [src/bin.rs:857] Wait for config
2022-08-17 16:44:50.756251 DEBUG [src/bin.rs:860] No config and not in wait mode, exiting!
 
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,523
Likes
3,396
Location
Detroit, MI
Still no luck:

As suggested earlier change your playback format to S24LE.

2022-08-17 16:44:50.741474 DEBUG [src/alsadevice.rs:422] Playback: supported sample formats: [S16LE, S24LE]
2022-08-17 16:44:50.741547 DEBUG [src/alsadevice.rs:423] Playback: setting format to S32LE
2022-08-17 16:44:50.741699 ERROR [src/bin.rs:344] Playback error: ALSA function 'snd_pcm_hw_params_set_format' failed with error 'EINVAL: Invalid argument'

Michael
 

juliangst

Addicted to Fun and Learning
Joined
Dec 11, 2021
Messages
981
Likes
1,011
Location
Germany
As suggested earlier change your playback format to S24LE.

2022-08-17 16:44:50.741474 DEBUG [src/alsadevice.rs:422] Playback: supported sample formats: [S16LE, S24LE]
2022-08-17 16:44:50.741547 DEBUG [src/alsadevice.rs:423] Playback: setting format to S32LE
2022-08-17 16:44:50.741699 ERROR [src/bin.rs:344] Playback error: ALSA function 'snd_pcm_hw_params_set_format' failed with error 'EINVAL: Invalid argument'

Michael
Thanks! Airplay works but it's really quiet
 
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,523
Likes
3,396
Location
Detroit, MI
Thanks! Airplay works but it's really quiet

Good to hear. With such a setup there are lot of places where you can do volume control.

1) Is your source turned up all the way? What levels are you seeing on the CamillaDSP input bars?
2) Do you have any volume filters implemented in CamillaDSP? I didn't see any in your config but in all configurations in this tutorial other than Okto configurations volume filters are used and CamillaDSP starts at -40 dB. If your CamillaDSP output filters are lower than your input filters it means it is a CamillaDSP issue. You might be losing volume with your PEQ and you could try removing those.
3) What is your volume set on your downstream DAC?

Michael
 

juliangst

Addicted to Fun and Learning
Joined
Dec 11, 2021
Messages
981
Likes
1,011
Location
Germany
Good to hear. With such a setup there are lot of places where you can do volume control.

1) Is your source turned up all the way? What levels are you seeing on the CamillaDSP input bars?
2) Do you have any volume filters implemented in CamillaDSP? I didn't see any in your config but in all configurations in this tutorial other than Okto configurations volume filters are used and CamillaDSP starts at -40 dB. If your CamillaDSP output filters are lower than your input filters it means it is a CamillaDSP issue. You might be losing volume with your PEQ and you could try removing those.
3) What is your volume set on your downstream DAC?

Michael
Now I get the right volume for some reason. Probably forgot to apply dsp or restarting the airplay connection fixed that.
I always max out everything and only control volume with my amp.
Now everything runs fine. I might get the Topping DM7 and a sub in the future. CamillaDSP works really great

Edit: just figured it out. It wasn't a volume problem but a format problem. The track I was playing was in Dolby Atmos and that's significantly quieter than normal AAC or ALAC
 
Top Bottom