Go Back   Home > Forums > >
Home Forums Rules Articles diyAudio Store Blogs Gallery Wiki Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

PC Based Computer music servers, crossovers, and equalization

LADSPA plugin programming for Linux audio crossovers
LADSPA plugin programming for Linux audio crossovers
Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 18th May 2015, 02:47 PM   #11
phofman is offline phofman  Czech Republic
diyAudio Member
 
Join Date: Apr 2005
Location: Pilsen
Quote:
Originally Posted by CharlieLaub View Post
Huh?
That was aimed at Odal3 asking about intercepting all alsa streams :-)
  Reply With Quote
Old 19th May 2015, 12:00 AM   #12
CharlieLaub is offline CharlieLaub  United States
diyAudio Member
 
Join Date: Mar 2007
Location: California
Quote:
Originally Posted by Odal3 View Post
I have been following the R Taylor's apprach as well which lead me down to read a lot about Linux audio and some of the good technical info provided by phofman and others. I havent fully got it to work because I have been searching for a global solution regardless of software program used (not just the mpd piping) - in other words, how to intersect all streams going via alsa (stdin?) and apply the ladspa filters via ecasound or other solutions. Interested to follow your progress.
Have you looked into JACK? This seems to be that kind of tool. See:
JACK Audio Connection Kit|Home
__________________
Visit my Audio Web Page <<--CLICK TO LEARN MORE-->> Get my LADSPA plugins
  Reply With Quote
Old 19th May 2015, 12:10 AM   #13
CharlieLaub is offline CharlieLaub  United States
diyAudio Member
 
Join Date: Mar 2007
Location: California
I spent some time coding today and things are coming into focus. I have decided on a slightly different approach: instead of adding on to Richard Taylor's existing filters I am implementing my own complete set of first and second order filters using the math from my ACD tools. All the filters are implemented via a single plugin. An input parameter called "filter_type" indicates the desired filter and, combined with the other parameters of the filter that are supplied to the plugin, the code implements the IIR filter transfer function. This really makes coding much easier for me. Documentation will describe usage.
__________________
Visit my Audio Web Page <<--CLICK TO LEARN MORE-->> Get my LADSPA plugins
  Reply With Quote
Old 19th May 2015, 06:09 PM   #14
CharlieLaub is offline CharlieLaub  United States
diyAudio Member
 
Join Date: Mar 2007
Location: California
I have all the filter calculations coded up now and I am currently testing them against known values. So far so good! See attached example.
Attached Images
File Type: png LADSPA_filters_testing.PNG (10.4 KB, 457 views)
__________________
Visit my Audio Web Page <<--CLICK TO LEARN MORE-->> Get my LADSPA plugins
  Reply With Quote
Old 20th May 2015, 01:06 AM   #15
CharlieLaub is offline CharlieLaub  United States
diyAudio Member
 
Join Date: Mar 2007
Location: California
After about 6 hours of testing and debugging I now have working code that calculates the IIR transfer function coefficients for the following filters:
  • gain block
  • 1st order lowpass
  • 1st order highpass
  • 1st order all-pass
  • 1st low shelf
  • 1st high shelf
  • 2nd order low-pass
  • 2nd order high-pass
  • 2nd order all-pass
  • 2nd order notch, highpass notch, lowpass notch
  • biquadratic filter
  • parametric EQ, digital form
  • parametric EQ, analog form
  • 2nd order low shelf
  • 2nd order high shelf
The format for these is based on the filter table used in my Active Crossover Designer tools.

Next steps: integrate the calcs into the plugin framework.
__________________
Visit my Audio Web Page <<--CLICK TO LEARN MORE-->> Get my LADSPA plugins
  Reply With Quote
Old 20th May 2015, 07:00 AM   #16
arcgotic is offline arcgotic  Romania
diyAudio Member
 
Join Date: Nov 2004
Location: Timisoara
Charlie, you think that a Raspberry Pi 2 will have the processing power to run a 6 -or better 8 channel crossover using the plugin you're working on?
  Reply With Quote
Old 20th May 2015, 02:11 PM   #17
CharlieLaub is offline CharlieLaub  United States
diyAudio Member
 
Join Date: Mar 2007
Location: California
I am also interested in the answer to this question since the Pi is an affordable computing platform. There seems to be good evidence that the Pi 2 would work for 6 or 8 mono channels. It would probably depend on what else the PI is doing (e.g. resampling the audio? running the desktop GUI? serving as a stream player? etc.) and how many filters are needed for the crossover.
__________________
Visit my Audio Web Page <<--CLICK TO LEARN MORE-->> Get my LADSPA plugins
  Reply With Quote
Old 20th May 2015, 06:53 PM   #18
CharlieLaub is offline CharlieLaub  United States
diyAudio Member
 
Join Date: Mar 2007
Location: California
Just wanted to share some thoughts on the Raspberry Pi...

I have previously had only limited exposure to Linux systems, under both command line and desktop GUI interfaces. No prior experience with the R-Pi, but after some reading up on it I recently decided that this was the way for my to implement a software crossover, or at least an inexpensive platform that I can use to experiment with Linux audio tools like LADSPA.

Today I finally decided to fire up an R-Pi (the 2 version). I bought it with an 8GB NOOBS card for around $40. I plugged in the card, connected USB keyboard and mouse, HDMI monitor, wired ethernet, and a 5V power supply that I already had around. The Pi booted up to the command line in about 20 seconds, after which I could start the desktop. A browser came along wiht the OS, and I could immediately pull up websites. My next step was to install the excellent VLC player. I had to update the OS first, but that took all of 30 seconds. I proceeded to install VLC. Again it was painless. Currently I am listening to a 320k audio stream while I type this. The CPU usage is hovering at around 5-6%. So all of this would seem to be encouraging signs that audio processing will be possible using LADSPA.

By the way, I noticed that JACK is now bundled with the OS. When I chose HDMI as the output device I could set the number of output channels to 8 (actually more). With all the HDMI audio problems that have been reported, I will believe that I can output on more than 2 channels when I actually get it working. I have an audio extractor on order, so I may be able to test this out in the next couple of weeks.
__________________
Visit my Audio Web Page <<--CLICK TO LEARN MORE-->> Get my LADSPA plugins
  Reply With Quote
Old 24th May 2015, 06:33 PM   #19
Dr Jim is offline Dr Jim  United States
diyAudio Member
 
Join Date: Jun 2011
Quote:
Originally Posted by CharlieLaub View Post
Just wanted to share some thoughts on the Raspberry Pi...

I have previously had only limited exposure to Linux systems, under both command line and desktop GUI interfaces. No prior experience with the R-Pi, but after some reading up on it I recently decided that this was the way for my to implement a software crossover, or at least an inexpensive platform that I can use to experiment with Linux audio tools like LADSPA.

{snip!}

By the way, I noticed that JACK is now bundled with the OS. When I chose HDMI as the output device I could set the number of output channels to 8 (actually more). With all the HDMI audio problems that have been reported, I will believe that I can output on more than 2 channels when I actually get it working. I have an audio extractor on order, so I may be able to test this out in the next couple of weeks.
Charlie -

Watching your work with great interest - have used the Pi boards as S/PDIF music sources for some time now, with the HiFiBerry Digi and Digi+ adapters from Switzerland:

https://www.hifiberry.com/digiplus/

which have worked surprisingly well as headless music streamers feeding a MiniDSP NanoDIGI which provides the 2.1 crossover for our primary system

I was quite stoked to see the Pi quad-core boards released at an affordable price, grabbed one from Newark's first batch, and have had very good results from it ever since.

I've an argument with using HDMI output that isn't functional (HDMI on the Pi does appear to be less glitchy than either its USB or PWM/analog outputs), but is more a conceptual irritation - it just bites me to spend a fair amount of time & effort to massage a digital data stream to have exactly the shape and content that suits me, only to feed it to a consumer-grade DAC in a HDMI=> Analog Box of Unknown Origin.

Yeah, this <could> work well, but there's just not the same richness of back-end choices as there are with more conventional DACs.

Heck, the blessed Pi is such an inherently cheap platform, that I wonder if a distributed system using a Pi/DAC combination at each speaker fed from 100Mb ethernet might not be both cost effective and very listenable.

Obviously, synchronization between the 2 ...N channels will be a non-trivial issue, but it looks like there are aleady several approaches to managing this problem:

A rather brute-force low-level approach with the clock signalling inserted into the ethernet packet headers:
Synchronous Ethernet - Wikipedia, the free encyclopedia

And a bunch of protocols developed for the Pro Sound world here:
Audio over Ethernet - Wikipedia, the free encyclopedia

But [SIGH!] it looks like the bandwidth of AOE (Audio Over Ethernet) is shockingly high because of the topologies requirements for maximum redundancy and 'hardening' for use in commercial venues.

Still, it would be interesting to have multiple Raspberry Pi's sharing a common audio network (perhaps running the AES/EBU protocol layer on a cheap S/PDIF hardware layer?) - there's something very appealing in the idea of $100 computer+DAC+crossover device sitting behind powered speakers for all the channels of a home theater.

"But I digress" ... (I Leonardo - Ralph Steadman )

Cheers

Jim
  Reply With Quote
Old 25th May 2015, 04:55 AM   #20
Odal3 is offline Odal3  United States
diyAudio Member
 
Join Date: Aug 2014
Sorry for the late thank you! Will need to read-up and test that out

@CharlieLaub - No, I read about JACK but haven't tried it yet - I thought going straigh to ALSA was the preferred for audio unless low latency was important, but I might have misunderstood??? Will put it on the to-do list to check out.
  Reply With Quote

Reply


LADSPA plugin programming for Linux audio crossoversHide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Loaded .xml file for different miniDSP plugin and now the plugin doesn't work anymore keyser miniDSP 5 15th December 2011 01:38 AM
8 channel Linux audio with active crossovers oublie PC Based 7 21st February 2011 09:29 AM


New To Site? Need Help?

All times are GMT. The time now is 03:02 PM.


Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 14.29%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Copyright ©1999-2018 diyAudio
Wiki