• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

DIY active crossover in development - looking for inputs

Yes, I did also consider this.. Do you know if I buy one of these adapters that actually has volume control(not all does) does that already get integrated in the i2S stream or is it something that happens later in the SPDIF/analog conversion? Would be nice if it was straight in the i2S!
I don't think there will be any that have this, since it's not normal functionality. LG TV's famously have a way to encode the volume control signals into the PCM signal called LG Sound Sync. It buries the volume commands in the noise floor of the audio signal. You may be able to find the protocol and somehow get that working.

Normal HDMI volume control goed via HDMI CEC. It lives on a special pin
1768390850456.png

So you could just route that pin to a uC and decode the protocol to get the volume control commands. There are plenty of code examples to be found:

 
Last edited:
Normal HDMI volume control goed via HDMI CEC.
Yeah, but I guess its not transfering i2s directly over HDMI. The HDMI connections probably all go to a IC(HDMI License protected) that then spits out i2S. Then the i2S goes to a DAC or a SPDIF transmitter. Somewhere in that chain the CEC data must be used to attenuate the volume in devices like this one:

There are two versions of this device one with volume control and one without. The one with volume control is twice as expensive as the other one. There is no visual difference. The one without volume control is called an HDMI audio extractor:
The one with volume control is called an HDMI Downmix decoder:

I hope it doesn't cost that much to just add volume control, there may be a better dac in it as well, I don't know.

Question is if its in the chip that receives the HDMI and spits out i2S (would make sense) or later?
All the ones with volume control I have seen are significantly more expensive.. so maybe it just requires a more expensive HDMI IC? I have no idea..
 
Yeah, but I guess its not transfering i2s directly over HDMI. The HDMI connections probably all go to a IC(HDMI License protected) that then spits out i2S. Then the i2S goes to a DAC or a SPDIF transmitter. Somewhere in that chain the CEC data must be used to attenuate the volume in devices like this one:

There are two versions of this device one with volume control and one without. The one with volume control is twice as expensive as the other one. There is no visual difference. The one without volume control is called an HDMI audio extractor:
The one with volume control is called an HDMI Downmix decoder:
The main reason why the second one is more expensive is because it can decode Dolby and DTS and downmix it to stereo PCM. Those decoder IPs probably cost additional money. The volume does not say anything about volume control, though.

I hope it doesn't cost that much to just add volume control, there may be a better dac in it as well, I don't know.

Question is if its in the chip that receives the HDMI and spits out i2S (would make sense) or later?
All the ones with volume control I have seen are significantly more expensive.. so maybe it just requires a more expensive HDMI IC? I have no idea..
I don’t think you want volume control applied to the PCM data. That eats away DSP latitude.

If you can just directly interact with the CEC pin and bypass the rest of the HDMI chipset, or maybe find the same pin in the chipset if you’re lucky.
 
Yeah you might be right the CEC pin is the right way to do it.. But either way... thats a problem for next year or two xD
First I need the basic function to work great :)
 
Okay, so I managed to update my DSP with my new PSU, and two new DAC modules. Wanted to make sure they worked before I ordered more than I had to :P
So now the DSP went from the left picture to now looking like the right picture below. I am currently testing the DSP with a 3-way speaker so had to still use one of the china DAC's for now.
Media (4).jpg
Media.jpg


Here is a close up of the DAC module with its XLR and distribution PCB's:
Media (6).jpg
Media (7).jpg


To my big surprise it actually works :D I haven't gotten to do a proper listening session yet, but I did some measurements and a brief listening test. They behave really well with start and stop pops. I can turn the DSP on and of with the power amp still on without issues. Only a faint pop. No apparent noise with this speaker (pretty low sensitivity).
 
For measurements I currently only have a Scarlet 2i2 4th gen. I output toslink from my PC into the SPDIF input board I have made. Feed that to the DSP. In the DSP I have a simple program that allows some volume control and output compressors.

This is the frequency response of the two types of DAC's (China PCM5102 and my own AK4493) at full volume (0dbFS). The PCM DAC's output around 2Vrms and my own dacs I measured to 3.8Vrms (was aiming for 4 though..).
Media (1).jpg

I also tried to du a FFT analysis of both DAC's. I have noticed that the scarlet has a lot of 2.H distortion in a single ended loop back test so not sure how much of this performance is the scarlet when fed a single ended signal or if its Just the PCM DAC's. My impression from listening to music on the PCM5102's were actually quite good.
Media (3).jpg


This is then my own AK4493 DAC
Media (2).jpg

I'm new to these kind of measurements and honestly not quite sure what I'm doing xD
But generally I like what I see. Distortion profile is significantly better.
Noisefloor is not something that can be read directly from theses measurements as far as I understand?
I do find it odd that I have a peak at 25Hz, 50Hz, 75Hz and so on all the way up to 2-3K where they disappear. Any one knows what this could be?
But almost 16bit of resolution that's quite good I think :D At least I'm happy for such good results already in first try!

I think my next hardware step has to be updating the DSP PCB. Right now the i2S connections to the DAC aren't the best, and MCLK generation and distribution also isn't the best. I have learned a lot since I designed the DSP (my first ever PCB) so I think I can do better now. The general concept of the DSP also changed significantly since I started.

But right now I am trying to get a bit better hang of the DSP programming it self. I need to get a better understanding of how it works, do's and don'ts. and general good practices.

Cheers!
 
For measurements I currently only have a Scarlet 2i2 4th gen. I output toslink from my PC into the SPDIF input board I have made. Feed that to the DSP. In the DSP I have a simple program that allows some volume control and output compressors.

This is the frequency response of the two types of DAC's (China PCM5102 and my own AK4493) at full volume (0dbFS). The PCM DAC's output around 2Vrms and my own dacs I measured to 3.8Vrms (was aiming for 4 though..).
View attachment 508849
I also tried to du a FFT analysis of both DAC's. I have noticed that the scarlet has a lot of 2.H distortion in a single ended loop back test so not sure how much of this performance is the scarlet when fed a single ended signal or if its Just the PCM DAC's. My impression from listening to music on the PCM5102's were actually quite good.
View attachment 508851

This is then my own AK4493 DAC
View attachment 508853
I'm new to these kind of measurements and honestly not quite sure what I'm doing xD
But generally I like what I see. Distortion profile is significantly better.
Noisefloor is not something that can be read directly from theses measurements as far as I understand?
I do find it odd that I have a peak at 25Hz, 50Hz, 75Hz and so on all the way up to 2-3K where they disappear. Any one knows what this could be?
But almost 16bit of resolution that's quite good I think :D At least I'm happy for such good results already in first try!

I think my next hardware step has to be updating the DSP PCB. Right now the i2S connections to the DAC aren't the best, and MCLK generation and distribution also isn't the best. I have learned a lot since I designed the DSP (my first ever PCB) so I think I can do better now. The general concept of the DSP also changed significantly since I started.

But right now I am trying to get a bit better hang of the DSP programming it self. I need to get a better understanding of how it works, do's and don'ts. and general good practices.

Cheers!
Try different levels when measuring electrically, some ADCs don't like more than a V or so.
Also use WASAPI exclusive or ASIO, shared mode can be ugly, take care of grounding, etc.

Use 8 averages or so.
 
Try different levels
Okay, so you say I should reduce my digital output level to the dacs to reduce their output voltage to 1Vrms?

Currently I had my 2i2's input gain set to 8 or 9 in order for the 1kHz sine to reach 0dbFS. Should I rather just set the input gain to 0 and then just ignore the fact that the main tone does not reach 0dbFS? I just thought that would give an incorrect result compared to how Amir measures devices.

I will double check, but Im pretty sure I used ASIO for the sound card and WASAPI for the digital output. So I should rather use WASAPI for both?
The DSP recives a otpical signal from my PC, so at least that creats no gnd loop. None of my devices (PC and DSP) have a earth connection as my house doesn't have that in the wall... So the only direct connection between the devices are the XLR cable. On my side i connect the XLR shield to my GND via a resistor and capacitor placed in parallel.

8 averages was the setting I think. Will try again with only WASAPI and different levels. As well as a loop back test to see what the noise floor is there. I was hoping for a little better than -90 dB.. Distortion wises I think I'm pretty happy. I would just like to know what causes the grass every 25 Hz..
 
Okay, so you say I should reduce my digital output level to the dacs to reduce their output voltage to 1Vrms?

Currently I had my 2i2's input gain set to 8 or 9 in order for the 1kHz sine to reach 0dbFS. Should I rather just set the input gain to 0 and then just ignore the fact that the main tone does not reach 0dbFS? I just thought that would give an incorrect result compared to how Amir measures devices.

I will double check, but Im pretty sure I used ASIO for the sound card and WASAPI for the digital output. So I should rather use WASAPI for both?
The DSP recives a otpical signal from my PC, so at least that creats no gnd loop. None of my devices (PC and DSP) have a earth connection as my house doesn't have that in the wall... So the only direct connection between the devices are the XLR cable. On my side i connect the XLR shield to my GND via a resistor and capacitor placed in parallel.

8 averages was the setting I think. Will try again with only WASAPI and different levels. As well as a loop back test to see what the noise floor is there. I was hoping for a little better than -90 dB.. Distortion wises I think I'm pretty happy. I would just like to know what causes the grass every 25 Hz..
Play around with WASAPI excl and ASIO and see what gets the best results.
About levels, first check 2i2 with a simple loopback to see where it lands and where it's its optimal results about ADC.

Start with 0 gain of course.
One way to use the DAC at 2V or 4V or whatever to the optimal ADC level can be a voltage divider for example.

About grounding, you have to find a way about it, some exposed water pipe or something to draw a wire to, been entirely without ground can be also dangerous.
 
You can also use a Level sweep to see where things start to break, like that:

ls.PNG


(just hit "fit all data" at the end of all the sweeps, sometimes MT does not refresh automatically)
 
Play around with WASAPI excl and ASIO
Will see what I can figure out thanks!


About grounding,
I know it can be dangerous.. I also take great care when working with the mains voltages, turning stuff off and disconnecting and so on. For now the DSP is in a plastic box so that also adds some safety. I have pretty weak fuses in the DSP mains inlet too (on both L and N lines).
I live in Denmark, here it is quite common to only have two prong outlets in the walls. Especially in older houses. The reason for this is that in Denmark we have a certain protection circuit called "HPFI Relay" installed by law. Not entirely sure how it works. But it somehow compares the current going into the house with that going out and very quickly turns off all power if there is a mismatch. In theory it will protect you if you lick the outlet.. not that I tried..
But i certainly would prefer all my outlets to have safety earth and they will, when ever I get a house (currently renting).

You can also use a Level sweep
Great idea, will try that too!
 
I think I got the hang of the measurements now. At least it looks much better now. I also changed a bit in the DSP program. Now I'm pretty happy with the result!
Now my DAC measure like this
4006.jpg


And a loopback of the soundcard
4007.jpg


Compared
4008.jpg


Very happy with my distortion performance now. I wish my noisefloor was a bit lower, but in reality I hear no noise so.. it will do :D

Thanks @Sokel !
 
I think I got the hang of the measurements now. At least it looks much better now. I also changed a bit in the DSP program. Now I'm pretty happy with the result!
Now my DAC measure like this
View attachment 509192

And a loopback of the soundcard
View attachment 509193

Compared
View attachment 509194

Very happy with my distortion performance now. I wish my noisefloor was a bit lower, but in reality I hear no noise so.. it will do :D

Thanks @Sokel !
Reduce the measuring range to 20Hz-20kHz instead of 20Hz-40kHz and the numbers will be even prettier.

Your loopback is a very good sanity check but in case of the DAC I think you can do even better lowering the noise floor by experimenting with wiring, grounding schemes, etc.
 
Oooh gotta try that then! I just used that range for a frequency response measurement and didn't think it would affect these numbers so didn't change it back.

Is it possible to make a sound card calibration file in multitone analyzer like in REW? based on a loop back? It was a bit hard to see the actual response of my DAC as the 2i2 has quite a roll of in the lower frequencies
 
Oooh gotta try that then! I just used that range for a frequency response measurement and didn't think it would affect these numbers so didn't change it back.

Is it possible to make a sound card calibration file in multitone analyzer like in REW? based on a loop back? It was a bit hard to see the actual response of my DAC as the 2i2 has quite a roll of in the lower frequencies
Never tried it as at 20Hz-20kHz the difference can be tiny at DAC's FR.
Maybe try to import REW's cal file to MT, there's a place for cal files at the settings.
 
Back
Top Bottom