Announcement

Collapse
No announcement yet.

ANNOUNCE: Squeezelite-ESP32 (dedicated thread)

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • Output of "Scan I2C bus for devices" seems to be wrong.

    My config is:
    Code:
    dac_config: model=ES8388,bck=5,ws=25,do=26,sda=18,scl=23,i2c=16
    gpio_exp_config: model=mcp23017,addr=32,port=dac,base=100,intr=19
    So ES8388 has address d16=10h and MCP23017 has address d32=20h.

    Scan output is:
    Code:
    ------------------------------------------------------------------------------------
    Detected the following devices (names provided by https://i2cdevices.org/addresses).
    16 [10h]- VEML7700 VML6075 VEML6075
    32 [20h]- ES8388
    ------------------------------------------------------------------------------------​
    https://i2cdevices.org/addresses shows for 0x20=20h MCP23017 what is correct. Squeezelite-ESP32 shows ES8388 instead that should be at 0x10.
    Last edited by jofland; 2023-04-01, 18:10.

    Comment


    • Originally posted by jofland
      Output of "Scan I2C bus for devices" seems to be wrong.

      My config is:
      Code:
      dac_config: model=ES8388,bck=5,ws=25,do=26,sda=18,scl=23,i2c=16
      gpio_exp_config: model=mcp23017,addr=32,port=dac,base=100,intr=19
      So ES8388 has address d16=10h and MCP23017 has address d32=20h.

      Scan output is:
      Code:
      ------------------------------------------------------------------------------------
      Detected the following devices (names provided by https://i2cdevices.org/addresses).
      16 [10h]- VEML7700 VML6075 VEML6075
      32 [20h]- ES8388
      ------------------------------------------------------------------------------------​
      https://i2cdevices.org/addresses shows for 0x20=20h MCP23017 what is correct. Squeezelite-ESP32 shows ES8388 instead that should be at 0x10.
      You are correct. There seems to be a mistake in the lookup table for the i2c scanner. You should open an issue in GitHub so I can track it and fix when I get a chance.
      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 CJS
        Thanks! I am now running firmware version 2.1276-16 on my ESP Muse, and can confirm that the problem FLAC with empty seektable is playing fine now!

        For others who want to test the new firmware:
        - download the firmware version for your hardware from the link provided by sle118
        - extract file squeezelite.bin from the downloaded zip
        - open the web-UI of your ESP32 player and select the Updates tab
        - under Local Firmware Upload click "Select File", and browse to the extracted squeezelite.bin file
        - click Upload

        Your ESP32 player should then reboot into Recovery mode, and the new firmware will be uploaded. After a successful upload your player will reboot into normal Squeezelite mode.
        Is anyone familiar with the process to use this update on my DAC32? I've updated the firmware on the DAC32 before, but as provided on the vortexbox site. I suspect this isn't as simple as just following the instuctions for the ESP32 player described above...

        Thanks for your help!
        Brawny

        Comment


        • Originally posted by brawny
          Is anyone familiar with the process to use this update on my DAC32? I've updated the firmware on the DAC32 before, but as provided on the vortexbox site. I suspect this isn't as simple as just following the instructions for the ESP32 player described above...

          Thanks for your help!
          Brawny
          I don't have a DAC32, but I expect that flashing your DAC32 firmware with the squeezelite-esp32 firmware is actually as simple as following the instructions that I posted above. It was suggested by sle118 (who develops the squeezelite-esp32 software together with philippe_44) in this post in the DAC32 thread that it should be possible to switch back and forth between squeezelite-esp32 and the Polyvection variant of this firmware.

          You say you have updated the firmware of the DAC32 before. Then I expect that you can follow the same procedure to flash the squeezelite-ESP32 firmware. As far as I know Polyvection uses the 32-bit variant of the firmware that can handle 24-bit audio resolution. Therefore I suggest to download the firmware file called "squeezelite-esp32-master-v4.3-I2S-4MFlash-32-21276.zip" from the bottom of the web page linked by sle118, and extract the squeezelite.bin file from the downloaded zip. You should then upload this squeezelite.bin file to your DAC32 in the same way as you uploaded the Polyvection firmware bin file.

          Note that when you do this you do it at your own risk. But I think that the risk is low, and if your DAC32 does not behave as expected you should be able to upload the latest Polyvection firmware again, following the procedure in my earlier post. If you don't want to take any risk, maybe wait for another DAC32 owner who is willing to test this.​

          | 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 brawny
            Is anyone familiar with the process to use this update on my DAC32? I've updated the firmware on the DAC32 before, but as provided on the vortexbox site. I suspect this isn't as simple as just following the instuctions for the ESP32 player described above...
            I can only speak for myself personally but I followed the steps as described by CJS and have had no issues. The DAC32 didn't needed any further changes, it just worked .
            Only difference I used "squeezelite-esp32-master-v4.3-SqueezeAmp-32-21276​" package.
            Also tried hopping back to the polyvection firware, which also went fine.

            I haven't found any issues yet, except that I can't connect to the spotify connect endpoint, cspot advertises within the spotify app.

            Comment


            • Originally posted by Rasputin_GY
              I can only speak for myself personally but I followed the steps as described by CJS and have had no issues. The DAC32 didn't needed any further changes, it just worked .
              Only difference I used "squeezelite-esp32-master-v4.3-SqueezeAmp-32-21276​" package.
              Also tried hopping back to the polyvection firware, which also went fine.
              Good to hear that you can indeed switch between squeezelite-esp32 and Polyvection firmware (that is also based on squeezelite-esp32) without problems.
              My advise would be however to use the squeezelite.bin from the general 32-bit I2S package (so the squeezelite-esp32-master-v4.3-I2S-4MFlash-32-21276 package) for the DAC32, because the SqueezeAmp firmware will overrule a few NVM settings with settings that are specifically meant for the SqueezeAmp hardware.
              Last edited by CJS; 2023-04-03, 16:01. Reason: fixed 2 typo's
              | 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 CJS
                Good to hear that you can indeed switch between squeezelite-esp32 and Polyvection firmware (that is also based on squeezelite-esp32) without problems.
                My advise would be however to use the squeezelite.bin from the general 32-bit I2S package (so the squeezelite-esp32-master-v4.3-I2S-4MFlash-32-21276 package) for the DAC32, because the SqueezeAmp firmware will overrule a few NVM settings with settings that are specifically meant for the SqueezeAmp hardware.
                I would also recommend against the 32 bits release and instead opt for the 16 bits one. In my humble opinion, you aren't getting much value from going 32 bits, while exposing yourself to possible instability (e.g. no equalizer)

                The details are here for the ones interested: https://github.com/sle118/squeezelit...2#performances
                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

                  I would also recommend against the 32 bits release and instead opt for the 16 bits one. In my humble opinion, you aren't getting much value from going 32 bits, while exposing yourself to possible instability (e.g. no equalizer)

                  The details are here for the ones interested: https://github.com/sle118/squeezelit...2#performances
                  The reason that I suggested to use the 32-bit release of squeezelite-esp32 for the DAC32 is that I assume that the Polyvection firmware is also 32-bit. But I have to admit that I am not 100% sure about this. My assumption is based on the fact that shortly after the introduction of the DAC32 product, Polyvection provided a measurement report on their website, that describes that they did their measurements (THD+Noise and FFT of 1kHz test signal) with a 1 kHz sine wave test signal with 96 kHz sample rate and 24 bit resolution. Since only the 32-bit firmware provides 24-bit resolution, I have assumed that the Polyvection firmware is 32-bit. Maybe PolyVection reads this and can confirm this?

                  Btw, the lack of an equalizer in the 32-bit firmware should be no problem since the DAC32 is an audio source without audio amplifier. CD-players also have no equalizer.

                  If listeners can hear the difference between 16-bit and 24-bit signal resolution is another question. I suppose that this depends on the quality of the audio equipment (amplifier and speakers) that owners connect their DAC32 to. When using the squeezelite-esp32 firmware, users can decide for themselces if they want to use the 16-bit or 32-bit firmware.

                  EDIT: In this post philippe_44 confirms that the DAC32 uses 32 bits firmware.

                  PS: DAC32 audio measurement report attached for information:
                  Attached Files
                  Last edited by CJS; 2023-04-04, 00:30.
                  | 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 CJS
                    the SqueezeAmp firmware will overrule a few NVM settings with settings that are specifically meant for the SqueezeAmp hardware.
                    Thanks for the hint. That was actually quite helpful as I wanted to flash DIGI32 from Polyvection today and because of that saved original PV settings before flashing.
                    Code:
                    curl 'http://IP_OF_YOUR ESP DEVICE/config.json' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:111.0) Gecko/20100101 Firefox/111.0' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate' -H 'X-Requested-With: XMLHttpRequest' -H 'DNT: 1' -H 'Connection: keep-alive' -H 'Referer: http://IP_OF_YOUR ESP DEVICE/' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache'
                    After I realized that I'm getting no sound after flashing I updated the config with the PV config which made it work
                    Code:
                    curl 'http://IP_OF_YOUR ESP DEVICE/config.json' -X POST -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:111.0) Gecko/20100101 Firefox/111.0' -H 'Accept: text/plain, */*; q=0.01' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Requested-With: XMLHttpRequest' -H 'Origin: http://IP_OF_YOUR ESP DEVICE' -H 'DNT: 1' -H 'Connection: keep-alive' -H 'Referer: http://IP_OF_YOUR ESP DEVICE/' -H 'Cookie: show-nvs=Y' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' --data-raw 'OUTPUT_FROM_ABOVE'

                    Comment


                    • Originally posted by CJS
                      I don't have a DAC32, but I expect that flashing your DAC32 firmware with the squeezelite-esp32 firmware is actually as simple as following the instructions that I posted above. It was suggested by sle118 (who develops the squeezelite-esp32 software together with philippe_44) in this post in the DAC32 thread that it should be possible to switch back and forth between squeezelite-esp32 and the Polyvection variant of this firmware.

                      You say you have updated the firmware of the DAC32 before. Then I expect that you can follow the same procedure to flash the squeezelite-ESP32 firmware. As far as I know Polyvection uses the 32-bit variant of the firmware that can handle 24-bit audio resolution. Therefore I suggest to download the firmware file called "squeezelite-esp32-master-v4.3-I2S-4MFlash-32-21276.zip" from the bottom of the web page linked by sle118, and extract the squeezelite.bin file from the downloaded zip. You should then upload this squeezelite.bin file to your DAC32 in the same way as you uploaded the Polyvection firmware bin file.

                      Note that when you do this you do it at your own risk. But I think that the risk is low, and if your DAC32 does not behave as expected you should be able to upload the latest Polyvection firmware again, following the procedure in my earlier post. If you don't want to take any risk, maybe wait for another DAC32 owner who is willing to test this.​
                      I tried this yesterday, and was able to successfully flash my DAC32, however I couldn't get any output from it. LMS showed that the audio I selected (i.e. any audio - streamed radio stations, any FLAC files from my collection) was playing, as the progress bar moved as expected, but no audio.
                      The colours of the web interface changed from red (PolyVection) to blue (SqueezeAmp), and a TON of additonal configuration settings were showing up. I fiddled with a few to try and guess my way to getting output, but no success.

                      This morning I flashed back to dac32-rel-1.2.6.bin successfully. I now have audio output, but the problem flac files don't play, which is to be expected.

                      I suspect its a matter of changing some configuration settings to get output. If anyone is aware of settings that work with the Polyvection DAC32 hardware and the SqueezeAmp firmware, I'd love to hear them!

                      Cheers,
                      Brawny

                      Comment


                      • Can you have a look in NVS editor, if you have this line?
                        dac_config:
                        model=TAS57xx,bck=33,ws=25,do=32,sda=27,scl=26,mut e=14:0

                        Comment


                        • Originally posted by brawny

                          I tried this yesterday, and was able to successfully flash my DAC32, however I couldn't get any output from it. LMS showed that the audio I selected (i.e. any audio - streamed radio stations, any FLAC files from my collection) was playing, as the progress bar moved as expected, but no audio.
                          The colours of the web interface changed from red (PolyVection) to blue (SqueezeAmp), and a TON of additonal configuration settings were showing up. I fiddled with a few to try and guess my way to getting output, but no success.

                          This morning I flashed back to dac32-rel-1.2.6.bin successfully. I now have audio output, but the problem flac files don't play, which is to be expected.

                          I suspect its a matter of changing some configuration settings to get output. If anyone is aware of settings that work with the Polyvection DAC32 hardware and the SqueezeAmp firmware, I'd love to hear them!

                          Cheers,
                          Brawny
                          Very strange.... I flashed with squeezelite.bin from squeezelite-esp32-master-v4.3-I2S-4MFlash-32-21276 again just now - and everything works!?!?! I can stream internet radio, I can play flac files - including the ones that wouldn't play previously due to the "empty" SEEKTABLE metadata block issue diagnosed by CJS here

                          Hopefully it will continue to work! I'm going to backup the current configuration so that I have it if needed. Now that I have access to a number of configuration items, it could be interested to try tweaking things! :-)


                          Cheers!
                          Brawny

                          Comment


                          • Originally posted by Rasputin_GY
                            Can you have a look in NVS editor, if you have this line?
                            dac_config:
                            model=TAS57xx,bck=33,ws=25,do=32,sda=27,scl=26,mut e=14:0
                            I found the NVM editor, and I my dac_config line is blank.

                            Comment


                            • Originally posted by brawny
                              Very strange.... I flashed with squeezelite.bin from squeezelite-esp32-master-v4.3-I2S-4MFlash-32-21276 again just now - and everything works!?!?! I can stream internet radio, I can play flac files - including the ones that wouldn't play previously due to the "empty" SEEKTABLE metadata block issue diagnosed by CJS here

                              Hopefully it will continue to work! I'm going to backup the current configuration so that I have it if needed. Now that I have access to a number of configuration items, it could be interested to try tweaking things! :-)
                              Good to hear that it works, and that you can now play the FLAC files with empty seektable!

                              Do I understand correctly that the first time you flashed the squeezelite.bin from the SqueezeAMP firmware zip, and the second time the squeezelite.bin from from the generic I2S firmware zip? I suggested to use the generic I2S firmware, since the SqueezeAMP firmware overrules some NVS settings, including the dac_config setting. In fact the I2S firmware (16-bit or 32-bit) can be used for all devices, provided that the correct NVS configuration settings are entered. For more info see the squeezelite-ESP32 README.

                              I do not really understand why the DAC32 works OK with empty dac_config line. This seems to indicate that the PCM5122 DAC in the DAC32 works OK with default I2S settings, and does not require additional configuration via I2C.

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

                              Comment


                              • One other comment about 32 bits: you also won't have support for resampling, which might be much more problematic. Note as well that is not the version I'll support the most. I made it more as challenge and to please PolyVection, but that's really not the purpose of our firmware.
                                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

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