Tiny Core Linux
Tiny Core Base => Raspberry Pi => Topic started by: Mucke on September 28, 2014, 04:54:57 AM
-
I would be happy to get a brutefir.tcz extension.
Typically it is no problem to compile it, at least by a development system.
For Brutefir see http://www.ludd.luth.se/~torger/brutefir.html (http://www.ludd.luth.se/~torger/brutefir.html) and http://www.ludd.luth.se/~torger/files/brutefir-1.0m.tar.gz (http://www.ludd.luth.se/~torger/files/brutefir-1.0m.tar.gz)
For compilation it needs some packages like fftw and flex, the compiler will simply tell what is missed.
I have not been successful though with compile-essentials as I do not know how to get some header files for alsa. There is no alsa-dev.tcz
-
I have not been successful though with compile-essentials as I do not know how to get some header files for alsa. There is no alsa-dev.tcz
Will check it.
If you compile against ALSA, install libasound-dev.tcz
-
Thanks.
libasound-dev.tcz has solved my problem.
-
The compilation and installation is ok now.
But running the program leads to an error message
Failed to open module "file" in ..."file.bfio": undefined symbol: __aeabi_idivmod
So it seems there is some problem with modulo division (gcc/ARM/...)
Anyway this is beyond my understanding right now.
With Raspbian I have not got such an error.
-
How did you ran it with wich cmd line arguments?
-
It can be run with a config file as parameter, e.g.
brutefir test.cfg
A simple config file test.cfg is
## General ##
float_bits: 32;
sampling_rate: 44100;
filter_length: 8192,4;
show_progress: true;
monitor_rate: false;
powersave: false;
lock_memory: false;
allow_poll_mode: false;
logic: "cli" { port: 3000; };
## INPUTS / OUTPUTS ##
input "leftin", "rightin" {
device: "file" { path: "/home/tc/Test.wav"; skip: 44; };
sample: "S16_LE";
channels: 2/0,1;
};
output "leftout", "rightout" {
device: "alsa" { device: "hw:0"; };
sample: "S16_LE";
channels: 2/0,1;
delay: 0 , 0;
};
## Filter
filter "L" {
from_inputs: "leftin";
to_outputs: "leftout";
coeff: -1;
};
filter "R" {
from_inputs: "rightin";
to_outputs: "rightout";
coeff: -1;
};
It opens a 44.1 kHz wav, skips the first 44 bytes (header data, no meta data allowed) and then plays it. So obviously it is just a 1:1 play but anyway it must run.