• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. 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!

Beta Test: Multitone Loopback Analyzer software

OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,742
Likes
10,490
Location
North-East
It's official! Multitone version 1.0.41 is now a published release. Thanks for testing everyone, and looking forward to more of your ideas, suggestions and bug reports.

Changes in 1.0.41

  • Add: support for additional channels with ASIO and WASAPI multi-channel drivers
  • Add: sawtooth and reverse-sawtooth test signals
  • Add: cool-down setting for sweeps and repeated tests
  • Add: property settings panels for Waveform and Frequency response plots
  • Fix: low-level (LSB) errors with ASIO and WASAPI drivers due to truncation in 32-bit floating point
  • Fix: scaling of the Waveform plot when different sampling rates are used for playback and recording
 

Rantapossu

Addicted to Fun and Learning
Joined
Jul 21, 2022
Messages
528
Likes
377
Looks good!

A couple of refinements:

The input selector help text is not updated:

1660750283094.png



It would be easier if the text boxes contains prefilled texts and adding the user's own custom text (Operator, sound card, memos, date, whatever) would become more convenient when you don't have write everything from the ground up.


The text boxes of the static title tabs (Spectrum, Freq Response and Waveform) could have the default text box already filled right from the start:
1660750650695.png


1660750623308.png

1660750702388.png


Actually the "Spectrum" tab already does it, FR and Waveform don't.


And the dynamic title tabs (Lvl Sweep and Freq Sweep) could update the text according the measurement parameters like they do on the graph title:

1660751874531.png

Like this:

1660750970490.png

1660751226683.png


If it's not too hard to implement, the texts of the text boxes could update after the measurement if some parameter (Gain, sample rate, test tone) is changed and then stop to update if the user writes some custom text to the box and continues to change parameters and takes new measurements.
 

Attachments

  • 1660750569870.png
    1660750569870.png
    932 bytes · Views: 30

Rantapossu

Addicted to Fun and Learning
Joined
Jul 21, 2022
Messages
528
Likes
377
Of course the ultimate solution for the titles would be the fully dynamic titles for all the tabs and the use of the variables on the text box:

TITLE: This is the spectrum of {outputdev} measured at {samplerate} with {gain} db gain on {date}

would output title on the graph:

"This is the spectrum of Sound Blaster 16 measured at 44.1 kHz with -3 db gain on 1/1/1970" ;)

This would of course mean also that the title text templates have to be saved to the config when shutting down MT.

But I don't think I have enough money to pay your night shifts when you are coding this...
 

GXAlan

Major Contributor
Forum Donor
Joined
Jan 15, 2020
Messages
3,987
Likes
6,149
Cables,placement,etc,all counts by my (very) little experience.
I built a nice 50 cm cable and I got -10db when measuring,even in loopbacks.

I'm using some Monster Cable 800 THX cables that I had lying around. It's probably more reflective of actual use.

The spec on Korg as a Dac is about -86 db THD+N (.005%) which is not far from what you measured. I don't know the spec using the Korg as an ADC. It would appear it is about the same. So the Korg as an ADC may be the limiting factor even with the Topping in use.

Yeah. It’s the same Cirrus Logic DAC for the two products.

At 1 kHz, the ADC seems to be getting what Amir got with his APx555. That makes sense. What’s weird is that at 15 kHz, you can get -100 dB with Korg (suggesting that the ADC should be able to recorded better) but the Topping at 15 kHz is bad. Either my Topping is broken after a few years, the USB on my laptop is noisier than lab equipment (which suddenly brings in the question of aftermarket power supplies/fancy cables).


I also see the signal level is below -8 db. Can you raise the input of the Korg getting to something near -1 db or so? You might improve the results some and see more difference.

Also the DS100 reviewed here had those odd spikes you are seeing.
Yeah. I knew the DAC wasn’t going to be that special since it was close to the chip level performance of the CS4390, but I was curious to see how the PCM4202 in it performed.
  • Dynamic Range (VIN = -60dBFS, fIN = 1kHz, A-Weighted): 118dB
  • THD+N (VIN = -0.5dBFS, fIN = 1kHz): -105dB

1660750946804.png





Thank you for your sharing these with us!

I heard that the ADC and the phono-stage specifications and performance are acceptable and enough for digitalization of their LPs.

I believe your measurement results would well support that DS-DAC-10R can be used at least for digitalization of LPs.

Yes. The one thing that’s not really seen is that the DS DAC 10R acts as a hardware dongle for their AudioGate software. The phono amp in the unit can be turned on and off with a clear audible relay, but the equalization is proprietary in their software. You can use RIAA, RIAA+IEC, etc.
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,742
Likes
10,490
Location
North-East
Of course the ultimate solution for the titles would be the fully dynamic titles for all the tabs and the use of the variables on the text box:

TITLE: This is the spectrum of {outputdev} measured at {samplerate} with {gain} db gain on {date}

would output title on the graph:

"This is the spectrum of Sound Blaster 16 measured at 44.1 kHz with -3 db gain on 1/1/1970" ;)

This would of course mean also that the title text templates have to be saved to the config when shutting down MT.

But I don't think I have enough money to pay your night shifts when you are coding this...

I think the tab titles should stay fixed, since what is under that tab is always the last measurement result, rather than the custom text I entered to label some previous measurement that may or may not match what is actually there.

The chart titles are not something complicated. Either you enter some custom text to display for a screen capture, or you clear it and let Multitone generate one. I'm not sure that there's a good reason to complicate this beyond the simple ability to customize, when needed.
 

JohnPM

Senior Member
Technical Expert
Joined
Apr 9, 2018
Messages
346
Likes
931
Location
UK
@KSTR
After digging deep in the audio library code and patching it, RME loopback over MADIface driver seems to have no more artifacts or unexpected harmonic content. And this is with dithering disabled in MT. As I suspected, the problem was an internal conversion to 32-bit floating point samples inside the library. While it sounds like a safe thing to do, a 32-bit FP sample has fewer than 24 significant bits, and so can't pass a full 24 bit sample cleanly to the ASIO driver.
A 32-bit float has 25-bit effective mantissa precision: 23 bits encoded, an implicit 1 bit from normalisation and the sign bit.
 

Rantapossu

Addicted to Fun and Learning
Joined
Jul 21, 2022
Messages
528
Likes
377
I think the tab titles should stay fixed, since what is under that tab is always the last measurement result, rather than the custom text I entered to label some previous measurement that may or may not match what is actually there.

The chart titles are not something complicated. Either you enter some custom text to display for a screen capture, or you clear it and let Multitone generate one. I'm not sure that there's a good reason to complicate this beyond the simple ability to customize, when needed.

Ok, but matching the actual title on the top of the graph and the text on the "settings text box" on the left panel could still be doable for all the tabs? Like on the Spectrum tab?
So you don't have to write everything manually again when adding some custom text, just add your own text to the prefilled text box?
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,742
Likes
10,490
Location
North-East
Ok, but matching the actual title on the top of the graph and the text on the "settings text box" on the left panel could still be doable for all the tabs? Like on the Spectrum tab?
So you don't have to write everything manually again when adding some custom text, just add your own text to the prefilled text box?
Sure, that's doable and would be consistent with the other tabs :)
 

JohnPM

Senior Member
Technical Expert
Joined
Apr 9, 2018
Messages
346
Likes
931
Location
UK
This is the format:
main-qimg-39b84d726eec73a060ea3cabbda803d6
Yes, standard IEEE 754 32-bit float. The significand is 24 bits plus sign making 25 bits (as an equivalent signed integer precision) . Floats are normalised so the leading bit is always 1, because it is always 1 it isn't stored, only the least significant 23 bits need to be stored.
 

Rantapossu

Addicted to Fun and Learning
Joined
Jul 21, 2022
Messages
528
Likes
377
Sure, that's doable and would be consistent with the other tabs :)

Fortunately making thing "more consistent" by your terms means that you add the option to the other 4 tabs (Or so I hope!) and not just remove the option from the already working Spectrum tab, which would be the lazy programmer's solution (Saves 80% of the time and hassle and still a consistent solution, just not preferable) ;)
 

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
913
Likes
3,648
Location
London, United Kingdom
a 32-bit FP sample has fewer than 24 significant bits, and so can't pass a full 24 bit sample cleanly

I don't think that's true - I concur with @JohnPM. In fact I distinctly remember many years ago writing unit tests for a sample type conversion function. The unit test would literally round-trip all 16 million possible 24-bit integer values to 32-bit float and then back again before comparing with the original value. It was lossless.

Of course, this all assumes the conversion is actually being done correctly.
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,742
Likes
10,490
Location
North-East
I don't think that's true - I concur with @JohnPM. In fact I distinctly remember many years ago writing unit tests for a sample type conversion function. The unit test would literally round-trip all 16 million possible 24-bit integer values to 32-bit float and then back again before comparing with the original value. It was lossless.

Of course, this all assumes the conversion is actually being done correctly.

Internally to my code all samples are double floating point (64 bits). When I output 24- or 32-bit integer samples to the audio library/driver, there are no low level errors. Using floating point values for samples caused the original problem that wasn't resolved even if I dithered the values at 24 bits. The problem exists somewhere between the audio library and the driver when 32-bit floats are used. I needed to modify the library to allow me to select the preferred integer format, as it only accepted 32 bit fp samples as input.

To add to this, even REW produced the same low-level artifacts with FlexASIO, with or without dithering in my testing.

1660774154013.png
 
Last edited:

Sokel

Master Contributor
Joined
Sep 8, 2021
Messages
6,384
Likes
6,536
Looks like you have some AC frequency leaking in, possibly a ground loop. Those harmonics of 50Hz (100, 150, 200, ...) plus all the grass around the 1kHz tone...
5 meters usb repetear+the 2 meter belden to Khadas and 5 meters NO repetear to E-MU.
All back to the same PC.
It's a miracle they're working.
Edit,it would be nice to have 5 meters high usd but unfortunately it's 5 meter long usB :p
 
Last edited:

Sokel

Master Contributor
Joined
Sep 8, 2021
Messages
6,384
Likes
6,536
I tidied up a little (just twisted them all)
I'm afraid the grass is what you get with 70 euros,I think I saw similar grass in @KSTR 's thread about it.
When I get confident I'll measure my other dac.

ground.PNG
 
Top Bottom