HTPC DSP versus dedicated DSP platforms for loudspeakers

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi,

I wanted to start this thread to capture thoughts and discussions from experts in this field and those who have experience in developing and using these setups.

Some of us primarily enjoy digital music sources
1. High resolutions audio tracks
2. CD music
3. mp3/online streaming

This fed to a full active DSP XO/DRC, followed by multi-channel amplification to drive multi-way stereo loudspeakers can be a common setup. It is something I am currently working on putting together.

I find there are two options for DSP.
#1. Dedicated DSP platforms such as
a. MiniDSP
b. Hypex DLCP
c. WAF Najda
d. http://www.diyaudio.com/forums/digi...-integrated-preamp-crossover-dac-project.html
e. FreeDSP

#2. A high performance HTPC running software DSP, followed by USB audio interface or dedicated multichannel soundcard

One such example of an HTPC is Assassin Audiophile HTPC. This one looks overpriced and a comparable HTPC can be put together for a lot cheaper.
But some salient points to note are
1. 3.4 GHz i7 4770k Intel Haswell Processor (4 core, 8 threads, TDP around 45W)
2. 8-16GB RAM
3. SSD storage + HDD for music storage
4. Fanless passive cooling
5. CD/Blueray drive
6. USB/Firewire ports
7. network connectivity
8. Windows platform (Linux, mac a possibility, though my personal preference is Windows)

The HTPC primarily acts as digital music server, software DSP XO + other filters, SW music player (JRiver, foobar etc).
The HTPC can interface to a DAC through USB or firewire port. Multiple options here:
1. U-DAC8 | miniDSP
2. Pro Audio Interfaces such a Motu: MOTU.com - Overview, MOTU.com - Tech Specs
3. Something put together using Amanero OR XMOS + Buffalo DAC

One thing that’s not clear is the use for all the additional features provided by a pro interface in this application. An alternative is to use a dedicated MC soundcard in the HTPC for DAC duty,
http://www.lynxstudio.com/product_detail.asp?i=16 (expensive)

Another intriguing product with loads of DSP power appears to be http://www.uaudio.com/uad-plug-ins/uad-2-satellite.html , with no clear way to apply for loudspeaker management.



1. Can the i7 outperform dedicated DSP chips for FIR/IIR filters for this application. Note there is overhead for the OS, music player etc.
2. Please comment on relative pros/cons of HTPC vs dedicated DSP
3. Please list useful software for filter design, DSP, music player etc for the HTPC setup
4. Compare pro audio interface against high quality MC soundcard for the HTPC
5. What are other good options for MC sound cards
6. Quality of clocks, digital and analog implementation matter so the products will differ on this and hence the price point
 
Last edited:
Hi. I'm going down this road, but it seems to be less travelled than I thought it would. I used to have a Rotel RCD1082 CD player, but eventually sold it after I realized I was only listening to my audio laptop since the sound quality was better and more convenient. Eventually built a purpose-designed audio PC and sound quality improved a lot more. I have now added Acourate software for digital room correction and I'm making my way towards a fully active 4-way system where Acourate is also used for digital crossovers, driver linearization and time-alignment.

My audio computer was built in Feb-14. It's meant to play audio only - no video. Mobo is Intel S1200KPR, which is a server mobo. I would turn off wi-fi, bluetooth, etc anyway, so might as well not spend on those. Wi-fi is supplied through LAN and a wi-fi bridge, BTW. Processor is Intel Xeon E3 1265lv2, 8GB RAM, 64GB SSD for OS/JRiver/Acourate, SSD for music files, Paul Pang Audio USB v2 card, Streacom FC8 fanless case. Pretty much in line with your list, although I wanted to avoid any type of motor inside the PC (for their EMI/RFI) so opted not to have an internal drive. I have a linear power supply too.

Operating system is Windows Server 2012 R2 running in core mode. Core mode makes a big difference. Also running AudioPhil's Audio Optimizer, which makes a huge difference. Player is JRiver. It's a headless server (no screen), and I control JRiver through JRemote either from an iPad or my Android phone. Works wonders. And I'm also running Acourate for DRC (for the time being) and I'm very happy.

For reference, my system is Audiophilleo USB-to-SPDIF converter with PurePower, into a Metrum Octave DAC, into a Lamm LL2 preamp, into a pair of DIY Rythmik subs (to their internal crossovers) and the output (above 80Hz) is fed into a McIntosh MC275 amp, then feeding a pair of B&W 804S.

So much for what I already do. Here's what I plan on doing: I bought a Lynx Hilo multichannel DAC and I'm building a pair of Hypex UcD400HG monoblocks. The plan is to use Acourate to create digital crossovers and feed 6 channels to the Hilo, and have the Hilo directly drive the subwoofers, the UcD amps (driving the 804S woofers, and the MC275 driving the 804S midrange/tweeter. I plan to use Acourate to linearize the drivers, time-align them, and of course for DRC.

This will be a huge leap for me. It took a lot of researching to even allow the idea of a DAC driving amps directly would overperform my beloved Lamm pre. I guess I will be able to answer this when I try it.

Many multichannel cards available. Lynx Aurora has like 16 channels, although they are lower sound quality than the Hilo. Prism Sound Titan was my top choice, but decided to go with Hilo now.

Check these for two very good primers on Acourate potential:
Computer Audiophile - Acourate Digital Room and Loudspeaker Correction Software Walkthrough
Computer Audiophile - Advanced Acourate Digital XO Time Alignment Driver Linearization Walkthrough

I hope this helps!

cheers
 
#2. A high performance HTPC running software DSP, followed by USB audio interface or dedicated multichannel soundcard

I'm currently going down this road. I have written and tested (but not yet released) some LADSPA plugins that can be very easily used under linux to process audio in real time into N filtered channels, e.g. to implement an N-way crossover. My plugins implement filters using an IIR digital scheme, which keeps the CPU demand to a minimum. If you want to consider that route, you likely do not need to throw so much money at the computer hardware.

For example, in order to build and test my plugins I recently put together a bare-bones system (motherboard, RAM, HD) for about $175 in parts. The motherboard has onboard 7.1 channel audio, can be powered by a DC supply (laptop brick type) providing as little as 24Watts (I verified this), and has passive CPU cooling for four cores. This makes the system very quiet (it would be totally silent if I used an SSD, but its nearly so already). I tested the audio I/O, supplying audio via the line input and taking audio back out via the "front speaker" outputs on the rear panel to my test gear. Frequency response, S/N and distortion are about as good as an early model CD player, but not mind blowing. Keep in mind that these measurements were made by going from the digital domain in my test gear computer to analog, then back to digital at the mobo line input, then through the filter, then back to analog, and finally back to digital at the input of my test gear. For $175 I was not expecting something that was top of the line, but it's certainly more than adequate for loudspeaker crossover work. Even with all the A-D and DA conversions the measured performance compares favorably to some hardware-based DSP crossovers, but comes with the versatility of a full-blown computer with an OS. See attached images for my measurements - NOTE, these were made using a 96kHz sampling rate while processing the signal internally using a single IIR filter that only modified the amplitude by -1dB.

If you are looking for better audio specs you might check out some of the 7.1ch cards that are available. Some of these are not expensive (e.g. <$100) yet have very impressive performance (on paper at least).
 

Attachments

  • Baytrail-1 FR measurement.PNG
    Baytrail-1 FR measurement.PNG
    33.9 KB · Views: 556
  • Baytrail-1 quick distortion measurement.PNG
    Baytrail-1 quick distortion measurement.PNG
    44.6 KB · Views: 558
  • Baytrail-1 STEPS distortion measurement.PNG
    Baytrail-1 STEPS distortion measurement.PNG
    46.3 KB · Views: 567
Last edited:
Moderator
Joined 2002
Paid Member
In use a DSP for XO and loudspeaker management. An old e-MU card, but it has onboard hardware DSP so it's a little further away from what you're looking for. It has limitations, resampling all signals to match the internal DSP clock, and some limitations on filter slope shapes/types.

However since I'm only using it for a sub/sat XO, it works out quite well. I also do iron out some of the quiirks of the in-room response, and that would be a custom application. In my experience of tdedicated DSP ala Behringer DCX/dBx, those platforms are a lot more flexible but there are limitatioins on DSP power. That is inevitable no matter what solution you pick.

I'm not personally inclined to use CPU for DSP, at least not one that also has to serve the main audio playback stream and definitely not if it's running Windows, which is not very CPU-efficient. Probably just a hangover from the 90s. But I prefer using cheaper CPUs and a hardware solution when its needed. The current technology cycle means that you have to reconfigure too much and buy too much new stuff if one part in your system goes south.

That said, most modern i5 or better CPUs should be able to tackle a two-way crossover with ease. Once it starts getting more complex than that, well, I'm not so sure.
 
I am not quite sure if 4 modern 64-bit cores running over 3GHz and with lots of internal and external memory bandwidth are unable to process DSP algorithms at par with DSP processors at significantly lower frequencies albeit with DSP accelerators.

DSP processors are still instruction fetch/execute CPUs but with optimized architecture for DSP workloads and with some HW assist accelerators.

I do agree that a massive OS load and a complex music player would likely bog the CPU down.

Anyone with direct experience with objective and quantitative comparison of DSP performance should kindly comment.
 
How about the HTPC performing some room correction, phase/amplitude EQ using filters generated by rephase, charlie's application above, Acourate etc, while a dedicated DSP board like Najda performs IIR loudspeaker XO.

Is such a loop for partitioning the DSP workload practical?
 
Moderator
Joined 2002
Paid Member
It is possible to partition DSP tasks between two - or more - different boxes. Large studio environments usually do this already for production.

Every DSP task has a CPU cost whether it is in a computer or inside a DSP unit (see this: UAD Instance Chart), the more complex and accurate the effect, the higher the CPU cost. Whether your CPU is up to it depends on the CPU and taskl you assign it and without knowing both of those exactly, you cannot determine if it will be enough or not.

Speed of the CPU is not everything, neither is the bus width. A modern, general-purpose PC is processing thousands of instructions every second that have nothing to do with your audio stream, and it is near-impossible for the end-user to prioritize threads or get them to run in real-time.

The closest thing to learn from is actually music production, which uses a mix of real-time plugins, effect boxes, outboard DSP and mixed-down tracks with software filters applied (because some filters are simply too CPU-intensive for real-time playback). There's something to learn from that side of the game.
 
[...snip...] the more complex and accurate the effect, the higher the CPU cost. Whether your CPU is up to it depends on the CPU and taskl you assign it and without knowing both of those exactly, you cannot determine if it will be enough or not.

Speed of the CPU is not everything, neither is the bus width. A modern, general-purpose PC is processing thousands of instructions every second that have nothing to do with your audio stream, and it is near-impossible for the end-user to prioritize threads or get them to run in real-time...[snip]

I agree with your first paragraph. Neither a computer's CPU, nor a hardware DSP processor, has infinite processing throughput.

I have to disagree with the end of your second paragraph. It's surprising you wrote this because of what you wrote in the first paragraph. My problem is mainly with the statement "it is near-impossible for the end-user to prioritize threads or get them to run in real-time". I think people reading that may assume that you mean that a computer can't play back continuous un-interrupted audio because of some problems handling threads other than audio. This would be absolutely incorrect. Perhaps by "in real time" you mean that you can not process and output audio streams with zero latency. While it's true that there can be a very small but measurable delay on a computer due to buffering (e.g. tens of milliseconds) there is also non-zero latency in hardware based DSP units, although it is usually on the order of a few milliseconds. See: MiniDSP :: Topic: Re: Latency (1/1)

Like you pointed out in your first paragraph, the amount of processing you want to do to the audio stream, how intensive that processing is, and the sample rate you want to use will all play into determining the CPU load that is required.

From my own experiences, and from what I have read about other people's work, you don't necessarily need much CPU horsepower to do a simple 2- or 3- way crossover using IIR filters. Even a Raspberry Pi can do a 2-way crossover like this with ease. If you start using a lot of FIR filters, lookahead limiters, etc. then you are moving into the realm of more CPU-intensive processing and your expectations should be adjusted accordingly.
 
#2. A high performance HTPC running software DSP, followed by ..... dedicated multichannel soundcard.

Hi,

I have been on this road for the last 4 years. You are right - "DSP on a PC" can really do amazing things.

There is a large amount of comprehensive and very relevant information on my website:
Bodzio Software. Several systems are described as well, and I have built and tested all of them. BTW, I am not trying to sell you my software here.

You will not be disappointed by visiting the website. Let me know if you have any questions at all.

Best Regards,
Bohdan
 
Last edited by a moderator:
Hello

maybe you interested in a free GPL software solution for a 4 way - crossover.

You can see my setup here:
diyAudio server HTTPS page

HIFI-FORUM » Do it yourself » Lautsprecher » Aktive Frequenzweiche per Standard Software mit GUI

Sorry it is in German

You have
4 x 2 crossover
many parametic equalizer
limiter
....
much more

HDMI 8 Channel output
8 Channel analog output

For activating for example 2, 3 or 4 way loudspeaker

Regards
Loafmeat
 
Audio Latency issues

Hello everyone,

I am on this path myself, and find there is a lot of unexplored territory here. I am no end all be all expert at all, just someone learning along the way, like the rest of You. It blows my mind more people have not tapped into the potential of DSP audio, but like everything else in audio, it has to be done right.

I would be curious to know if there is anything to gain going with a dedicated DSP chip for audio.

I currently use my PC via JRiver for DSP audio processing. The main reason I do all thru the CPU is because I use my audio system for music, movies, and even games. My collection is burned to the Hard drive, but we stream quite a bit here. It is very versatile and convenient, because when there is video involved, there needs to be a way to sync the video with the audio latency DSP processing creates. IIR filters are not really noticeable with live streams, but high tap FIR filters can delay over 1 second.

As of today, I can not use FIR filter processing on certain real-time streams, as they use "propitiatory" players without video sync. I am hoping one day, JRiver will have a video driver that will work with real-time streams like their current WDM audio driver.

So if You are into video, You will want a means to sync the video, regardless of which CPU is processing the audio.

Another challenge I have come across is having enough high quality DACs to drive all the channels. It is amazing how many DACs are still just stereo. I know You can "stack" or parallel run stereo DACs, but again, they do get out of sync with each other as most are asynchronous! Even with NOS, there needs to be a means, like multiple SPDIF outputs, to run more then 2 channels. There are some eight channel DACs available, in fact, I can build the eight channel version of the Twisted Pair Buffalo III. But they currently do not have an eight channel interface to go in between the DAC and computer. :eek: Also, what if You need more then eight channels, say running a 5.1 surround system with three ways in front, two ways in back and two subs. That is 15 channels of DSP processing. I know JRiver can drive that (if the CPU can keep up), but the only DAC's available with that many channels are Pro Audio. Many of them use the same chip (multiples) as the Buffalo III, but I can not say if the output stages are as well designed as the Twisted Pair options.

So I think this is a pretty big can of worms we find ourselves in, but I believe it is worth the effort, as this is the most versatile system we could ever strive for.

I will be following this thread to see how You all progress.
 
Last edited:
Hi ArtsyAllen,

I use OPPO105d player mainly for two reasons:

1. It removes the top and bottom of the screen black bars from Hollywood movies that are not in 16:9 format, even in 3D mode.
2. It decodes audio from external HDMI signals, and puts them out on it’s 8 analogue outputs. This way, I can decode HDMI audio from PayTV receiver.

The system is capable of 16 outputs, and it is phase-linear with Hilbert-Bode equalization.
Currently, I run newer version of the system. Older version of the system is described in:
http://www.bodziosoftware.com.au/Hybrid%20AES_EBU_Analogue_System.pdf

AES/EBU amplifier construction is described in:
http://www.bodziosoftware.com.au/AES_EBU_Amplifier_Construction.pdf

and evolution/expansion of the system is described in:
http://www.bodziosoftware.com.au/AES_EBU_System_Evolution.pdf

This paper documents 4-year progress on this system.
http://www.bodziosoftware.com.au/Home_Theatre_Updates.pdf


Audio/video latency is 145ms. This is much lower than the 185 limit prescribed by Telecommunication Standards.

Best Regards,
Bohdan
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.