Announcement

Collapse
No announcement yet.

ANNOUNCE: Squeezelite-ESP32 (dedicated thread)

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • Originally posted by Gin_Fiz
    Hello to all,
    I am developing a board with Squeezelite-ESP32 and a Texas Instrument TAS5711. It is a 2.1 amplifier with an 8 bands DSP for each channel.
    I was able to test the card with the latest version of Squeez and everything works fine. A big thank you to everyone who participated to create such a great project!

    I have a question because to make the TAS work the way I want it to, I have to send commands through the NVS. And I'm not sure if I can get it to work.

    I can confirm that I was able to modify the register of the master volume without any problem (register 7, with only one varible).

    But to change the register of a filter is more complicated.
    There is a register to call and 20 parameters to modify.
    Here is an example (in hexadecimal), of register 42 (or 2A in HEX):
    2A 00 7E D2 0D 0F 02 5B E5 00 7E D2 0D 00 FD A1 53 0F 82 59 1D

    Can you help me to find the command that should be sent?

    Thanks for listening!
    As soon as I have something working 🤞 I can share the project with you.

    For the curious: here is the software at Texas to create your own configuration
    https://www.ti.com/lit/zip/sloc257
    The advantage of the TAS5711 : its configuration software does not require the presence of a development board connected to your machine
    It depends how you want to set the filters. If this is at boot time, you can just create a dac_controlset that includes the commands you want. If you want that to be more dynamic, then you need to do programming.
    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 philippe_44
      It depends how you want to set the filters. If this is at boot time, you can just create a dac_controlset that includes the commands you want. If you want that to be more dynamic, then you need to do programming.
      In his case, subaddress 0x2a contains 20 bytes. Are you saying that in dac_controlset one can have multiple "val": variables in one "reg": entry?

      Comment


      • Originally posted by mboxler
        In his case, subaddress 0x2a contains 20 bytes. Are you saying that in dac_controlset one can have multiple "val": variables in one "reg": entry?
        Oh I see now - No, it does not work but I could probably add another verb instead of "val" that says "blob" and that would be an array of value or detect if val is an array (probably better)
        Last edited by philippe_44; 2021-11-17, 07:14.
        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


        • Spotify addition update

          Originally posted by Cadster
          Great news! Can't wait.
          Good progress being done, it does now fit in 4MB flash memory with everything which was a big challenge. Internal ram memory is still tight with LMS, BT, AirPlay and CSpot all together, but we'll continue to work on it. It's a resource we count kB (or less) by kB, something that most developers are not used to do anymore these days .

          Thanks to @feelfreelinux for cspot => https://github.com/feelfreelinux/cspot. Give him some stars!
          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


          • ESP32 Equalizer Challenge

            Hi Everyone.

            Firstly thanks for this awesome work. The nuts and bolts of how you got this to work is beyond me, but because of your amazing skills I have been able to make a wireless streaming speaker. Thankyou!

            I have been struggling to find how to setup the built in equaliser. So far I have found the equalizer settings in the NVS / Advanced tab of the WEBUI of the ESP32 Squeezelite instance. I have also flashed the 16bit version of the ESP32 squeezelite software as I read that the equalizer is only available on the 16 (not 32 bit verison). I have also installed the ESP32 plugin on the LMS side. However my questions are

            1) Does the equalizer do tone control?: I have seen examples of an equalizer that displays the levels of different frequencies being played. However have not seen an example a tone control interface that changes the gain of different frequencies of the output. Does it exist?
            2) Where do you control the equalizer settings?: I've found the advanced settings where you can change the equaliser settings but this is a list of two digits seperated by commas. When I change it and hit commit the sound does not seem to change. I've also heard people say that equaliser is done on the LMS side, but in the settings I cannot find any equaliser settings to adjust the sound.

            I've been wrestling with a desktop speaker to make it sound good. If i use a line in from my PC with the bass frequencies turned way up it sounds good. I've tried to emulate this with a modified low pass filter circuit but it still does not sound good enough and I think I need an equaliser. If the LMS / ESP32 side does not have an equlaiser then I'll be headed down the external equaliser chip route - a bit like Gin_Fizz and thier TAS5711.

            Thanks for taking the time to reply!

            Comment


            • Originally posted by l.e.hauser
              1) Does the equalizer do tone control?: I have seen examples of an equalizer that displays the levels of different frequencies being played. However have not seen an example a tone control interface that changes the gain of different frequencies of the output. Does it exist?
              2) Where do you control the equalizer settings?: I've found the advanced settings where you can change the equaliser settings but this is a list of two digits seperated by commas. When I change it and hit commit the sound does not seem to change. I've also heard people say that equaliser is done on the LMS side, but in the settings I cannot find any equaliser settings to adjust the sound.
              Yes, the equalizer does tone control. After you have installed the SqueezeESP32 plugin on LMS, you can adjust the equalizer in LMS as follows. Go to the Player tab and select your Squeezelite-esp32 player. For this player select ESP32 settings, and you should see the sliders for the parametric equalizer. See screenshot below. When you adjust the sliders you should hear the effect almost immediately. Hit the Apply button to save the equalizer settings.

              Click image for larger version

Name:	SqueezeAMP_EQ_settings.png
Views:	1
Size:	14.2 KB
ID:	1573656
              | 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
                Yes, the equalizer does tone control. After you have installed the SqueezeESP32 plugin on LMS, you can adjust the equalizer in LMS as follows. Go to the Player tab and select your Squeezelite-esp32 player. For this player select ESP32 settings, and you should see the sliders for the parametric equalizer. See screenshot below. When you adjust the sliders you should hear the effect almost immediately. Hit the Apply button to save the equalizer settings.

                [ATTACH]36178[/ATTACH]
                Ahhh. I dont have that on my LMS side. It says in your screenshot squeezeamp. I'm using the I2C build (using a Wrover and a DAC - a PCM1502). Is the equaliser only implemented on the squeezeamp build?

                Comment


                • Originally posted by philippe_44
                  Oh I see now - No, it does not work but I could probably add another verb instead of "val" that says "blob" and that would be an array of value or detect if val is an array (probably better)
                  Thanks for your quick feedback!
                  Small precision: for the moment I do not try to create a filtering with dynamic parameters. The goald is only a preset loaded at startup.
                  Indeed @mboxler is right.
                  I have a question @Philippe44: can I write a "blob" for the moment via the GUI? Or do I have to add a line of code directly in the source code?

                  Comment


                  • Originally posted by l.e.hauser
                    Ahhh. I dont have that on my LMS side. It says in your screenshot squeezeamp. I'm using the I2C build (using a Wrover and a DAC - a PCM1502). Is the equaliser only implemented on the squeezeamp build?
                    I suppose you mean the I2S build. I remember that in the past I have asked philippe_44 about the equalizer, and he told me that the equalizer is implemented in software in Squeezelite-ESP32. So I would expect that the equalizer is also included in the I2S build. Does LMS see your squeezelite-esp32 player? If so, can you select "ESP32 settings" for this player?
                    | 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
                      I suppose you mean the I2S build. I remember that in the past I have asked philippe_44 about the equalizer, and he told me that the equalizer is implemented in software in Squeezelite-ESP32. So I would expect that the equalizer is also included in the I2S build. Does LMS see your squeezelite-esp32 player? If so, can you select "ESP32 settings" for this player?
                      It is included. The only reason (bug aside ) why you might not see anything on LMS GUI is that the plugin is not installed
                      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 philippe_44
                        It is included. The only reason (bug aside ) why you might not see anything on LMS GUI is that the plugin is not installed
                        Thanks philippe! I'll check plugin I've installed and check I'm looking in the right place and come back! Thanks

                        (My incopmetance in this is more likely than a bug at this stage! )

                        Comment


                        • Originally posted by Gin_Fiz
                          Thanks for your quick feedback!
                          Small precision: for the moment I do not try to create a filtering with dynamic parameters. The goald is only a preset loaded at startup.
                          Indeed @mboxler is right.
                          I have a question @Philippe44: can I write a "blob" for the moment via the GUI? Or do I have to add a line of code directly in the source code?
                          I've pushed a new release that allows you to send blocs or blocks of data. Have a look at README, but basically the 'val' parameter can be a JSON array. It should be built in a few minutes
                          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


                          • I ran into an issue this morning with my squeezeamp.
                            crackley playback. Web page was unresponsive so I pulled the power.
                            Playback resumed after it powered up and I checked the web page and it was up.
                            Out of habit I checked for updates. 759 was available, I had 728(9) before.
                            clicked update and it uploaded the image and had the close button on the progress popup which I clicked.
                            The device showed that it was in recovery. Rebooted and got no web page. Solid red led and dim solid green.
                            LMS shows that it is up with the regular ip address, but no web page and the player tab in lms does not work with the squeezeamp.
                            It does play music if I cue up some songs.
                            When I telnet to the device, this is what I get:
                            E (1425684) _httpd: _httpd_server: error in select (4)
                            E (1425684) _httpd: _httpd_server: error in select (4)
                            E (1425684) _httpd: _httpd_server: error in select (4)
                            E (1425684) _httpd: _httpd_server: error in select (4)
                            E (1425684) _httpd: _httpd_server: error in select (4)
                            E (1425684) _httpd: _httpd_server: error in select (4)
                            E (1425684) _httpd: _httpd_server: error in select (4)
                            E (1425684) _httpd: _httpd_server: error in select (4)

                            Any ideas?
                            Last edited by mark wollschlager; 2021-11-18, 15:04.
                            2 Duets controllers, 1 X Boom, 1 X Radio
                            1 X SqueezeAmp + Edifier S1000DB
                            1 X Receiver + Yamaha RX-A2000, Polk M70
                            1 X Receiver + Boston MicroSystem CD
                            Raspberry Pi 3 B+ HiFi Berry Amp2 7" touchscreen PiCorePlayer 7.0 Audioengine A5 ( passive mode )
                            Raspberry Pi 2 B, HiFiBerry Dac+ & Max2play
                            SqueezeAmp 3 Monsoon MM-700 flat panels + Infinity sub
                            HTC 10 w/ Squeeze Ctrl
                            ReadyNAS 516 LMS 8.31

                            Comment


                            • Originally posted by l.e.hauser
                              Thanks philippe! I'll check plugin I've installed and check I'm looking in the right place and come back! Thanks

                              (My incopmetance in this is more likely than a bug at this stage! )
                              You have to go to your LMS config page an select tab plugins. Scroll to the bottom of the page an enter the path to pilippe┬┤s plugin repo from gitlab: https://raw.githubusercontent.com/sl...lugin/repo.xml

                              Then you can follow phillipe┬┤s screen shot.

                              This was not clear to me too using it for the first time. Maybe the description could be more precisely on the readme page.

                              Comment


                              • Originally posted by mark wollschlager
                                I ran into an issue this morning with my squeezeamp.
                                crackley playback. Web page was unresponsive so I pulled the power.
                                Playback resumed after it powered up and I checked the web page and it was up.
                                Out of habit I checked for updates. 759 was available, I had 728(9) before.
                                clicked update and it uploaded the image and had the close button on the progress popup which I clicked.
                                The device showed that it was in recovery. Rebooted and got no web page. Solid red led and dim solid green.
                                LMS shows that it is up with the regular ip address, but no web page and the player tab in lms does not work with the squeezeamp.
                                It does play music if I cue up some songs.
                                When I telnet to the device, this is what I get:
                                E (1425684) _httpd: _httpd_server: error in select (4)
                                E (1425684) _httpd: _httpd_server: error in select (4)
                                E (1425684) _httpd: _httpd_server: error in select (4)
                                E (1425684) _httpd: _httpd_server: error in select (4)
                                E (1425684) _httpd: _httpd_server: error in select (4)
                                E (1425684) _httpd: _httpd_server: error in select (4)
                                E (1425684) _httpd: _httpd_server: error in select (4)
                                E (1425684) _httpd: _httpd_server: error in select (4)

                                Any ideas?
                                I did a change in http_server to save some sockets but left some issues - see 761
                                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
                                😀
                                🥰
                                🤢
                                😎
                                😡
                                👍
                                👎