![]() ![]() It would also be ok to add a simple delay to a channel to make up for a shorter FIR latency. If there are different FIR filters for different channels, they need to be matched so they have the same latency. For longer filters a larger chunk size is needed. In this case the fir filter can be up to 1024 taps but no more. This means that there will always be a delay of 1024 samples, plus a little bit more for the time the processing takes. This then applies all filtering, mixing etc before passing it on to the playback device. The capture device captures let's say 1024 frames, and then passes this chunk to the processing thread. The processing is done on chunks of audio data. The convolution is done with the overlap-add method and it's using RustFFT for fft/ifft: GitHub - awelkie/RustFFT: A mixed-radix FFT library written in pure Rust In addition there is a Python script to visualize the whole pipeline from a config file. ![]() To help with configuration CamillaDSP checks the configuration and tries to give helpful error messages when there is a problem. I run a 2048 tap stereo 2-way crossover at 44.1kHz, and this consumes less than 2% of a single cpu core on my HTPC (dual core Intel Skylake). ![]() When using Alsa for both input and output, CamillaDSP can work almost as a drop-in replacement for BruteFIR. I have also been using the excellent tool EqualizerAPO that does all I want, but it's for Windows only. I also thought that the BruteFIR configuration is unnessecarily complicated. Secondly when BruteFIR encounters a buffer underrun it always exits with a "broken pipe" error instead of just trying again. Firstly BruteFIR only supports FIR filters, and I wanted the ability to also use BiQuad without having to make an overly complicated setup. I have been using BruteFIR for crossovers for quite some time, but there were two main things I wanted to improve upon. All calculations done with 64-bit floats.Alsa, PulseAudio, Wasapi, CoreAudio, File and stdio input/output.There is a second repository for configuration help here: GitHub - HEnquist/camilladsp-config: Help for setting up CamillaDSP, example config files etc The documentation for all published versions can be found here: CamillaDSP You can find the source code here: GitHub - HEnquist/camilladsp It can be used for example for building crossovers for active speakers, or for performing room correction. I would like to announce CamillaDSP, a general purpose tool for routing and filtering sound. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |