Volumio with MPD 19.11 Pipe Out and Brutefir

Tell us how you made up your Volumio powered Project

Ads helps Volumio remain Free and Open Source. Please consider donating to help us continue to serve you.

Volumio with MPD 19.11 Pipe Out and Brutefir

Postby cmsgarb » Tue Nov 17 2015 19:46

Dear all,

my name is Christian from Germany and since half a year I am using Raspberry Pi 2 & Hifiberry Dac+ with Volumio 1.55 as primary music player. I am happy so far but recently I bought new speakers which are now capable to go below 30 Hz and became aware of the severe room resonancies in my living room. Thus I decided to realize a room correction on the raspberry. To do so, I compiled & installed the latest MPD 0.19.11 with pipe out option, I compiled & installed fftw-3-3-4 and finally brutfir 1.0m. Everything was compiled with GCC 4.9. In my mpd.conf I put

audio_output {
type "pipe"
name "brutefir pipe"
command "/usr/local/bin/brutefir -nodefault /home/brutefir/.brutefir_config"
format "44100:32:2"
}


as output.

My brutefir_config has the following input section

## INPUT DEFAULTS ##

input "leftin","rightin" {
device: "file" { path: "/dev/stdin"; }; # module and parameters to get audio
# device: "file" {};# path: "/dev/stdin"; }; # module and parameters to get audio
sample: "S32_LE"; # sample format
channels: 2/0,1; # number of open channels / which to use
delay: 0,0; # delay in samples for each channel
maxdelay: -1; # max delay for variable delays
subdelay: 0,0; # subsample delay in 1/100th sample for each channel
mute: false,false; # mute active on startup for each channel
};



Unfortunately I cannot manage to get the pipe output work. In my MPD log, I get the following output:


Nov 15 17:38 : client: [11] closed
Nov 15 17:38 : client: [13] opened from 127.0.0.1:57673
Nov 15 17:38 : client: [14] opened from 127.0.0.1:57675

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

Nov 15 17:38 : client: [13] closed
Internal resolution is 64 bit floating point.
Creating 4 FFTW plans of size 8192...finished.
Loading 2 coefficient sets...finished.
Failed to open module "file" in "/usr/local/lib/brutefir/file.bfio": /usr/local/lib/brutefir/file.bfio: undefined symbol: __aeabi_idivmod.
Nov 15 17:38 : errno: "brutefir pipe" [pipe] failed to play: Write error on pipe: Broken pipe
Nov 15 17:38 : output: Failed to open audio output
Nov 15 17:38 : client: [14] closed
Nov 15 17:38 : client: [15] opened from 127.0.0.1:57681
Nov 15 17:38 : client: [16] opened from 127.0.0.1:57682
Nov 15 17:38 : client: [16] closed
Nov 15 17:38 : client: [17] opened from 127.0.0.1:57688
Nov 15 17:38 : player: played "http://188.94.97.91/radio21.mp3"
Nov 15 17:38 : client: [17] closed



I was not able to find what this undefined symbol “__aeabi_idivmod.” could be. Does anyone have a hint what might be my issue?

Best regards

Christian
Random avatar
cmsgarb
Sunday DIYer
Sunday DIYer
 
Posts: 25
Joined: Wed Apr 22 2015 19:05

Ads helps Volumio remain Free and Open Source. Please consider donating to help us continue to serve you.


Volumio with MPD 19.11 Pipe Out and Brutefir

Postby Klaus » Tue Nov 17 2015 21:19

Hi Christian,

afaik HifiBerry DAC+ max. samplerate is 24 bit.

Regards

Klaus
User avatar
Klaus
Sunday DIYer
Sunday DIYer
 
Posts: 43
Joined: Tue Jan 21 2014 10:38


Re: Volumio with MPD 19.11 Pipe Out and Brutefir

Postby cmsgarb » Tue Nov 17 2015 21:44

Hi Klaus,
yes thats right. I will try tomorrow.....although I think that the Issue is somewhere in the pipe buffer as I assume that I also tried s16LE. I'll give feedback....

Regards

Christian


Gesendet von iPad mit Tapatalk
Random avatar
cmsgarb
Sunday DIYer
Sunday DIYer
 
Posts: 25
Joined: Wed Apr 22 2015 19:05


Volumio with MPD 19.11 Pipe Out and Brutefir

Postby cmsgarb » Wed Nov 18 2015 06:52

Hi Klaus,

I tried with 16 bit and also checked file as output device. The situation with

Failed to open module "file" in "/usr/local/lib/brutefir/file.bfio": /usr/local/lib/brutefir/file.bfio: undefined symbol: __aeabi_idivmod.
Nov 18 06:50 : errno: "brutefir pipe" [pipe] failed to play: Write error on pipe: Broken pipe


stays unchanged.

Regards

Christian
Random avatar
cmsgarb
Sunday DIYer
Sunday DIYer
 
Posts: 25
Joined: Wed Apr 22 2015 19:05


Volumio with MPD 19.11 Pipe Out and Brutefir

Postby Klaus » Wed Nov 18 2015 19:10

Hi Christian,

could you try this?

for /etc/mpd.conf

Code: Select all
audio_output {
type "pipe"
name "brutefir pipe"
command "/usr/local/bin/brutefir -nodefault /home/.brutefir.conf"
format "44100:16:2"
}


and for ~/.brutefir.config

Code: Select all
sampling_rate: 44100;
filter_length: 32768,16;
overflow_warnings: true;
float_bits: 64;

input "left", "right" {
        device: "file" {path: "/dev/stdin";};
        sample: "FLOAT64_LE";   # sample format
        channels: 2;            # number of open channels / which to use
        delay: 0,0;             # delay in samples for each channel
        maxdelay: -1;           # max delay for variable delays
        mute: false,false;      # mute active on startup for each channel
};

output "left", "right" {
        device: "file" {path: "/dev/stdout";};
        sample: "S16_LE";   # sample format
        channels: 2;        # number of open channels / which to use
        delay: 0,0;         # delay in samples for each channel
        maxdelay: 100;      # max delay for variable delays
        mute: false,false;  # mute active on startup for each channel
        dither: false;      # no dither for 32 bit output
};

# factor 0.4 to avoid clipping
filter "M direct" {
        from_inputs: "left"//0.4, "right"//0.4;
        to_filters: "left direct", "right direct";
        coeff: -1;
        crossfade: false;
};

# here 0.8 instead of 0.4 because the filter "in average" multiplies with 0.5
# (one could make 0.8 a bit larger/smaller to obtain a wider/narrower
# stereo image, but better use RACE for this)
filter "S filter" {
        from_inputs: "left"//0.8, "right"//-0.8;
        to_filters: "left direct", "right direct";
        #coeff: "S channel";
        coeff: -1;
        crossfade: false;
};

filter "left direct" {
        from_filters: "M direct"//1.0, "S filter"//1.0;
        to_outputs: "left"/0.0;
        #coeff: "left_default";
        coeff: -1;
        crossfade: false;
};

filter "right direct" {
        from_filters: "M direct"//1.0, "S filter"//-1.0;
        to_outputs: "right"/0.0;
        #coeff: "right_default";
        coeff: -1;
        crossfade: false;
};

User avatar
Klaus
Sunday DIYer
Sunday DIYer
 
Posts: 43
Joined: Tue Jan 21 2014 10:38


Volumio with MPD 19.11 Pipe Out and Brutefir

Postby cmsgarb » Wed Nov 18 2015 20:59

Hi Klaus,

it delivers another error message

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

Parse error on line 75 in file "/home/brutefir/.brutefir_config":
At least one mandatory field is missing in /home/brutefir/.brutefir_config.


I will check tomorrow what is missing in the config file....

Thanks so far!

Christian
Random avatar
cmsgarb
Sunday DIYer
Sunday DIYer
 
Posts: 25
Joined: Wed Apr 22 2015 19:05


Volumio with MPD 19.11 Pipe Out and Brutefir

Postby Klaus » Thu Nov 19 2015 14:28

cmsgarb wrote:Parse error on line 75 in file "/home/brutefir/.brutefir_config":


Strange. The script contains only 60 lines...

Regards

Klaus
User avatar
Klaus
Sunday DIYer
Sunday DIYer
 
Posts: 43
Joined: Tue Jan 21 2014 10:38


Re: Volumio with MPD 19.11 Pipe Out and Brutefir

Postby cmsgarb » Thu Nov 19 2015 15:05

correct, there were some lines of notes in front thus 75 is the final line where the parser is complaining.

Best regards

Christian
Random avatar
cmsgarb
Sunday DIYer
Sunday DIYer
 
Posts: 25
Joined: Wed Apr 22 2015 19:05


Volumio with MPD 19.11 Pipe Out and Brutefir

Postby Da Alchemist » Wed Dec 09 2015 13:03

1. Check your MPD version
Code: Select all
mpd -V
there must be "pipe" in the Output section
otherwise you are using the wrong Version and you will have to edit the corresponding init.d file
Code: Select all
sudo nano /etc/init.d/mpd
to
Code: Select all
DAEMON=/usr/local/bin/mpd
. Check again after
Code: Select all
sudo service mpd restart


2. Get Volumio running with the new Version of mpd. Post the output of
Code: Select all
aplay -l
, so we can get the right enumeration of your soundcard.

Next step will be testing the pipe

Regards
Random avatar
Da Alchemist
Sunday DIYer
Sunday DIYer
 
Posts: 20
Joined: Tue Sep 09 2014 19:41


Volumio with MPD 19.11 Pipe Out and Brutefir

Postby cmsgarb » Wed Dec 09 2015 16:23

Hi,

thanks for picking this up again! I was not able to solve by myself and just checked once again:

Code: Select all
mpd -V


delivers

Music Player Daemon 0.19.11
...
Output plugins:
shout null fifo pipe alsa ao oss jack httpd recorder
...


so I think I compiled correctly.

I edited the daemon path to
DAEMON=/usr/local/bin/mpd
and restarted.

Code: Select all
 aplay -l


delivers

**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0


thus I assume that the brutefir_config output section like

Code: Select all
output "leftout", "rightout" {
        #device: "equal" {};
   device: "alsa" { device: "hw:0,0"; };
        sample: "S16_LE";   # sample format
        channels: 2;        # number of open channels / which to use
        delay: 0,0;         # delay in samples for each channel
        maxdelay: 100;      # max delay for variable delays
        mute: false,false;  # mute active on startup for each channel
        dither: false;      # no dither for 32 bit output
};


should work. Nontheless MPD log states

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

Dec 09 16:11 : client: [13] opened from 127.0.0.1:54458
Dec 09 16:11 : client: [14] opened from 127.0.0.1:54457
Internal resolution is 64 bit floating point.
Dec 09 16:11 : client: [14] closed
Creating 4 FFTW plans of size 65536...finished.
Failed to open module "file" in "/usr/local/lib/brutefir/file.bfio": /usr/local/lib/brutefir/file.bfio: undefined symbol: __aeabi_idivmod.
Dec 09 16:11 : errno: "brutefir pipe" [pipe] failed to play: Write error on pipe: Broken pipe
Dec 09 16:11 : output: Failed to open audio output
Dec 09 16:11 : client: [13] closed
Dec 09 16:11 : client: [15] opened from 127.0.0.1:54465
Dec 09 16:11 : client: [16] opened from 127.0.0.1:54466
Dec 09 16:11 : client: [16] closed
Dec 09 16:11 : client: [17] opened from 127.0.0.1:54471
Dec 09 16:11 : player: played "http://188.94.97.91/radio21.mp3"


Do you have a hint how to check the pipe?

Best Regards

Christian
Random avatar
cmsgarb
Sunday DIYer
Sunday DIYer
 
Posts: 25
Joined: Wed Apr 22 2015 19:05

Next

Return to Diy Volumio Projects

Who is online

Users browsing this forum: No registered users and 0 guests