• 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

Daverz

Major Contributor
Joined
Mar 17, 2019
Messages
1,309
Likes
1,475
I actually tried that. But it didn't work, which I suppose was because of the low levels on the mic; REW couldn't hear the timing reference signal. I think the mic is faulty.

Ah,sorry, my reading comprehension isn't so good. Yeah, the timing reference won't start the measurement in REW if the level is too low.

Could you describe the mic, mic preamp (if any), and sound input device?
 

reza

Active Member
Joined
Mar 27, 2019
Messages
110
Likes
131
Ah,sorry, my reading comprehension isn't so good. Yeah, the timing reference won't start the measurement in REW if the level is too low.

Could you describe the mic, mic preamp (if any), and sound input device?

Of course :) the mic is a Dayton IMM-6 (cheaper than UMM-6 but seems to share most of the specs) run through a TRRS splitter, fed into the motherboard mic in. Output is SPDIF fed direct into NAD integrated, driving the speakers. Forming a closed loop with everything in the chain isn't a trivial matter. So I have mostly left calibrations off. Only thing I did was check levels in REW before the measurement making sure that it's happy.
Thankfully I got the mic from Amazon. I have initiated the return, and placed an order on the UMIK-1.
 
OP
Krunok

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,067
Location
Zg, Cro
I mean, even independent of REW, for instance in windows voice recorder or Audacity, the mic doesn't seem to function properly. I have to bring it right up to my mouth, or it only captures noise. Mic level is set to 100% and mic boost set to +10dB in windows.

I see. That really looks like it's broken.
 
OP
Krunok

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,067
Location
Zg, Cro
Of course :) the mic is a Dayton IMM-6 (cheaper than UMM-6 but seems to share most of the specs) run through a TRRS splitter, fed into the motherboard mic in. Output is SPDIF fed direct into NAD integrated, driving the speakers. Forming a closed loop with everything in the chain isn't a trivial matter. So I have mostly left calibrations off. Only thing I did was check levels in REW before the measurement making sure that it's happy.
Thankfully I got the mic from Amazon. I have initiated the return, and placed an order on the UMIK-1.

I'm using the same mic, it shares the microphone capsule with UMM-6 and works without any issues.
 
OP
Krunok

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,067
Location
Zg, Cro
I gave a description of how to record using REW when playing back thru your RPi (I'm using LMS and piCorePlayer, but the principal is the same).

https://www.audiosciencereview.com/...orial-for-dummies-part-2.5/page-9#post-163964

The key is to "Add Timing Ref" when you create your sweep in REW and then "Use acoustic timing reference" when you take the measurement.


Btw, new version of the BruteFIR plugin has sweep files with timing reference included so you can play them from the plugin. Plugin also includes pink noise files for RTA moving mic method.

Version of the plugin which includes DRC-FIR tool for creating EQ filters is also now available.
 

reza

Active Member
Joined
Mar 27, 2019
Messages
110
Likes
131
Btw, new version of the BruteFIR plugin has sweep files with timing reference included so you can play them from the plugin. Plugin also includes pink noise files for RTA moving mic method.

Version of the plugin which includes DRC-FIR tool for creating EQ filters is also now available.

I looked into DRC-FIR last time you mentioned it. I couldn't find any binaries for it though. Maybe I should give the source code a go.
 
OP
Krunok

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,067
Location
Zg, Cro
I looked into DRC-FIR last time you mentioned it. I couldn't find any binaries for it though. Maybe I should give the source code a go.

Plugin is installed from Volumio. Remove previous version before install.


Here is how you do it:

https://github.com/balbuze/volumio-plugins/tree/master/plugins/audio_interface/brutefir3

1. Enable SSH and connect to Volumio
To do that, have a look here : ssh in volumio

2. Download and install the plugin
Type the following commands to download and install plugin:

wget https://github.com/balbuze/volumio-plugins/raw/master/plugins/audio_interface/brutefir3/brutefir.zip
mkdir ./brutefir
miniunzip brutefir.zip -d ./brutefir
cd ./brutefir
volumio plugin install
cd ..
rm -Rf brutefir*

3. Using the plugin
In webUI, enbable the plugin and wait about 20seconds.
 

reza

Active Member
Joined
Mar 27, 2019
Messages
110
Likes
131
Plugin is installed from Volumio. Remove previous version before install.


Here is how you do it:

https://github.com/balbuze/volumio-plugins/tree/master/plugins/audio_interface/brutefir3

1. Enable SSH and connect to Volumio
To do that, have a look here : ssh in volumio

2. Download and install the plugin
Type the following commands to download and install plugin:

wget https://github.com/balbuze/volumio-plugins/raw/master/plugins/audio_interface/brutefir3/brutefir.zip
mkdir ./brutefir
miniunzip brutefir.zip -d ./brutefir
cd ./brutefir
volumio plugin install
cd ..
rm -Rf brutefir*

3. Using the plugin
In webUI, enbable the plugin and wait about 20seconds.

Thank you. That's thorough. I'll give it a shot once the new mic is in.
 

Daverz

Major Contributor
Joined
Mar 17, 2019
Messages
1,309
Likes
1,475
Btw, new version of the BruteFIR plugin has sweep files with timing reference included so you can play them from the plugin. Plugin also includes pink noise files for RTA moving mic method.

Version of the plugin which includes DRC-FIR tool for creating EQ filters is also now available.

Very nice! I'm pretty wedded to my customized LMS, but I'll have to give Volumnio a serious look.
 

Daverz

Major Contributor
Joined
Mar 17, 2019
Messages
1,309
Likes
1,475
I looked into DRC-FIR last time you mentioned it. I couldn't find any binaries for it though. Maybe I should give the source code a go.

There are windows binaries in the "sample" directory, if you can decompress the tar.gz file (winzip will do it). There are also packages in the Ubuntu repositories.

Compilation is very simple as there are no dependencies, and it's straightforward C code.
 
OP
Krunok

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,067
Location
Zg, Cro
There are windows binaries in the "sample" directory, if you can decompress the tar.gz file (winzip will do it). There are also packages in the Ubuntu repositories.

Compilation is very simple as there are no dependencies, and it's straightforward C code.

There is a compiled exe in sample directory.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,758
Likes
3,063
Based on a quick test the Pi 4 may have solved the pop/click issue. I repeated my raspbian based test scenario that's essentially the same setup as the volumio brutefir plugin was using at the time, but with a Pi 4 instead of a Pi 3. The Forte was plugged into a USB 2 port. This time I don't hear any glitches - I really wish I had an objective test! Note that this is with a new version of Raspbian Lite which has a new kernel among other things, so I really ought to retest the Pi 3 too. Has anyone tried it with Volumio yet?
 
OP
Krunok

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,067
Location
Zg, Cro
Based on a quick test the Pi 4 may have solved the pop/click issue. I repeated my raspbian based test scenario that's essentially the same setup as the volumio brutefir plugin was using at the time, but with a Pi 4 instead of a Pi 3. The Forte was plugged into a USB 2 port. This time I don't hear any glitches - I really wish I had an objective test! Note that this is with a new version of Raspbian Lite which has a new kernel among other things, so I really ought to retest the Pi 3 too. Has anyone tried it with Volumio yet?

This is actually expected due to this: "Another port upgrade is in the support for Gigabit Ethernet via the ethernet port. This is a welcome change from the Raspberry Pi 3 Model B+, which only supported the standard via USB. "

Pop/click issues were coming due to traffic on Ethernet port wich shared the USB port. As it is no longer the case I see no reason for RPI 4 to run glitch free with Volumio/BruteFIR.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,758
Likes
3,063
This is actually expected due to this: "Another port upgrade is in the support for Gigabit Ethernet via the ethernet port. This is a welcome change from the Raspberry Pi 3 Model B+, which only supported the standard via USB. "

Pop/click issues were coming due to traffic on Ethernet port wich shared the USB port. As it is no longer the case I see no reason for RPI 4 to run glitch free with Volumio/BruteFIR.
I would say hoped for rather than expected. AFAIK there's been a lot of speculation about the cause of the pops/clicks but no definitive proof. The implementation of USB via an OTG port was a viable explanation, but there are other viable explanations too. Please link sources if you know otherwise. I intend to test with the Forte plugged into the power socked in OTG mode, but need to sort a suitable power connection before I can do that.

Pop/click issues were NOT coming due to traffic on Ethernet port - if that were true then pinning the BruteFIR process to a single cpu core would have made no difference to pops and clicks streaming the same track instead of stopping them. High network traffic was a contributory factor, but not the root cause.
 
OP
Krunok

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,067
Location
Zg, Cro
I would say hoped for rather than expected. AFAIK there's been a lot of speculation about the cause of the pops/clicks but no definitive proof. The implementation of USB via an OTG port was a viable explanation, but there are other viable explanations too. Please link sources if you know otherwise. I intend to test with the Forte plugged into the power socked in OTG mode, but need to sort a suitable power connection before I can do that.

Pop/click issues were NOT coming due to traffic on Ethernet port - if that were true then pinning the BruteFIR process to a single cpu core would have made no difference to pops and clicks streaming the same track instead of stopping them. High network traffic was a contributory factor, but not the root cause.

Well, when I tried to play same files from USB stick connected to 3B+ instead from NAS server via Ethernet there were no pops/clicks.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,758
Likes
3,063
Well, when I tried to play same files from USB stick connected to 3B+ instead from NAS server via Ethernet there were no pops/clicks.
I never got pops/clicks without brutefir, or when using the UCA202. Or when pinning brutefir to one cpu core.

No pops via the Pi 4's OTG port either, streaming the same 24/352.8 samples from 2l.no to squeezelite over wifi, with brutefir at 96k S32LE, 64k filter length. 5V power from an old PC PSU connected to pin 4, 0V to pin 6. Forte is powered from external 5V. Connecting the USB cable via an OTG adapter from Google Pixel - have it connected when you power up the Pi or it'll reboot when you plug it in. You need to edit /boot/config.txt to enable host mode:
Code:
dtoverlay=dwc2,dr_mode=host

Now I need to see if I can still repeat it on the pi 3 with current raspbian...
 
OP
Krunok

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,067
Location
Zg, Cro
I never got pops/clicks without brutefir, or when using the UCA202. Or when pinning brutefir to one cpu core.

No pops via the Pi 4's OTG port either, streaming the same 24/352.8 samples from 2l.no to squeezelite over wifi, with brutefir at 96k S32LE, 64k filter length. 5V power from an old PC PSU connected to pin 4, 0V to pin 6. Forte is powered from external 5V. Connecting the USB cable via an OTG adapter from Google Pixel - have it connected when you power up the Pi or it'll reboot when you plug it in. You need to edit /boot/config.txt to enable host mode:
Code:
dtoverlay=dwc2,dr_mode=host

Now I need to see if I can still repeat it on the pi 3 with current raspbian...

IIRC I was getting pops without brutefir only when playing 192/24 from NAS over Ethernet.
 

Paul E

Member
Joined
Jan 29, 2019
Messages
13
Likes
20
I know I am opening up an old-ish thread here, but it is definitely the most relevant one I can find on these forums.

I can install BruteFIR into Volumio, but the "filter creation - experimental" function keeps failing when I try it, the error in the logs is "drc fails to create filter Error: Command failed: /usr/bin/drc --BCInFile=/tmp/tempofilter.pcm --PTType=N --PSPo"

My configuration is a RasPi 3B with an AlloDigiOne HAT, feeding SPDIF to a Khadas ToneBoard. I'm on Volumio 2.729, with latest BruteFIR3, version 1.5.8.

Also, with the DSP plugin disabled, in playback settings, I can have output device and DAC both set to AlloDigiOne, with I2S enabled. As soon as I enable the DSP plugin it switches I2S off in Playback settings, the DAC dropdown box disappears, and the output device is set to "AlloDigiOne through BruteFIR". Is this what is supposed to happen? Am I losing quality through this forced switch off of I2S?

Any input or guidance would be much appreciated.

Thanks

Paul
 

m_g_s_g

Active Member
Forum Donor
Joined
Feb 26, 2020
Messages
192
Likes
229
Location
Europe. Living in MD, USA.
Also, with the DSP plugin disabled, in playback settings, I can have output device and DAC both set to AlloDigiOne, with I2S enabled. As soon as I enable the DSP plugin it switches I2S off in Playback settings, the DAC dropdown box disappears, and the output device is set to "AlloDigiOne through BruteFIR". Is this what is supposed to happen? Am I losing quality through this forced switch off of I2S?

Let me say that I’m not an expert in volumio/brutefir3; I just started using it with a Rpi 4 some days ago. I’ve ordered a Hifiberry Digi+ Pro HAT for it, but I’m still awaiting delivery. In the meantime I’ve installed Volumio and I’m using it with Rpi’s internal DAC. I can confirm to you that the output device automatically changes (in my case) to “Audio Jack through BruteFIR” when I activate the plugin. It seems to be working for me like that, and it doesn’t sound as bad as I expected! (given the poor reviews of Rpi‘s internal audio)

In a previous test (don’t run an apt-get upgrade, it will ruin your installation!) I tried to configure the DAC to raspiaudio, but it doesn’t seem to be necessary. Why is a I2S configuration option needed at all? If the output device uses I2S (like my Hifiberry will), is the selection not implicit?
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,758
Likes
3,063
I haven't tried it since before the filter creation was added, but I think the core still works the same way.

What the plugin is doing behind the scenes is creating a virtual sound device to use as the input to brutefir, and connecting the output of brutefir to the sound device you had previously chosen (the Allo DigiOne via I2S). The player part plays into the virtual sound device (AlloDigiOne through BruteFIR) instead of directly into the DigiOne when brutefir is enabled. This is the change you're seeing in the playback settings.
 
Top Bottom