DSP Xover project (part 2)

Hi, I'm in for one with analog volume control . Cheers !

Thanks for your feedback Dan!

I'm having the FIR Engine mode slowly in place so I thought I would post here a screenshot. The application is still being developed so 'specifications might change without prior notice' ;)

block5.png

As I wrote in a previous post, the board can play several scenarios, which correspond to various signal flows and options available for processing.

The FIR Engine is the most experimental one and is intended for experts. The remaining modes are far more intuitive, so have no worries if you're not comfortable (yet) with FIR filters.

In this mode, it's the user responsibility to design his own FIR filter. The coefficients are loaded with a simple file, and the impulse response for each channel appears in the lower right frame. (in the present case it's a simple sin(x)/x used only for debugging)

10 FIR lines are available. They take as input the left or the right component of the selected stereo input, or the sum (L+R)/2 or even the diff (L-R)/2 for those who wish to experiment with M/S.
The flow includes also gains, channel invert and a delay. The amount of delay available, as well as the max filter length, are both sampling frequency dependent.

Something that you can not guess just by looking at the screenshot, is that the block diagram is interactive: you may click on any component and adjust the value straight away - or in a more classical fashion you can input the values in the right part of the frame. It's also re-sizable.

I'll gradually post here more information as it's becoming available.

Nick
 
It looks stunningly professional. When You've made changes in this GUI You have to download them into the DSP, I guess. Will You mute or zero the output volume to avoid damaging the speakers if one manages to design the filters in a faulty way? (Sorry for my not so fluent English.)
What software libraries are used? I read You plan to develop for both Windows and Linux. BR, Anders
 
It looks stunningly professional. When You've made changes in this GUI You have to download them into the DSP, I guess. Will You mute or zero the output volume to avoid damaging the speakers if one manages to design the filters in a faulty way? (Sorry for my not so fluent English.)
What software libraries are used? I read You plan to develop for both Windows and Linux. BR, Anders

Thanks Anders for your kind comments.

Actually the interface is working the following way:
- As long as it's not connected to the external board, all the changes are registered in the setup file.
- As soon as it's connected, all channels are automatically muted then the setup data is downloaded to the board. This is a safety feature. From this time on, any change made in the interface is communicated in real-time to the external board (as well as registered in the file).

It's indeed a cross-platform application, based on the wxWidgets toolkit. I'm avoiding bitmaps and skins because they usually don't allow resizing the frame. I prefer an application that looks clean and works smoothly rather than something fancy that's not practical. I'll post some time soon screenshots of the monitor section that displays VU-meters and board status, and of the graph section that lets you load a set of measured responses and overlay expected processed outputs.

Best

Nick
 
Thanks for Your responsiveness. Very interesting. I occasionally use Audacity on ubuntu to edit sound files and I understand it also is written with wxWidgets. Your GUI design philosophy sounds right to me.
Do I understand this right: If I have the computer connected to the DSP I will be able to adjust some filter parameters in "real time"? I expected I would have to download the settings and restart the DSP. (I don't know much about these devices.)
BR, Anders
 
Do I understand this right: If I have the computer connected to the DSP I will be able to adjust some filter parameters in "real time"?

That's correct: once connected, all parameters are changed in real-time.
If you don't want this, you can disconnect, make the changes and connect again: then the whole setup will be transferred to the board, including your recent changes.
 
OK, thats better. I thought that would be a bit odd.

i'm wondering how successful this would be as a port to puppy linux or MPD, I may be able to find a way to run on mac (I understand it will be some time before you supply a mac version) but at least under wine, the audio subsystem bandwidth is very limited and I hate windows even though I can run it natively on my mac if I choose. So i'm thinking about running this on a headless, or perhaps touchscreen equipped and network connected low power linux box, and slave that over the network to my mac.

I wouldnt think the connected PC has to be in any way powerful, is that correct, since all the actual processing is performed on the DSP? is it effectively a web interface? I would have thought that would be the way to do it, as a web interface, that would make it truly platform independent
 
Last edited:
I understand it will be some time before you supply a mac version

It shouldn't take too long to make a Mac build available. I just don't want to commit to it straight away as I have enough work by now to keep me busy ;)

I wouldnt think the connected PC has to be in any way powerful, is that correct, since all the actual processing is performed on the DSP? is it effectively a web interface? I would have thought that would be the way to do it, as a web interface, that would make it truly platform independent

That's correct, the PC doesn't need to be powerful. Actually the application should run smoothly on any old laptop (well maybe any post 2000...).
A web interface would be nice indeed - but don't believe that all web stuff is cross-platform or even cross-browser. Ask any web designer ...
For this present project, the interface is a light executable that's running natively in Windows and Linux - with a Mac build following soon.
 
done web design, design is my background years ago. but I mean something like a java applet. its only stupid proprietary plugins and bells/whistles that cause issues, like flash, silverlight, all those type of media plugins owned by companies that love to control people's spending. java, HTML3 or XML would work a treat.

good to know the software isnt far away, cool
 
Hi,
please count me for one with analog volume control.
regards

That's cool, thanks for your interest! ;)

Here's a little dialogue that allows setting some analogue output properties.

bconf.png

With this dialogue, the user can select either slow or fast roll-off DAC interpolation filters. After clicking the OK button, the change takes place immediately and the board will remember the setting.

If the board has the analogue volume chip installed, then the user can also set the nominal output level anywhere between 1 Vrms and 6 Vrms in 0.5 V steps. In absence of the analogue volume chip, this option is not available and the nominal output is 1 Vrms.
 
Have you made a decision about the u.fl connectors yet ?

Hi Dahlberg,

I looked at adding u.fl pads carefully but ended giving up: it's a small board and I couldn't manage to place so many pads without disrupting the layout homogeneity achieved thus far.

There's however a positive side note: I doubled the amount of DGND pads so it's no major issue to plan u.fl adapters or wire the signals straight onto the board. Basically there's now one DGND pad for each high-speed signal line ;)

Nick
 
I really like the direction this project is heading to.

Analog volume control pretty please :)

That's great, thanks for the feedback!

I got news regarding availability. The PCBs are now into production and I'm expecting the first assembled sample by mid-November. So there's a bit of a delay, due to troubles for sourcing some parts. Sorry for that.

I also have the final price of the boards now:
USD 280 for the board without analogue volume control
USD 315 for the board with analogue volume control (CS3318)

Add 15% VAT for buyers in UE.

Best,

Nick