Home of the Squeezebox™ & Transporter® network music players.
Page 2 of 30 FirstFirst 123412 ... LastLast
Results 11 to 20 of 292
  1. #11
    Senior Member
    Join Date
    May 2010
    Location
    London, UK
    Posts
    821
    Quote Originally Posted by ralphy View Post
    If it turns out that the dsp module stops distribution, then perhaps implementing something similiar with the caps and alsa equalizer pairing like we have in piCoreplayer could be an option.
    Possibly also the MSP firmware.

    Random thoughts regarding the Crossover (dsp module):

    Provides an ALSA control to switch on and off. This is used by Squeezeplay in the context of headphone jack activity to automatically disengage when headphones are plugged in, and engage (i.e. produce mono tweeter and woofer) when headphones are removed.

    Equalization and crossover matched to the drivers and enclosure. Finding the curves ?

    Presumably well optimized code implementing equalization/crossover - would the alternatives provide adequate efficiency ?

  2. #12
    Senior Member
    Join Date
    May 2010
    Location
    London, UK
    Posts
    821
    Quote Originally Posted by mrw View Post
    Equalization and crossover matched to the drivers and enclosure. Finding the curves ?
    I've found those.

    By courtesy of the United States NSA, I used Ghidra nine or ten months ago to see what might be seen in the dsp plugin vis-Ó-vis the "bass drop out" issue[1]. On the way, I located the various filter co-efficients.

    I have now matched these up to the relevant dsp "cook-book" algorithms (http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt) plus one other. Results agree to the penny, or, in two cases, to within a couple of quid[2].

    [1] And found nothing that implicated the plugin.
    [2] Which, I suspect, may stem from the use of single floats instead of double floats when the firmware was prepared.

  3. #13
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,879
    Quote Originally Posted by mrw View Post
    Possibly also the MSP firmware.
    Agreed. Although the msp430 firmware is available in the logitech squeezeos github repo, the license in the recipe is Confidential.

    Quote Originally Posted by mrw View Post
    Provides an ALSA control to switch on and off. This is used by Squeezeplay in the context of headphone jack activity to automatically disengage when headphones are plugged in, and engage (i.e. produce mono tweeter and woofer) when headphones are removed.
    Perhaps providing 2 EQ curves, one for the bass crossover and another "flat" for the headphone jack and switching between them in _setEndpoint would be enough? You can create multiple alsa equals devices with distinct settings. Eventually even an applet to change the headphone curve settings could be implemented.

    Quote Originally Posted by mrw View Post
    Presumably well optimized code implementing equalization/crossover - would the alternatives provide adequate efficiency ?
    So far, my only experience has been using alsaequals on a single arm processor with fpu. This would definitely need more research.

    Quote Originally Posted by mrw View Post
    I've found those.
    By courtesy of the United States NSA, I used Ghidra nine or ten months ago to see what might be seen in the dsp plugin vis-Ó-vis the "bass drop out" issue[1]. On the way, I located the various filter co-efficients.

    I have now matched these up to the relevant dsp "cook-book" algorithms (http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt) plus one other. Results agree to the penny, or, in two cases, to within a couple of quid[2].

    [1] And found nothing that implicated the plugin.
    [2] Which, I suspect, may stem from the use of single floats instead of double floats when the firmware was prepared.
    Amazing. Knowing that you have the settings, makes researching alsaequals performance on the radio a worthwhile next step.
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 2-UE Radio
    Squeezebox client builds donations always appreciated.

  4. #14
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,879
    The radio has now been running my 7.8.0 r16764 firmware for nearly 2 weeks without an issue.

    Code:
    7.8.0 r16764
    root@poky Sat Feb 15 11:20:32 EST 2020
    Base build revision:  ba2bffadb9f1c1b77eee1b1c08a7985eeb97e14e
    
    09:05:49 up 13 days, 21:24, load average: 0.35, 0.26, 0.19
    
    root       749     1 27 Feb17 ?        3-18:52:26 /usr/bin/jive
    root       781   749  7 Feb17 ?        1-00:31:01 jive_alsa -d default -c dac -b 29991 -p 3 -s 16 -f 3
    I have tweaked several scripts since then but have been testing those changes in qemu. Unfortunately the SqueezeBaby applet needs to be disabled in qemu for squeezeplay to start and there's no qemu audio device support available in the kernel. So jive_alsa fails to initialize but jive continues to run. Currently exploring options to provide audio for testing.

    I'm working on updating ssl and dropbear now that I have a working qemu. I'd like to provide shared ssl libraries instead of the current static link so they could also be leveraged for local https connection support in the future.
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 2-UE Radio
    Squeezebox client builds donations always appreciated.

  5. #15
    Senior Member
    Join Date
    May 2010
    Location
    London, UK
    Posts
    821
    Quote Originally Posted by ralphy View Post
    Amazing. Knowing that you have the settings, makes researching alsaequals performance on the radio a worthwhile next step.
    Bonkers rather than amazing, I think.

    But Ghidra was released at around the same time as I was interested in the inner workings of the DSP plugin, so it seemed rude not to give it a try. I'm not sure that I'd repeat the exercise.

    I have attached an 'octave' script that captures my calculations and notes on methodology, etc. It might be useful to have in the tool box. Run by 'sourcing' it.

    It's worth being aware that the TI codec chip has DSP capabilities that are not being used. DSP coefficients can be set by way of an Alsa control.

    I haven't tinkered with it, and I suspect (unverified) that its quality may not match that of the DSP plugin. I have had in mind a project to use it to add a bit of bass cut to quell some of the "baritone boom" inherent in speech. Perhaps I'll look at that again, now that I have refreshed my memory on DSP processing.
    Attached Files Attached Files

  6. #16
    Junior Member
    Join Date
    Sep 2019
    Posts
    6
    Maybe this thread is mostly about audio quality/tweaks, but if you are planning on releasing a new generic firmware it could be valuable to add support for WiFi channel 12-13. There's a simple fix here: https://forums.slimdevices.com/showt...l=1#post618694

    It's usually the access point that restricts WiFi frequencies.

  7. #17
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,879
    Quote Originally Posted by robho View Post
    Maybe this thread is mostly about audio quality/tweaks, but if you are planning on releasing a new generic firmware it could be valuable to add support for WiFi channel 12-13. There's a simple fix here: https://forums.slimdevices.com/showt...l=1#post618694

    It's usually the access point that restricts WiFi frequencies.
    At least for me, this thread isn't mostly about audio tweaks, but updating the outdated software components in the radio/touch/controller firmware.

    Thanks I was aware of the wlan script changes to enable all wifi channels. My plan is to add the setrd flag based on the wpa_supplicant country code setting from a new country code setup applet.
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 2-UE Radio
    Squeezebox client builds donations always appreciated.

  8. #18
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,879
    Just a quick update.

    I've been successfully using the new firmware for the last 6 weeks as the changes have progressed.
    I've updated the ssh client/server and wpa_supplicant components, enabled cron, applied a few bug fixes and native LMS 8.0 support.
    As I indicated in my previous post, I'm working on an applet to set the wpa_supplicant.conf country code from the US default set in the new firmware.

    Here's a itemized list from my squeezeos github repos of the firmware changes to date.

    From https://github.com/ralph-irving/squeezeos changelog

    Code:
    Update wpasupplicant to v2.9.
    Enable busybox telnet command.
    Add baby kernel patch to fix (WE) : Wireless Event too big (33) messages.
    Update dropbear ssh server/client to 2019.78 release.
    Enable busybox cron daemon.
    Remove unused dropbear init.d script.
    Apply busybox patch to prevent zombie processes.
    Enable busybox last command.
    Fix lastlog no such file or directory remote login error messages.
    Remove libspotify LD_PRELOAD in init.d squeezeplay script.
    Add fdk-aac dependency to squeezeplay recipe.
    Add the Fraunhofer FDK AAC Codec Library recipe.
    Use baby dsp alsa module from logitech firmware 7.7.3r16676 as original source code is private.
    From https://github.com/ralph-irving/logitech-squeezeplay changlog.

    Code:
    Fix up misaligned and/or jittery text after horizontal scrolling. Squeezeplay often fails to properly "home" horizontally scrolled text when scrolling has paused. On a Squeezebox Controller, this fault may also result in "jittering" of the text.  Thanks to mrw for the patch.
    Remove obsolete libspotify based Spotify Applet.
    Add High-Efficiency Advanced Audio Coding (AAC) support.
    Always start at the first item in the Random Albums menu.
    Baby only - ignore firmware older than SR to SB migration firmware (7.7.3 r16667)
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 2-UE Radio
    Squeezebox client builds donations always appreciated.

  9. #19
    Senior Member
    Join Date
    May 2010
    Location
    London, UK
    Posts
    821
    Quote Originally Posted by ralphy View Post
    Code:
    Fix up misaligned and/or jittery text after horizontal scrolling. Squeezeplay often fails to properly "home" horizontally scrolled text when scrolling has paused. On a Squeezebox Controller, this fault may also result in "jittering" of the text.  Thanks to mrw for the patch.
    I also made an alternative source code patch, which I think may be a better approach for SqueezePlay generally. The lua script "hacky patch" is the only way to fix the firmware without a change to the binary. Better to fix the root problem, I think.

    But... I haven't tested it for real, as I am not (yet) in a position to use modified jive binaries on my Controller or Radios. Would you be prepared to take on the testing challenge ?

    Patch attached.

  10. #20
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    20,569

    Community Build Radio Firmware

    Is the only way to test your work to build myself? Or do you have any
    binaries to give a try?

    --

    Michael

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •