Setting up a PC-based multichannel DSP system

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

ra7

Member
Joined 2009
Paid Member
Thanks! No, I haven't tried two USBStreamers yet. But someone on the miniDSP forums has and it works. Check posts 13691 and 13711.
http://www.minidsp.com/forum/usbstreamer/9972-need-to-use-2-usb-streamer-b-at-the-same-time?start=6

At least in Windows it is supposed to work. Which OS are you using? Later on in that same thread, the Dev Team says that aggregation of the two device into a single device is the job of the software. By this, I would assume that it is either the job of Windows or your media player. But I'm not the expert on these matters, so if someone knows, please let us know.
 

ra7

Member
Joined 2009
Paid Member
Earlier it was going to be JRiver. But it seems like Foobar may be able to pull it off also. We'll see. I'm focusing on finishing the speakers next. They're nearly done.

Gotten busy at work, plus there's the World Cup. What a stunningly entertaining WC it's been so far. Did anyone catch the US game yesterday?
 
Thanks! No, I haven't tried two USBStreamers yet. But someone on the miniDSP forums has and it works. Check posts 13691 and 13711.
MiniDSP :: Topic: Need to use 2 USB Streamer B at the same time (2/3)

At least in Windows it is supposed to work. Which OS are you using? Later on in that same thread, the Dev Team says that aggregation of the two device into a single device is the job of the software. By this, I would assume that it is either the job of Windows or your media player. But I'm not the expert on these matters, so if someone knows, please let us know.

Hello!
My SO is Windows 8.1 and my hardware now is only a Denon HDMI amplifier with a typical 7.1 configuration.

Last year I built a pair of 3 way fronts speakers. I don't like passive crossovers (it's tedious to work with). Then I connect all drivers of my new front speakers to 6 channels of the HDMI amp and make a digital crossover on a PC with a VHS host . It works very good. In the VST host I can put as many filters or effects as I want (but I only put a convolver).

With this scenario I only can play Stereo music. I need more output channels and I'm looking for a hardware capable of doing that well and not much expensive.

Next weekend I'll try to connect two HDMI amps to the PC to get 7+7 channels, but I think it will be out of sync, and this is a very bad thing.
Only one sample before of after and the sound is much degraded. If the sound is delayed in one device, always the same, you can put a delay for the other device and all is OK. But the problem, for the systems I tested until now, is that the delay is different with every startup or reboot.

I think the problem are the audio hardware drivers, with are different for each audio hardware unit. Maybe with one driver for all the audio hardware works well. I'll tell you...

Regards :wave:
 

ra7

Member
Joined 2009
Paid Member
Update

After a lot of reading, trying, and hair pulling, I finally got it to work.

Final configuration looks like this:

For playing music: JRiver-> Internal convolution in JRiver -> USBStreamer -> to amp and speakers

For measurements: Holm, EMU0202 (In - mic, out - sweep) -> EMU0202 analog output to XMOS USB board input -> JRiver in ASIO loopback -> XMOS USB board input to USBStreamer output through JRiver -> to amp and speakers

Can it get more complicated? :)

The convolution filters are developed in rePhase. A configuration file is written for the 3-way crossover and 2 to 6 channel mapping.

I had to give up on Foobar because the VSThost+convolver plugin was simply not working for me. JRiver allowed me to do everything I wanted in a neat, clear way.

Playing music is easy with the internal convolution in JRiver, but making measurements was the hard part. Fortunately, a number of people have done this before. The WASAPI loopback in JRiver was causing a lot of stutters. The ASIO line in worked perfectly, but it obviously has a convoluted path with three USB soundcards. It works though.

Thierry's thread was helpful and so were other comments in this thread. Thanks guys!
http://www.diyaudio.com/forums/pc-based/223805-easy-fir-crossover-pc-based-drc.html

ASIO line in (JRiver): Line-in playback: ASIO or WASAPI

rePhase: http://www.diyaudio.com/forums/mult...hase-linearization-eq-fir-filtering-tool.html
 

ra7

Member
Joined 2009
Paid Member
High-res file Playback

I am having a strange problem. While playing files with sample rates higher than 44.1 kHz, the low bass seems to disappear. The configuration file for convolution specifies 44.1 kHz, but I'm not sure if this is the cause for the problem. I'm new to JRiver, so I don't know if there are any settings to be tweaked in the program. In the output format dialog, I haven't made any changes to output sample rate. Anyone have any idea what could be happening?
 
In my experience sample rate issues with convolution would result in convolution not working at all. To play files with convolution that are different sample rates you need to create a convolution file for each sample rate that you use. You put each file in the same folder as your 44.1khz file, click the switch sample rate box, and mc should switch on the fly. Personally I just resample everything to 48khz.
 
Also I'll say that is a super complicated measurement setup! Do you account for the response of each device in your chain? They should be flat through the audible range but some devices have a low end roll off. I use wasapi loopback with convolution, but it can take some work to get it to work without stutter. Word is they are working on their own wdm driver.....
 

ra7

Member
Joined 2009
Paid Member
In my experience sample rate issues with convolution would result in convolution not working at all. To play files with convolution that are different sample rates you need to create a convolution file for each sample rate that you use. You put each file in the same folder as your 44.1khz file, click the switch sample rate box, and mc should switch on the fly. Personally I just resample everything to 48khz.

Yes, I set it to resample everything at 44.1 kHz. I read about this feature of MC where it will auto-select the most appropriate file, including the pattern match command. But I don't understand where to put this information. Do I just select the 44.1 kHz file in MC, and put all the other files in the same folder?

Thanks for your help, btw. Really appreciated.

Also I'll say that is a super complicated measurement setup! Do you account for the response of each device in your chain? They should be flat through the audible range but some devices have a low end roll off. I use wasapi loopback with convolution, but it can take some work to get it to work without stutter. Word is they are working on their own wdm driver.....

I did loopback testing some while ago for the EMU and XMOS soundcards. They're both pretty flat. I'm not sure how else I would do it. I tried a number of configurations. The way I'm doing it allows me to select the EMU's input and output in Holm, which makes Holm work very smoothly. All you need is two USB soundcards with in/out capabilities. It could be done with two cheapo Behringers.
 
Last edited:
Do I just select the 44.1 kHz file in MC, and put all the other files in the same folder?

Yep.

It should be working fine to resample everything in mc tho. I know resampling with convolution used to be buggy at times. It's been a while since I used convolution regularly but I would imagine they got it fixed.

What are you using for number of channels in output format? In your case,it might help to choose 2 channels (in a 5.1 container).
 

ra7

Member
Joined 2009
Paid Member
"Yep."

Thanks... that's the little nugget of information I needed to understand it :)

In output format, I chose 5.1. You're saying it could be stereo? I can try it and see if it works. In Mitch's guide, he suggests 5.1 I think. Also, on some MC threads, I read 5.1 is the option to choose for six channel output.
 
Last edited:
Ha sometimes simple is best :D

As far as the output format goes, the option "2 channel (inside a 5.1 channel container)" gives you 6 channels.........2 stereo and then 4 blank channels. It can be a work around if a person is having issues but that's normally when MC is used to play video and still do the processing for an active speaker setup that's not surround sound. I figured it's worth a shot.

So you're doing all your eq/xo work in convolution?
 

ra7

Member
Joined 2009
Paid Member
Ha sometimes simple is best :D

As far as the output format goes, the option "2 channel (inside a 5.1 channel container)" gives you 6 channels.........2 stereo and then 4 blank channels. It can be a work around if a person is having issues but that's normally when MC is used to play video and still do the processing for an active speaker setup that's not surround sound. I figured it's worth a shot.

So you're doing all your eq/xo work in convolution?

They never mentioned how to do the multiple sample rate thing in MC. They only say it automatically selects, but how do you get it to select? That's what I wanted to know and you answered it! I have to say, MC is bloody brilliant. I hate to say goodbye to foobar, but it won't let me do the things I want anymore.

I'll check out the 2 channel thing later today.

Yes, I'm doing the XO+EQ in convolution generated using rePhase. Using LR48 filters right now. I've not really spent a lot of time on developing the crossover. Just put some filters down and saw if it was making sense. I developed a passive crossover for the KEF Q100 mid to tweet . So, the other two crossovers are LPs at 500 Hz and 125 Hz and HP for KEF coax unit at 500 Hz. I'm hoping that the steep filters plus the low frequencies make phase less relevant. Of course, I will do a proper design sometime soon.

Will put up pics of the speakers. Should make it clearer. First impression is really good. That front wall has disappeared.
 
Last edited:

ra7

Member
Joined 2009
Paid Member
Here's a pic of the speakers. There is a quadratic residue diffuser in the center and some thick absorbing panels. Earlier, I had just the KEF cab sitting atop a small tower cab for one of the 8" drivers. I had shoved the speakers in the corner and it gave a nice sense of depth.

With this new setup, the front wall completely disappears. There is a great sense of envelopment and a feeling of being in a different acoustical space. The goal with this speaker design was to eliminate ceiling and floor reflections. It is supposed to be an expanding array with the array length increasing as the frequency is lowered. The outermost drivers have a LP at 125 Hz. The two central drivers have an LP at 500 Hz. And the KEF coax has an HP at 500 Hz. Then there is a passive crossover between the tweeter and the mid driver in the KEF Q100. The KEF Q100 is a truly amazing unit. Really smooth response.

Inspiration is from speaker dave's interview here:
[Interview] David Smith [English]

And his expanding line array design:
Snell Acoustics XA Reference Tower loudspeaker | Stereophile.com

By putting it in the corner, you get horizontal control down to low frequenciesas well. Plus, no front wall reflection, at least not of the first order.

There are a lot of things to improve. A proper crossover would be a start. But even with this crude one, there is a lot of promise. I am using cheapo $8 Jamo buyout drivers from PE. These could be improved to something better, maybe from the SB Acoustics line. And distributed subs would be good too. All in good time.
 

Attachments

  • photo (5).JPG
    photo (5).JPG
    91.6 KB · Views: 829
Last edited:
Hi ra7!
You had done a very good and hard job last days.

If you would, you can test my setup:
Install Virtual Audio Cable (VAC), and select it for your default Windows sound card. Install some VST host (I use Audiomulch). Now in the VST host select VAC for the input channels and the USBstreamer for the outputs channels and finally insert a convolution plug-in with your pulses.

With this setup you can hear all sounds from all Windows programs and don't have to worry about sample rate, if they do not match, input will be re-sampled.
 

ra7

Member
Joined 2009
Paid Member
Thanks mimi123!

Things are working ok with JRiver. I might give VAC a try when I find time.

Meanwhile, I'm struggling a little bit with the lag during measurements. Holm doesn't seem to account for it properly. I cannot seem to get a reliable measurement of the delay I'm inputting in the config file. There are many posts on the JRiver forum about this problem, but I couldn't find a definitive solution. Anyone have experience with this?
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.