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 ?
Results 11 to 20 of 184
Thread: Community Build Radio Firmware
-
2020-02-20, 12:38 #11
- Join Date
- May 2010
- Location
- London, UK
- Posts
- 743
-
2020-02-29, 06:49 #12
- Join Date
- May 2010
- Location
- London, UK
- Posts
- 743
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.
-
2020-03-02, 07:03 #13
Agreed. Although the msp430 firmware is available in the logitech squeezeos github repo, the license in the recipe is Confidential.
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.
So far, my only experience has been using alsaequals on a single arm processor with fpu. This would definitely need more research.
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.
-
2020-03-02, 07:29 #14
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'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.
-
2020-03-03, 08:40 #15
- Join Date
- May 2010
- Location
- London, UK
- Posts
- 743
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.
-
2020-03-11, 01:09 #16
- Join Date
- Sep 2019
- Posts
- 5
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.
-
2020-04-08, 05:58 #17
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.
-
2020-04-08, 06:31 #18
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.
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.
-
2020-04-08, 17:25 #19
- Join Date
- May 2010
- Location
- London, UK
- Posts
- 743
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.
-
2020-04-08, 22:24 #20
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