Announcement

Collapse
No announcement yet.

ANNOUNCE: Squeezelite-ESP32 (dedicated thread)

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • concerning the x400:

    connected to an esp32 the volume control (hardware poti) works ...

    perhaps it uses a different approach to control the volume?

    Comment


    • Originally posted by cubii
      concerning the x400:
      connected to an esp32 the volume control (hardware poti) works ...
      perhaps it uses a different approach to control the volume?
      It appears that we had a misunderstanding about hardware volume control .

      When I was talking about hardware volume control in post numbers 1910 and 1912, I was referring to the digital volume control function inside the PCM5122 DAC chip. This I2C controlled digital volume control is located in front of the actual D to A converter function. See PCM5122 datasheet, section 8.2 (Functional Block Diagram). With this hardware volume control function, the audio volume can be controlled between -103dB and +24dB in steps of 0.5dB (see section 8.3.5.4 of the datasheet). The default setting (power-on reset value) is 0dB. What I meant to say is that the squeezelite-esp32 software does not make use of this I2C controlled digital volume control inside the PCM5122 chip. Instead, squeezelite-esp32 uses software volume control. In case of the PCM5122 it does not make a difference for the audio quality if software volume control is used inside the squeezelite-esp32 software, or hardware volume control inside the PCM5122. Software volume control is a multiplier function in software, and hardware volume control is a multiplier function in hardware. In both cases the multiplier function is located in front of the actual D to A converter. Assuming that software and hardware multiplication is done with similar precision, audio quality will be similar.

      It appears that you are talking about a manual analog volume control by means of a stereo potentiometer on the X400 board . I did not know there was a potentiometer on the X400 board . I assume that this potentiometer is connected between the output of the PCM5122 DAC chip and the input of the Class-D Power amplifier chip. Indeed this manual volume control will always work, only it cannot be remote controlled.
      Last edited by CJS; 2023-05-26, 17:32.
      | LMS 8.3.2 on Linux Mint 21.2 | Squeezebox Boom | RPi0W + pCP 8.2.0 + HiFiBerry DAC Zero | ESP Muse Luxe |

      Comment


      • Originally posted by Rasputin_GY
        I have a question regarding ESP32 (ESP32-DEVKITC-VE using 16 - I2S-4MFlash-1317) /SPDIF(optical) I wired it the following:

        ESP32 - SPDIF
        3,3V -> Vcc
        32 -> Vin
        GND -> GND

        autoexec1: squeezelite -o spdif -b 500:2000 -C 30 -d all=info
        spdif_config: bck=33,ws=25,do=32

        The transmitters data sheet also suggests a 0.1uF capacitor between Vcc and GND which I also put in place.
        While I can play many radio stations through LMS without an issue I encounter constant stutter while playing music using Spotify (cspot).
        I already tried different optical cables but that doesn't seem to be the issue. My amplifier has small indicator on its display saying DIGI./PCM and this one blinks exact same rate as the audio stutters.
        As soon as I end using Spotify eg switch to radio paradise no stutter anymore.
        I'm a little bit confused what might cause this and would like to ask if someone has an idea?
        I had a better look at the issue and although it is not a CPU load problem, it is a complex scheduling situation that happens because we have very few DMA buffers for I2S and we can't increase them significantly. Fixing the issue I think it is requires a rewrite of the I2S backend. The mainline is not a big issue but then when you want to add synchronization it's a whole different problem. I will continue to think about it but because of the sync problem, I'm not very keen to start that.
        LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3

        Comment


        • Based on Philippe's explanation I understand that this only affects digital output without a dedicated circuit. And even if the I2S backend can be optimised or fixed, the digital outputs could still be sensitive to introduce some jitter. Therefore I would rather avoid this now and use a dedicated IC, like in the DIGI32.
          Transporter, Squeezelite-esp32 (SSD1322+IR+Cirrus CS43198), DAC32, 2x SB Radio, 2x SB3, Touch, PiCorePlayer8 (Audiophonics RASPTOUCH i-Sabre+IR)

          Comment


          • Originally posted by df77
            Based on Philippe's explanation I understand that this only affects digital output without a dedicated circuit. And even if the I2S backend can be optimised or fixed, the digital outputs could still be sensitive to introduce some jitter. Therefore I would rather avoid this now and use a dedicated IC, like in the DIGI32.
            Just for information, for I2S to SPDIF conversion the PolyVection DIGI32 uses the TI PCM9211 IC. Another option is the Wolfson / Cirrus Logic WM8804. This IC is used in multiple Hifiberry SPDIF HAT boards for the Raspberry Pi.

            | LMS 8.3.2 on Linux Mint 21.2 | Squeezebox Boom | RPi0W + pCP 8.2.0 + HiFiBerry DAC Zero | ESP Muse Luxe |

            Comment


            • Originally posted by df77
              Based on Philippe's explanation I understand that this only affects digital output without a dedicated circuit. And even if the I2S backend can be optimised or fixed, the digital outputs could still be sensitive to introduce some jitter. Therefore I would rather avoid this now and use a dedicated IC, like in the DIGI32.
              No this has nothing to do with jitter. I2S works with the pll of the esp32 and uses DMA, so all this is way above any precision you might need or can hear. The problem is due to the fact that I don’t have time to replenish the buffers that are sent over DMA.
              Last edited by philippe_44; 2023-05-31, 17:33.
              LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3

              Comment


              • Originally posted by CJS
                Just for information, for I2S to SPDIF conversion the PolyVection DIGI32 uses the TI PCM9211 IC. Another option is the Wolfson / Cirrus Logic WM8804. This IC is used in multiple Hifiberry SPDIF HAT boards for the Raspberry Pi.
                The WM8804 is a bit on the expensive side for what it's worth. The PCM9211 is cheaper and f for digital out, it is likely just fine
                LMS 7.9 - 1xRadio, 1xBoom, 5xDuet,3xTouch, 1 SB2. Sony PlayStation, Emby, Chromecast v1 and v2 and...
                6xSqueezeAmp, several other ESP32-Wrover boards with jumper wires flying around, some with ethernet!

                Comment


                • Originally posted by sle118
                  The WM8804 is a bit on the expensive side for what it's worth. The PCM9211 is cheaper and for digital out, it is likely just fine
                  Instead of buying an IC it may be a better idea to buy an I2S to SPDIF converter board with the IC mounted on it, For example this one:
                  DYKB I2S to SPDIF coaxial Fiber output board/IIS input coaxial output support sampling 44.1K~192K I2S to COAX OPT - AliExpress​

                  I can't read the type number, but I do recognize the Wolfson logo on the IC. So it is probably a WM8804 or WM8805. Board with chip does not cost much more than only the chip.

                  When buying a board be sure to buy an I2S to SPDIF converter board. There are also SPDIF to I2S converter boards that use the same chip (i.e. WM8804), but these boards cannot be used to create an SPDIF output.
                  | LMS 8.3.2 on Linux Mint 21.2 | Squeezebox Boom | RPi0W + pCP 8.2.0 + HiFiBerry DAC Zero | ESP Muse Luxe |

                  Comment


                  • So I am trying to connect an RMII ethernet device to my WROVER module. I have followed the pin connections in the readme and have connected mdc to 4 and mdio to 34 and it does not seem to be working. I added the following to eth_config "model=lan8720,mdc=4,mdio=34". I am using a PCM5102 for the DAC with the following config "model=i2s,bck=33,ws=25,do=32". I am not really sure how to debug this to find where the issue is. Occasionally I will see "Configuring Ethernet failed: ESP_FAIL" in the logs but nothing more. Any ideas of how to debug this?

                    Comment


                    • Originally posted by Syco54645
                      So I am trying to connect an RMII ethernet device to my WROVER module. I have followed the pin connections in the readme and have connected mdc to 4 and mdio to 34 and it does not seem to be working. I added the following to eth_config "model=lan8720,mdc=4,mdio=34". I am using a PCM5102 for the DAC with the following config "model=i2s,bck=33,ws=25,do=32". I am not really sure how to debug this to find where the issue is. Occasionally I will see "Configuring Ethernet failed: ESP_FAIL" in the logs but nothing more. Any ideas of how to debug this?
                      In order to track possible issues efficiently, you should open an issue on our GitHub project page. Make sure you provide as much details as possible like the version you are running, etc. Also, disable telnet, connect to your device with a serial adapter or USB cable if the adapter is built in, then get ALL the logs somewhere where I can read it. Obfuscate personal info as needed.
                      LMS 7.9 - 1xRadio, 1xBoom, 5xDuet,3xTouch, 1 SB2. Sony PlayStation, Emby, Chromecast v1 and v2 and...
                      6xSqueezeAmp, several other ESP32-Wrover boards with jumper wires flying around, some with ethernet!

                      Comment


                      • Originally posted by sle118

                        In order to track possible issues efficiently, you should open an issue on our GitHub project page. Make sure you provide as much details as possible like the version you are running, etc. Also, disable telnet, connect to your device with a serial adapter or USB cable if the adapter is built in, then get ALL the logs somewhere where I can read it. Obfuscate personal info as needed.
                        Will do, thank you.

                        Comment


                        • Originally posted by Syco54645

                          Will do, thank you.
                          GPIO 34 is input only
                          LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3

                          Comment


                          • Hey, i am the guy from Github trying to get a PCB. Seems i still can't DM you. If you can, please drop me a msg. Thx !!

                            Comment


                            • Originally posted by joffito
                              Hey, i am the guy from Github trying to get a PCB. Seems i still can't DM you. If you can, please drop me a msg. Thx !!
                              I think you can't use PM as you're new. My email is squeezeamp at outlook dot com
                              LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3

                              Comment


                              • Originally posted by joffito
                                Hey, i am the guy from Github trying to get a PCB. Seems i still can't DM you. If you can, please drop me a msg. Thx !!
                                But keep on posting and you'll be gain some privileges. Welcome to the forums!
                                LMS 7.9 - 1xRadio, 1xBoom, 5xDuet,3xTouch, 1 SB2. Sony PlayStation, Emby, Chromecast v1 and v2 and...
                                6xSqueezeAmp, several other ESP32-Wrover boards with jumper wires flying around, some with ethernet!

                                Comment

                                Working...
                                X
                                😀
                                🥰
                                🤢
                                😎
                                😡
                                👍
                                👎