• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Volumio & BruteFIR related discussion

shumi

Member
Joined
Mar 13, 2020
Messages
63
Likes
29
Just realized, that the left and right filter tabs do not have a drop down menu...it does not appear as if I can select any filters at all. What am I missing?
 

QMuse

Major Contributor
Joined
Feb 20, 2020
Messages
3,124
Likes
2,785
Thanks very much QMuse...do you know what happened to the tools within brutefir? The sweeps? I can not find them. How do I validate the benefit of the filters if I can not generate sweeps from within Volumio?

Tools are there, just scroll down below the fields where you select filter names.
 

shumi

Member
Joined
Mar 13, 2020
Messages
63
Likes
29
That is a very old version. You should upgrade to new version of the plugin as described here. Be sure to upgrade Volumio to ver 2.776 or higher before installing new version of the plugin.

And yes, with new version you will need to select only names of the left and right filter - everything else will be configured for you automatically.
Thant makes sense....But I was following the directions on the Volumio site...

I guess this is the latest?
wget https://github.com/balbuze/volumio-plugins/raw/master/plugins/audio_interface/brutefir3/brutefir.zip
 

QMuse

Major Contributor
Joined
Feb 20, 2020
Messages
3,124
Likes
2,785
Just realized, that the left and right filter tabs do not have a drop down menu...it does not appear as if I can select any filters at all. What am I missing?

You're missing a new (last) version. ;)
 

QMuse

Major Contributor
Joined
Feb 20, 2020
Messages
3,124
Likes
2,785

shumi

Member
Joined
Mar 13, 2020
Messages
63
Likes
29
Thanks Qmuse. Rebooting Volumio means restaring it, right?


For REW, once I EQ, I want to export the filter impulse response, not the impulse response, right? Should I NORMALIZE the peaks option, and what sample rate should I be using 48 or 96. Also 32bitfloat or 24/32 bit PCM?
filter rew.JPG
 

QMuse

Major Contributor
Joined
Feb 20, 2020
Messages
3,124
Likes
2,785
Thanks Qmuse. Rebooting Volumio means restaring it, right?


For REW, once I EQ, I want to export the filter impulse response, not the impulse response, right? Should I NORMALIZE the peaks option, and what sample rate should I be using 48 or 96. Also 32bitfloat or 24/32 bit PCM?
View attachment 76320

Normalise samples to peak value should be ticked.
Use 24 bit PCM format and tick only 44.kHz sample rate.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,756
Likes
3,058
I had to re-install Brutefir because it stopped working. The new version 0.4.9 has new features which I am not familiar with. Can someone help me out? I am exclusively using Rephase to convert my REW filter file into a wav file to be imported into Brutefir.
1- Which filter format and filter size should I choose in rephase for best results?
2-Number of partitions is a new feature. What is this? Is this the number of filters per channel?
3- What should I set the internal resolution to?
4- What about sample rate? Should this value match the rate from rephase? Is the higher rate, the better result?
5- Why include an input and output format? Should they be same? What should they be set to? Match Rephase file ouptut format?
Thanks again for all the work and the added features.
I think the rest have been covered already so I'll stick to 2 - number of partitions. It's a way of splitting up the calculations that allows reduced latency at the cost of increased CPU usage. This probably isn't relevant if you're just playing audio content, but could be if you're playing video and the latency is longer than your video player can correct for. Details are in the BruteFIR documentation, particularly sections Partitioned convolution and How low I/O delay can I get?
 

ezublab

Member
Joined
Jun 28, 2020
Messages
42
Likes
31
I think the rest have been covered already so I'll stick to 2 - number of partitions. It's a way of splitting up the calculations that allows reduced latency at the cost of increased CPU usage. This probably isn't relevant if you're just playing audio content, but could be if you're playing video and the latency is longer than your video player can correct for. Details are in the BruteFIR documentation, particularly sections Partitioned convolution and How low I/O delay can I get?
You should not use this version of the plugin. Use brutefir3 instead, most of settings are done automatically. Changing the number of partition does not reduce latency, but may make brutefir instable. The only way of reducing latency is to reduce filter size. Latency is filter length/ sample rate
 

shumi

Member
Joined
Mar 13, 2020
Messages
63
Likes
29
sorry guys, I was trying to accidentally install an old version. I am such a looser!
 

shumi

Member
Joined
Mar 13, 2020
Messages
63
Likes
29
It easy to get carried away with filter generation. I found that if I stay below 150 Hz and limit corrections to just cuts not boosts ( max boost of 3) while avoiding room modes, the corrected output improves greatly. I also apply an IR and frequency dependent window of 6 cycles in width to minimize room affect of impulse response. Would be interested in your techniques/opinions to optimize filters and sound quality.
 

Daverz

Major Contributor
Joined
Mar 17, 2019
Messages
1,309
Likes
1,475
It easy to get carried away with filter generation. I found that if I stay below 150 Hz and limit corrections to just cuts not boosts ( max boost of 3) while avoiding room modes, the corrected output improves greatly. I also apply an IR and frequency dependent window of 6 cycles in width to minimize room affect of impulse response. Would be interested in your techniques/opinions to optimize filters and sound quality.

Could you expand on this last bit about the windowing?

Is that overall max boost or individual max boost?

I was just about to post asking about the use of gain via individual max boost. I did find some technical discussion on the web, but I don't really understand it.

Note: In-room speaker responses are non-minimum phase but PEQ can only correct minimum phase problems. It can not fill any dips caused by non-minimum phase issues. Any attempt could result in a massive waste of amplification power and might drive the speaker into audible or even damaging distortion. The spatial average of the captured speaker response above is blind to phase hence it is safer to apply only cuts and no boost. This is ensured by setting "Individual Max Boost" and "Overall Max Boost" to 0.

From https://mehlau.net/audio/room-correction-peq/

The situation described is not quite the same as mine. I'm using a single point measurement at the listening position since there is very little difference between that and an MMM measurement below 200 Hz. I'm using the rePhase plugin and export the result as an impulse response to be used with a convolution engine (brutefir).

I've noticed that I don't get much useful filling in of dips unless I use an IMB of about 9 dB. I'm not sure if this sounds better or worse than my previous filters with IMB=0.
 

shumi

Member
Joined
Mar 13, 2020
Messages
63
Likes
29
Could you expand on this last bit about the windowing?

Is that overall max boost or individual max boost?

.


Daverz,
I set them both to 3 to allow for a small cut if needed in the bass region. I have never seen a boost proposed by EQ with these settings, so it is pretty much equivalent to entering 0 for both of them as you indicated. Individual is what is allowed as max boost for a single filter, Max is the total boost allowed for the entire set. o, I am pretty much allowing for just one filter up to 3 db.
I use the Frequency dependent window with 6 cycles which is really the equivalent of applying a smoothing to the sweep equivalent of the same octave (1/6). The window excludes progressively more of the arriving sound as frequency increase rather than just averaging out similarly to what our ears function. I am OK with one measurement because I am only adjusting for bass response. I do not touch frequencies higher than that. My crossover region is 250 Hz as I am bi-amping my Magnepn 3.6R with 2 triple 12" open baffle sub stacks driven by Rythmik plates. I am applying correction which is processed only by the sub amps. My mono Bryston amps driving the main speakers see a pure signal.
I of course, have matched the phase, minimize delay, and aligned the subs to the main speakers as the subs operate partly in directional frequency range (above 130Hz).
One additional tool I am beginning to master is the spectrogram wavelet for peak energy. Check your frequency sweep for peak energy discontinuities and import the wav filter after you generate to see how it is trying to fix any issues you may have for peak energy.
The picture below is my rig. I set up a diffusive front wall, and (the picture does not show it, I have some absorbent panels on side of walls, but also have the back wall totally absorbent with a total of 20 panels deployed). Room size is 35'Lx19'W,9'H.
The room does not look very professional, but I do not care because it is my room dedicated to the rig. As an extra bonus, it matches the voicing set up of the manufacturer, Magnepan, which uses a room, same construction as mine (porous cinder blocks)!

room.JPG



Qmuse, a very helpful member on this forum, has reminded us that you do not have to use rephase to create wav files for Brutefir.
Once you have the filters done in REW, go to the main menu, file, export, export, export filter impulse response as Wav,mono, 24bit PCM, normalize samples to peak values, 44.1 khz.
 

shumi

Member
Joined
Mar 13, 2020
Messages
63
Likes
29
Questions for Brutefir experts....
1)when I play any measurement sweeps from the tool folder, do the sweeps go through Brutefir correction filters if I have any loaded for the two channels?
2) is it possible to have all sweep files (from tools folder) able to be loaded into REW for playback from file for a measurement? I tried today and some work and others are not accepted as deemed "old versions'.
 

ezublab

Member
Joined
Jun 28, 2020
Messages
42
Likes
31
Hello,
1) Everything played when the plugin is activated goes through brutefir. So for the reference measurement, set filter as 'None'.
2) If you browse your network, you should see your Volumio device and its share folder INTERNAL/Dsp/tools. In this folder, you'll fiind tools files (sweep, pink noise) and you can add or remove what you want to match with the REW version you use. Of course, you can load it in REW for measurement.
 

shumi

Member
Joined
Mar 13, 2020
Messages
63
Likes
29
Thanks very much ezulab!
I am so grateful to the developer(s) of this plug in but I am a bit frustrated about the interaction.
I just realized that I thought I was evaluating different brutefir filters but none were taking place. The flag I should have paid attention to was the red error message "brutefir player failed to restart". Theplug in menu shows the right filters assigned but brutefir appears not to be working. What exactly is the sequence for loading and changing filters in brutefir Volumio to ensure that the brutefir player is on and is applying the corrections? Can someone change the red error message to show what would need to be done to restart the player? Is the sequence 1) turn off the plug in, 2) reboot Volumio 3) tunr on the plug in? Every time I restart my Volumio, the ouptut device defaults to Hdmi, so I have to manually change it back to USB every time. Does this mess up brutefir? I have restarted and reset brutefir sevreal times but I am yet to be able to successfuly play a filter file, even the demo filters.
 

Attachments

  • active.JPG
    active.JPG
    163 KB · Views: 111
  • failed.JPG
    failed.JPG
    124.2 KB · Views: 116
  • reboot.JPG
    reboot.JPG
    282.1 KB · Views: 116
Last edited:

shumi

Member
Joined
Mar 13, 2020
Messages
63
Likes
29
It looks like my Denafrips Aeres ii usb dac may not be recognized. Volumio works when I change the default output to USB. But when I do that Brutefir instructs me to reboot as it thinks I am using it for the first time. When I reboot the playback output comes back to hdmi, which I change again, and on and on and on. Below is my aplay -l dump. It looks like a basc card command not found? The DAC has an ASIO compatible USB audio device driver . Do I need to download the driver into my RP4?




volumio@volumio:~$ volumio@volumio:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 4/4
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
-bash: volumio@volumio:~$: command not found
volumio@volumio:~$ **** List of PLAYBACK Hardware Devices ****
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: ALSA [bcm2835 ALSA], device 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 H eadphones]
Subdevices: 3/3
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
card 5: Audio [USB HiRes Audio], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 7: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]

BruteFIR v1.0m (November 2013) (c) Anders Torger

Usage: /usr/lib/brutefir/brutefir.real [-quiet] [-nodefault] [-daemon] [configur ation file]
volumio@volumio:~$ card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
-bash: card: command not found
volumio@volumio:~$ Subdevices: 4/4
-bash: Subdevices:: command not found
volumio@volumio:~$ Subdevice #0: subdevice #0
-bash: Subdevice: command not found
volumio@volumio:~$ Subdevice #1: subdevice #1
-bash: Subdevice: command not found
volumio@volumio:~$ Subdevice #2: subdevice #2
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
card 7: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
Subdevices: 2/2
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
-bash: Subdevice: command not found
volumio@volumio:~$ Subdevice #3: subdevice #3
-bash: Subdevice: command not found
volumio@volumio:~$ card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [b cm2835 IEC958/HDMI]
-bash: card: command not found
volumio@volumio:~$ Subdevices: 1/1
-bash: Subdevices:: command not found
volumio@volumio:~$ Subdevice #0: subdevice #0
-bash: Subdevice: command not found
volumio@volumio:~$ card 0: ALSA [bcm2835 ALSA], device 2: bcm2835 IEC958/HDMI1 [ bcm2835 IEC958/HDMI1]
-bash: card: command not found
volumio@volumio:~$ Subdevices: 1/1
-bash: Subdevices:: command not found
volumio@volumio:~$ Subdevice #0: subdevice #0
-bash: Subdevice: command not found
volumio@volumio:~$ card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 He adphones [bcm2835 Headphones]
-bash: card: command not found
volumio@volumio:~$ Subdevices: 3/3
-bash: Subdevices:: command not found
volumio@volumio:~$ Subdevice #0: subdevice #0
-bash: Subdevice: command not found
volumio@volumio:~$ Subdevice #1: subdevice #1
-bash: Subdevice: command not found
volumio@volumio:~$ Subdevice #2: subdevice #2
-bash: Subdevice: command not found
volumio@volumio:~$ card 5: Audio [USB HiRes Audio], device 0: USB Audio [USB Aud io]
-bash: card: command not found
volumio@volumio:~$ Subdevices: 1/1
-bash: Subdevices:: command not found
volumio@volumio:~$ Subdevice #0: subdevice #0
-bash: Subdevice: command not found
volumio@volumio:~$ card 7: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
-bash: card: command not found
volumio@volumio:~$ Subdevices: 2/2
-bash: Subdevices:: command not found
volumio@volumio:~$ Subdevice #0: subdevice #0
-bash: Subdevice: command not found
volumio@volumio:~$ Subdevice #1: subdevice #1
-bash: Subdevice: command not found
volumio@volumio:~$ card 7: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
-bash: card: command not found
volumio@volumio:~$ Subdevices: 2/2
-bash: Subdevices:: command not found
volumio@volumio:~$ Subdevice #0: subdevice #0
-bash: Subdevice: command not found
volumio@volumio:~$ Subdevice #1: subdevice #1
 

ezublab

Member
Joined
Jun 28, 2020
Messages
42
Likes
31
Hello
I think I see the problem. First, in the plugin, go to the bottom and reset the plugin. Disable the plugin. Go in playback settings, select your dac and mixer. Apply and reboot. Once rebooted, check if you get sound and volume control.
If ok and only if ok, enable the plugin. Wait 20 sec Reboot as asked.
Once rebooted, go in plugin settings and check output format. Try to play something from the playlist or radio. If no sound, change output format...
Sometimes a reboot helps, but do not change output setting in playback!
If sound, select a demo filter...
 

shumi

Member
Joined
Mar 13, 2020
Messages
63
Likes
29
Hi ezublab,
thanks very much for your reply. Here is what happened when I followed your instructions...


1)First, in the plugin, go to the bottom and reset the plugin. - DONE
2)Disable the plugin. - DONE
3)Go in playback settings, select your dac and mixer. - CAN NOT SELECT MY DAC, NOT SHOWN. I CAN ONLY SELECT THE OUTPUT USB.
4) Apply and reboot. - DONE. LOST WIFI CONNECTION. HAD TO CONNECT TO MY SERVER TO RE-ESTABLISH WIFI. RECONNECTED USB TO DAC. POWERED ON DAC THEN RPI4 WITH VOLUMIO.
5) Once rebooted, check if you get sound and volume control. GOT ERROR- FAILED TO OPEN ALSA DEVICE hwLOOPBACK0, NO SUCH DEVICE.
OUTPUT PLAYBACK DEFAULTED BACK TO DSP-DSP-HDMIOUT, WHICH IS NOT WHAT i WANT!!!
1597339715573.png


Like Reply
Report
 
Top Bottom