BruteFIR is included in the Community Squeeze project

624 views
Skip to first unread message

Gandhi

unread,
Apr 8, 2014, 3:13:57 PM4/8/14
to brute...@googlegroups.com
Just a heads-up if you guys haven't noticed what's happening on the Squeezebox front.

My point for writing this is my hope that - for the reasons below - the interest in BrutefirDrc might increase.

Basically, a number of volunteers have started on a Community Squeeze project. The Community Squeeze Operating System (CSOS) is the operating system for the Community Squeeze Player project. The player consists of a WandBoard and eventually a community audiophile-quality add-on board for the WB.
http://www.communitysqueeze.org/index.jsp
http://forums.slimdevices.com/showthread.php?97881-Community-Funded-Squeezebox-Replacement-Would-you-be-interested
http://forums.slimdevices.com/showthread.php?99395-Community-Squeeze-OS-F19-Release-1

Recently, community versions of LMS itself, 7.8.0 and 7.8.1, has been released.
http://forums.slimdevices.com/showthread.php?101248-What-should-be-included-in-7-8-1
http://forums.slimdevices.com/showthread.php?101312-LMS-7-8-1-or-7-9-0-Which-way-to-go

Anyway, BruteFIR is included. It has been compiled for the CSOS on the WB, but has not yet been tested. It's unknown if it runs fast enough on the WB to render it usable.
http://forums.slimdevices.com/showthread.php?97881-Community-Funded-Squeezebox-Replacement-Would-you-be-interested/page132&highlight=brutefir

It should be possible to install the BrutefirDrc plugin in the CSOS. This is also not tested yet.

(I have not installed any of the new LMS versions and I haven't got a WB, so I can't test anything right now.)

Well, I thought you should know this, if you didn't already.

Best Regards,
Gandhi

Olav Sunde

unread,
Apr 8, 2014, 4:40:31 PM4/8/14
to brute...@googlegroups.com
Hi Gandhi

I have followed the CSOS project. Very nice work I must say! As you, I have not tested as I have not yet purchased a WandBoard. BrutefirDRC 4.x is actually in the repo, so it should be easy to test. Is Python part of CSOS? Should be easy to add if it isn't.

Thanks for the information and links

Olav


Gandhi

unread,
Apr 8, 2014, 6:24:44 PM4/8/14
to brute...@googlegroups.com
Hi Olav!

Yes, this project is very ambitious and the participants are very skilled. I'm quite impressed over how far they've come in such a short time.

There has been a bit of talk about Python here and there, but I'm not really sure what has happened. See for instance:
http://forums.slimdevices.com/showthread.php?99395-Community-Squeeze-OS-F19-Release-1/page71

If no Python, one could perhaps make a suggestion to JackOfAll to include it? He's a very agreeable man.

I'm not buying a WB just now. I will, sooner or later, as I'm very interested in the CSP. But JackOfAll said (yesterday?) that he's thinking of perhaps supporting also another hardware gizmo and that he'll probably be done thinking about it in a few days. So I'll just hold on to my credit card for a few more days...

(I don't really need a CSP, but I'd be happy to support the community for such a good initiative. And toys are fun, too...!)

Best Regards,
Gandhi

Mervin Beng

unread,
Apr 8, 2014, 8:47:03 PM4/8/14
to brute...@googlegroups.com
Hi all,

I've only just looked at WB, and it's interesting, apart from the lack of a good on-board audio solution.

The new Wolfson daughter board for the Raspberry Pi suddenly raises its status to a potentially serious player in the small client arena. I'm not sure it has the muscle to run brutefir. It certainly has Python support.

Regards,
Mervin
--
You received this message because you are subscribed to the Google Groups "BrutefirDRC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to brutefirdrc...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Rob P

unread,
Apr 12, 2014, 1:28:23 PM4/12/14
to brute...@googlegroups.com
Hi there,
I have managed to install BrutefirDrc LMS plugin on Wandboard Quad (latest CSOS f19). In plugin player settings I've been asked to choose Flac, Flac Loudness, Mp3 etc. template, then filter for this player in txt extension. I have couple 24bit Wav impulse responses which I successfully use with Foobar 2000 and convolver plugin. I also converted them to L.pcm and R.pcm . It looks like I need additional txt conversion/filter configuration file? I am not sure how the filter folder structure should look like. Can someone post example configuration filters and directions where to place them in BrutefirDrc folders... then I am ready to test Wandboard with different filters lengths, bitrate settings. Thank you.

Olav Sunde

unread,
Apr 12, 2014, 4:12:02 PM4/12/14
to brute...@googlegroups.com
Hi Rob P

download and extract filter_examples_4.1.beta.tar.gz into the 'filters' folder of BrutefirDRC  : http://sourceforge.net/projects/brutefirdrc/files/brutefirdrc/4.1.beta/ . Probably here: /etc/squeezeboxserver/BrutefirDrc/filters, but check in the LMS config page for BrutefirDRC plugin where Filters directory: is set. You should now be able to select one of the filters in LMS i.e. sample_filter_no_eq.
Filter_examples contain working filters with .PCM files so you can check that convolution works. Sound should be about 6 dB lower in volume through convolution, but otherwise unchanged. You can then use copies of the filters to create your own. I suggest you start with flac. If it does not work you may have to go to File types in LMS config and disable all but sox/brutefirwrapper to force LMS to pass sound through to BrutefirDRC.
I'm keen to know how BrutefirDRC performs with a Wandboard, so please report back your experiences

Olav

Rob P

unread,
Apr 12, 2014, 6:29:24 PM4/12/14
to brute...@googlegroups.com
Hi Olav,

Thank you for the link!
I placed filters in proper directories (indicated by LMS plugin settings), after that I noticed that script generted filter settings files in /BrutefirDrc/settings (filter names include mac adresses of my players).
I went to File Types in LMS config to choose sox/brutefirwrapper option to play flac, however there was no such a option... ( The plugin generated new lines with FLAC settings but all "Disabled" )
Using "Loudness" part of the plugin (no convolver) generates line FLAC with setting "Sox" possible to choose, but there is no effect on sound using it. (I remember using loudness successfully  with older CSOS which contained Brutefir v 1.0k) I will try to test same things with older CSOS image...



Rob P

unread,
Apr 12, 2014, 8:02:30 PM4/12/14
to brute...@googlegroups.com
Downgrading Brutefir v1.0m to Brutefir v1.0k is not helping at all... (Latest CSOS)

code:

sudo csos-cleanDowngrade-testing brutefir

Rob P

unread,
Apr 12, 2014, 8:52:08 PM4/12/14
to brute...@googlegroups.com
Yes, python is included in CSOS...
"Package python3-3.3.2-8.fc19.armv7hl already installed and latest version"

Olav Sunde

unread,
Apr 12, 2014, 9:47:04 PM4/12/14
to brute...@googlegroups.com
Content of filter_examples should exist in the filters folder itself, not in a directory within. Next step is then to check if brutefirwrapper can run as intended. I have an old Fedora x86 based distro running Vortexbox 2.2. Where is the plugin installed? /usr/share/squeezeboxserver/Plugins/BrutefirDrc/ or linked to /var/lib/squeezeboxserver/Plugins? try to run /usr/share/squeezeboxserver/Plugins/BrutefirDrc/Bin/brutefirwrapper --help What do you get?
 I have seen that LMS does not use all Plugins locations properly even if they are listed in the LMS info page, but as your LMS is displaying the BrutefirDrc plugin config this should be OK.
Then there is ownership of files. On my install squeezeboxserver owns everything in the Plugins folders and /etc/squeezeboxserver
Is there a /var/log/squeezeboxserver/brutefir.log? Also brutefirwrapper writes to /tmp/.BrutefirDrc-xxx

Olav

Rob P

unread,
Apr 12, 2014, 11:49:52 PM4/12/14
to brute...@googlegroups.com
Olav !
Many thanks!

It was permission problem, easy fix is:

sudo chmod -R 777 /etc/squeezeboxserver

sox/Brutefirwrapper option appeared in Advanced/File Types FLAC conversion options.
Loudness option seams to work fine, convolver probably too. I'll check everything tomorrow!

Rob P

unread,
Apr 13, 2014, 1:48:10 AM4/13/14
to brute...@googlegroups.com
I also enabled r/w:

sudo chmod -R 777 /usr/share/squeezeboxserver/Plugins/BrutefirDrc/Bin

Olav Sunde

unread,
Apr 13, 2014, 3:19:12 PM4/13/14
to brute...@googlegroups.com
Good you found the problem and fixed it! Is everything working now?

I'll ask Klaas to include the sample files in the main plugin archive so new users can verify functionality directly. Also, the sample_info.txt should be renamed sample_info.README not to be confused with a filter.

Rob P, maybe you could mention the permission problem to JackOfAll in the CSOS thread at Slimdevices forum http://forums.slimdevices.com/showthread.php?97881-Community-Funded-Squeezebox-Replacement-Would-you-be-interested&p=775844&viewfull=1#post775844 . He will have to address that in the RPM.

Olav

Rob P

unread,
Apr 13, 2014, 4:17:21 PM4/13/14
to brute...@googlegroups.com
Confirmed! BrutefirDRC plugin works with CSOS Wandboard Quad.

Convolver works well, I checked it with custom 44.1 khz filter (pass band) centered on mid frequencies with bass and treble removed.
Change in processed sound was obvious. I also played 96000khz 24bit material with 32768 samples long filter,
CPU was loaded around 10% for each core (2 of 4) for brutefir process ( 0 cpu 10%, 1 cpu 10%) other two cores where occupied with lower loads
by squeezelite, sox etc.
In case of 44.1khz ( filter 16384 samples long) we have about half the load of 96k.
It is possible to filter @44.1khz with BrutefirDRC convolver and then have it asynchronously up-sampled by sox before output... for example to 96khz.
(I feed this way my DSP crossover which operates optimally at rate of 96khz)

Klaas Reineke

unread,
Apr 14, 2014, 2:55:31 AM4/14/14
to brute...@googlegroups.com
Hi Rob,

to upsample you can edit the custom-convert.conf or the templates within brutefir plugin directory. You should change the last sox command that converts the PCM stream from brutefirwrapper. Here you could change it to 96 output. But I am not sure how the Server behaves if you resample the audio to 96k. Maybe it expects the input sample rate at the output but I am note sure. You can play around with it. You just have to edit the template file, then you can apply the template via the web interface and the conversions are reloaded without a restart of the server.

Right now I cannot look into the SOX commands but the man page is quite self explanatory :)

Regards Klaas

Klaas Reineke

unread,
Apr 14, 2014, 2:57:12 AM4/14/14
to brute...@googlegroups.com
Hi Rob,

do you know what we need to do to get the plugin in the official distribution/plugin set of the CSOS? Where to post or ask for it?

Regards Klaas

Gandhi

unread,
Apr 14, 2014, 4:32:09 AM4/14/14
to brute...@googlegroups.com
Hello Klaas!

BrutefirDRC is already included in CSOS.

Here is the thread: http://forums.slimdevices.com/showthread.php?99395-Community-Squeeze-OS-F19-Release-1/page199

Please see post #1983 for Rob P's installation procedure.

Olav Sunde

unread,
Apr 14, 2014, 5:04:17 AM4/14/14
to brute...@googlegroups.com
Rob P,
thanks for posting in the CSOS thread. That will help sorting the issues we have seen.

Olav

Clive Messer

unread,
Apr 14, 2014, 5:31:37 AM4/14/14
to brute...@googlegroups.com

Hello,

I'm Clive, (aka JackOfAll on the slimdevices forum), and I'm "responsible" for packaging the BrutefirDRC LMS plugin for CSOS on the Wandboard. Most of the software I package, I actually use myself, so I have a pretty good idea if it's working or not. BrutefirDRC isn't something I personally use. Someone asked me to package it many moons ago and I never got any feedback. So it's good to finally have some feedback. I'll take a look at the package later today,take on-board Rob's comments and include a sample filter, so there is something to test with "out of the box".

If people want to tell me what I'm doing wrong, or have any suggestions, regarding the packaging of the plugin for CSOS, the best way to get my attention is to post in the CSOS dev thread over on the slimdevices forums.

Regards

Clive

Olav Sunde

unread,
Apr 14, 2014, 2:05:06 PM4/14/14
to brute...@googlegroups.com
Clive works fast! He has already updated the BrutefirDrc package in the CSOS repo.

Thanks Clive

Olav
Message has been deleted

Rob P

unread,
Apr 14, 2014, 4:07:23 PM4/14/14
to brute...@googlegroups.com
Hi Klaas,


Thank you for your time and enthusiasm put in to development BrutefirDRC plugin!
I  have noticed that known issue of FLAC seek slider still exist, could you recommend some kind of workaround?
I've tried to use PCM template with FLAC to PCM/Butefirwrapper output. Does it make sense?


Rob P

unread,
Apr 14, 2014, 5:39:59 PM4/14/14
to brute...@googlegroups.com
 Hi there,

I occasionally see [Errno 2] in Brutefir log ( /var/log/squeezeboxserver/brutefir.log ).

Traceback (most recent call last):
  File "/usr/share/squeezeboxserver/Plugins/BrutefirDrc/Bin/brutefirwrapper", line 466, in read_tail
    age = time.time()-os.stat(tail_filename).st_mtime
OSError: [Errno 2] No such file or directory: '/tmp/.BrutefirDrc-992/tail-xx_xx_xx_xx_xx_xx.pcm'
Output follows (0.352s)

where xx_xx_xx_xx_xx_xx is mac address of my player

Is this something that I should worry about?
I can not hear any quality drop while having this error.

Olav Sunde

unread,
Apr 14, 2014, 6:34:25 PM4/14/14
to brute...@googlegroups.com
Hi Rob P
no, do not worry about this. This is normal behaviour for brutefirwrapper when you skip to a different track.
To view the brutefir log in real time you can use the command  tail -f -n 20 /var/log/squeezeboxserver/brutefir.log
-n 20 = display 20 lines
Handy when checking for clipping for example.


Olav

Rob P

unread,
Apr 14, 2014, 6:49:55 PM4/14/14
to brute...@googlegroups.com
Olav,

Thanks, thats very useful command!  

To view the brutefir log in real time you can use the command  tail -f -n 20 /var/log/squeezeboxserver/
brutefir.log
-n 20 = display 20 lines


Do you have any idea how can I make seek slider working propely on FLAC playback?
Looks like old problem :-(

https://groups.google.com/d/msg/brutefirdrc/Te2rT1uFUk0/g-gp1SYk7tkJ


4.  I cannot seek within a track while BrutefirDRC is active.  If I try to seek 20 seconds into the track, for example, the web GUI places the marker on the track progress bar properly, but the track actually starts playing from the beginning (T=0).  With BrutefirDRC disabled, I can seek to that point and the track will start to play from T=20, as expected.  My files are all FLAC (nearly all 16/44.1), if that makes a difference.

I can only seek when I choose PCM output. I cannot seek in Flac. This issue exists since the first version of the Plugin.

Olav Sunde

unread,
Apr 15, 2014, 2:03:24 AM4/15/14
to brute...@googlegroups.com
Sorry I do not know a workaround for this. I always use PCM streaming because I generally use low power CPU devices. For PCM streaming, brutefirwrapper will invoke sox only once to decode a file into wawpcm before it is sent to brutefir - and the output is passed to the player as PCM. When you select FLAC, another sox process is started after convolution, converting the output back to FLAC before it is sent to the player.

Olav

Rob P

unread,
Apr 15, 2014, 8:00:54 AM4/15/14
to brute...@googlegroups.com
Hi Olav,

Another words you stream your music files like "song_.example.flac" using PCM scheme, is that right?
Do you use standard options from LMS menu or you need to make some changes in custom-convert.conf?
Attached you find my PCM streaming settings.
Thank you for all your help,

Rob




Message has been deleted

Rob P

unread,
Apr 15, 2014, 8:21:58 AM4/15/14
to brute...@googlegroups.com

Upsss, I have attached wrong screen shot with my PCM streaming file types, here is right one:


Olav Sunde

unread,
Apr 15, 2014, 8:52:22 AM4/15/14
to brute...@googlegroups.com
This last image is the correct setting to stream as PCM. You'll select PCM as format in the BrutefirDrc plugin. No need to change anything in custom-convert.conf. When you do it this way you should have one sox process less while playing (as wiewed in 'top') compared to streaming flac.
Is this not working properly?

Olav

Rob P

unread,
Apr 15, 2014, 9:25:55 AM4/15/14
to brute...@googlegroups.com
Yes, one SOX process less, but problem with the slider still exists.



[fedora@wandboard ~]$ top
top - 09:15:45 up 3 days, 16:31,  2 users,  load average: 3.93, 3.87, 3.99
Tasks: 122 total,   1 running, 121 sleeping,   0 stopped,   0 zombie
%Cpu0  : 14.7 us,  0.0 sy,  0.0 ni, 84.3 id,  0.0 wa,  0.0 hi,  1.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  9.7 us,  0.0 sy,  0.0 ni, 90.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  : 12.7 us,  1.0 sy,  0.0 ni, 86.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   1884168 total,  1874108 used,    10060 free,   419980 buffers
KiB Swap:        0 total,        0 used,        0 free,  1159300 cached

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
19019 squeeze+  20   0   16156  11568   8984 S  11.7  0.6   0:17.49 brutefir
19020 squeeze+  20   0   16156  11568   8984 S  11.7  0.6   0:17.88 brutefir
16151 squeeze+  20   0  136864 126152   5376 S   2.9  6.7   8:55.44 squeezeboxserve
19015 squeeze+  20   0   10708   2652   2016 S   2.9  0.1   0:06.16 sox
19054 fedora    20   0    5204   1224    928 R   2.0  0.1   0:01.35 top
  351 tomcat    20   0  686664  38972   2708 S   1.0  2.1   5:44.94 java
  370 jivelite  20   0   31720  11320   1548 S   1.0  0.6  44:01.89 jivelite-wsp
18606 root      20   0       0      0      0 S   1.0  0.0   0:00.95 kworker/3:1
19016 squeeze+  20   0    9932   5056   1948 S   1.0  0.3   0:01.41 brutefirwrapper
19018 squeeze+  20   0    9164   2960    404 S   1.0  0.2   0:00.87 brutefirwrapper
    1 root      20   0    6480   3312   1812 S   0.0  0.2   0:08.69 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.04 kthreadd
    3 root      20   0       0      0      0 S   0.0  0.0   0:04.77 ksoftirqd/0

Olav Sunde

unread,
Apr 15, 2014, 10:53:36 AM4/15/14
to brute...@googlegroups.com

I use iPeng on an iPod for remote control. I do not remember seeing this problem, but I rarely spool inside a song. I'll have to check when I play some music later tonight or tomorrow. Is this the slider in the LMS web interface?

Olav

Rob P

unread,
Apr 15, 2014, 11:13:30 AM4/15/14
to brute...@googlegroups.com
I have tried iPeng 7, iPeng HD and LMS web interface with similar results.
Can version of Logitech Media Server be a problem? (Version: 7.8.0 - 1395395852)

Olav Sunde

unread,
Apr 15, 2014, 3:51:04 PM4/15/14
to brute...@googlegroups.com
I can not reproduce the slider issue on my LMS installations. Both web interface and iPeng on iPod works. iPeng is v2.0.17, iPod is 6.1.3.
I have a Vortexbox installation with the same LMS as you: Logitech Media Server Version: 7.8.0 - 1395395852 @ Mon Apr 7.
I also run LMS v 7.8.0 - 1391011014 @ Thu Jan 30 on a Readynas. Both use x86 processors.
I've tried PCM, FLAC and BrutefirDrc DISABLED.Slider works as expected on all. Maybe this is related to the Wandboard somehow?

Seems you will have to keep on seaching for this one I'm afraid.


Olav

Rob P

unread,
Apr 15, 2014, 4:30:44 PM4/15/14
to brute...@googlegroups.com
Hi Olav,

Good news!

There is on check box in LMS settings / Advanced / BruteFIR Room Correction ------ "Enable Loudness for players"
It MUST be unchecked in order to progess/seek slider work properly when convolving with BrutefirDRC !!!

One extra thing!

I can use FLAC template with filter and use FLAC/soxBrutefirwrapper conversion, progess/seek slider works with no problems.

Thanks again,

Best Regards
Rob




Olav Sunde

unread,
Apr 15, 2014, 4:58:49 PM4/15/14
to brute...@googlegroups.com

That is good! I do not use the loudness function so I didn't spot this...

Olav
Reply all
Reply to author
Forward
0 new messages