CamillaDSP - Cross-platform IIR and FIR engine for crossovers, room correction etc.

Just trying to do stress test on mac mini m1 8gb..still only using 9% cpu
Screen Shot 2022-06-15 at 11.01.51 PM.png
 

TNT

Member
Joined 2003
Paid Member
"Tap – A FIR “tap” is simply a coefficient/delay pair. The number of FIR taps, (often designated as “N”) is an indication of 1) the amount of memory required to implement the filter, 2) the number of calculations required, and 3) the amount of “filtering” the filter can do; in effect, more taps means more stopband attenuation, less ripple, narrower filters, etc."

From: https://dspguru.com/dsp/faqs/fir/basics/
 
  • Like
Reactions: 1 user
root@raspberrypi:~/camilladsp/pycamilladsp# pip3 install .
Traceback (most recent call last):
File "/usr/bin/pip3", line 33, in <module>
sys.exit(load_entry_point('pip==20.3.4', 'console_scripts', 'pip3')())
File "/usr/bin/pip3", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib/python3.9/importlib/metadata.py", line 77, in load
module = import_module(match.group('module'))
File "/usr/lib/python3.9/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/usr/lib/python3/dist-packages/pip/_internal/cli/main.py", line 10, in <module>
from pip._internal.cli.autocompletion import autocomplete
File "/usr/lib/python3/dist-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
from pip._internal.cli.main_parser import create_main_parser
File "/usr/lib/python3/dist-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
from pip._internal.cli import cmdoptions
File "/usr/lib/python3/dist-packages/pip/_internal/cli/cmdoptions.py", line 23, in <module>
from pip._vendor.packaging.utils import canonicalize_name
File "/usr/lib/python3/dist-packages/pip/vendor/__init_.py", line 82, in <module>
vendored("pkg_resources")
File "/usr/lib/python3/dist-packages/pip/vendor/__init_.py", line 36, in vendored
import(modulename, globals(), locals(), level=0)
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
File "<frozen importlib._bootstrap>", line 627, in _load_backward_compatible
File "<frozen zipimport>", line 259, in load_module
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", line 3252, in <module>
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", line 3235, in _call_aside
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", line 3277, in _initialize_master_working_set
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", line 3278, in <genexpr>
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", line 2783, in activate
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", line 2767, in _get_metadata
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", line 1432, in get_metadata_lines
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", line 1424, in get_metadata
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8a in position 6: invalid start byte in namespace_packages.txt file at path: /usr/local/lib/python3.9/dist-packages/googleapis_common_protos-1.56.0.dist-info/namespace_packages.txt
root@raspberrypi:~/camilladsp/pycamilladsp#
Upssss... Could someone tell me what problem I have so that it does not let me install. Thanks!
 
A FIR can be one tap so the picture really don't say much - but, you will have a hard time exhausting a M1 for sure ;-)

//
indeed. on the ebay lookout for an M1 mac mini to use as set and forget headless USB gadget. they really are pretty brutally fast low power processors. playing with compute module 4 as well, but they are not nearly as available as mac minis :(
 
Can you go fanless with 95W TDP?
Just, with the Streacom passive cases.

I run 30ch for an active loudspeaker with FIR 256k taps. I have split some DSP (DRC, “tone controls”) into the initial 2ch and only apply aggregated FIR (XO, driver linearisation, timing, and cardioid transforms) into a individual driver FIRs, with Volume and Gain and Compressor at the 30x driver levels.

If I do all the 2ch transforms at the tail 30x ch, I find I can max out an Apple Mac Mini M1 with errors indicating the input and output buffers can’t be processed in time.

So a powerful single thread PC build would be good.

Aris
 
Last edited:
Just with the Streacom passive cases.

I run 30ch for an active loudspeaker with FIR 256k taps. I have split some DSP (DRC, “tone controls”) into the initial 2ch and only apply aggregated FIR (XO, driver linearisation, timing, and cardioid transforms) into a individual driver FIRs, with Volume and Gain and Compressor at the 30x driver levels.

If I do all the 2ch transforms at the tail 30x ch, I find I can max out an Apple Mac Mini M1 with errors indicating the input and output buffers can’t be processed in time.

So a powerful single thread PC build would be good.

Aris
I don’t know of a decent 32ch USB interface supported by Linux, so I’m going to use a MADI PCIe card with Linux support and do the processing on the PC I build, then send the 32 ch out through MADI to the 32ch MADI DAC.

I had hoped to do this with AVB on Linux but support seems to be not quite there for AVB/TSN on Linux for 32ch configs (and I don’t want to futz around with 4x8ch configs which seem to be the limit on most Linux AVB drivers I’ve seen).