• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required as is 20 years of participation in forums (not all true). Come here to have fun, be ready to be teased and not take online life too seriously. We now measure and review equipment for free! Click here for details.

Beta Test: Multitone Loopback Analyzer software

OP
pkane

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,852
Likes
4,824
Location
North-East
Multitone v1.0.10 is available. This is an update that's needed to make it work on Linux with Wine, there's no other new functionality. Those with previous versions will not be prompted to update to this one. If you want to install Multitone on Linux, then head over to the site and download it directly from there: https://distortaudio.org/multitone.html#download-multitone

Changes in 1.0.10

  • Fixed: handled an error in sound driver that can occur when using Multitone on Linux + Wine
 
Last edited:
OP
pkane

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,852
Likes
4,824
Location
North-East
Here are the steps that I used to install Multitone on Linux Ubuntu 20.0.4. Please note that Wine and Winetricks were installed previously, following the instructions I posted for DeltaWave, here.

To use Multitone, first step was to install .NET 4.8. I did this using Winetricks:

Start Winetricks:

$ winetricks

1639335833238.png


Install a Windows DLL or component
1639335940677.png


Select and install dotnet48. This can take a while, and for me, it installed .NET 4.0 first, then continued with .NET 4.8. I had to answer a bunch of pop-up messages during the process, so don't just leave it running and walk away!

1639336011300.png



When finished, go back to Winetricks main screen and select "Change settings"
Then, select sound=alsa:
1639336324393.png



When finished, go back Winetricks main screen and select "Run winecfg"
1639336143845.png


Check that selected driver is winealsa.drv, and select output and input devices:
1639336396983.png



Exit Winetricks. Install Multitone:

$ wget 'https://distortaudio.org/MultitoneSetup.zip' $ unzip MultitoneSetup.zip $ env WINEPREFIX=$HOME/winedotnet wine MultitoneSetup.exe

Then, find and start Multitone using Wine. You may need to locate the Multitone.exe file if the link is not on the desktop already. In my set up it was placed in ~/winedotnet/drive_c/Program Files (x86)/PKAudio/Multitone folder. Double-click on it in the file list:
1639336643340.png


You should see something like this (if you get a prompt to downgrade to 1.0.9 -- just say 'No'):
1639337307794.png



EDIT: Oh, and alsa-utils with alsamixer is a good way to make sure the input and output drivers are set to 100%:

$ sudo apt install alsa-utils $ alsamixer

1639361079345.png
 
Last edited:

Grooved

Senior Member
Joined
Feb 26, 2021
Messages
303
Likes
196
First encounter with this new program here (1.0.10)

dBr scaling not working:
View attachment 173644


Also: Where do I select channels?
Hi,
I don't know if @pkane can add an channels selection for ASIO, when I tried, I also had no choice to use the default ones picked by the software.

Regarding dBr, it's not perfect but I think the graph is adjusted, while the numbers shown on the right are the one during the analysis, so at -19.9dB here. If you take the -146 of H2 and add 19.9, you get -126.1 which is pretty much what we se on the graph.
If I'm not wrong, the numbers on the right will show the same values, picking dBFS or dBr, so it should not be called "dBr", as only the graph is adjusting
 
OP
pkane

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,852
Likes
4,824
Location
North-East
Latest update, v1.0.11 of Multitone is now available. Previous versions will prompt to auto-update.

Changes in 1.0.11

  • Fixed: Harmonics amplitude is now displayed in dBr when that option is selected
  • Added: DC display to harmonics panel
  • Added: Accelerator keys to start measurement recording (Alt-R) and to stop (Alt-S)
  • Added: Channel selector (L, R, and L+R for output and L or R for input)
  • Added: Preview spectrum as the measurement data is being collected
  • Added: Warm-up period setting (in seconds) to let components get to proper operating condition before measurement
 
Last edited:

KSTR

Major Contributor
Joined
Sep 6, 2018
Messages
1,854
Likes
3,982
Location
Berlin, Germany
Some notes:

Averaging feature currently is repeating the whole sequence of silence-->warm-up-->aquire-->process.
It would be nice if the generator isn't stopped in between, to skip the subsequent warm-ups

Further it would be nice if overlapped segments of the data could be used, to speed up the FFT magnitude averaging itself.
The main point of averaging often is to bring the noise down and make it flatter in the FFT display.

Graphics glitches:
- Distortion panel disappears when the plot pane is dragged.
- Show 1/2 unchecked has no effect when a new measurement is started, both are displayed (until clicked twice).

Future development ideas:
- add bin number notation for frequencies in the custom config (and ignore bins outside of current FFT size)
- time-domain averaging for synced loopback measurements (details tbd, and the above will be important for block size calculations (to speed up averaging when blocksize*2^N is FFT size)
 

pma

Major Contributor
Forum Donor
Joined
Feb 23, 2019
Messages
2,600
Likes
4,906
Location
Prague
Averaging feature currently is repeating the whole sequence of silence-->warm-up-->aquire-->process.
It would be nice if the generator isn't stopped in between, to skip the subsequent warm-ups
REW can do this in stepped sine, if interval = 0 is chosen.
 
OP
pkane

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,852
Likes
4,824
Location
North-East
Some notes:

Averaging feature currently is repeating the whole sequence of silence-->warm-up-->aquire-->process.
It would be nice if the generator isn't stopped in between, to skip the subsequent warm-ups

Further it would be nice if overlapped segments of the data could be used, to speed up the FFT magnitude averaging itself.
The main point of averaging often is to bring the noise down and make it flatter in the FFT display.

Graphics glitches:
- Distortion panel disappears when the plot pane is dragged.
- Show 1/2 unchecked has no effect when a new measurement is started, both are displayed (until clicked twice).

Future development ideas:
- add bin number notation for frequencies in the custom config (and ignore bins outside of current FFT size)
- time-domain averaging for synced loopback measurements (details tbd, and the above will be important for block size calculations (to speed up averaging when blocksize*2^N is FFT size)

Thanks, Klaus! I've not intended for this to become a real product, this was a proof of concept for my own use until Matthias asked me to post it.

I guess now that I've done this, I'm on the hook to continue to fix and develop it :)

A few comments:
  • When dragging the plot, the distortion panel will disappear if you use the right-mouse button to drag. Use left mouse button, and the distortion panel will stay on the screen. Clicking right mouse button removes previously added annotations from the plot, one at a time, in the reverse of the sequence they were added
  • Averaging is currently all done in the time domain. In fact, Multitone will remove clock drift and align samples to sub-sample accuracy should there be differences detected between two successive captures
  • Since Multitone uses a pre-generated test signal (possibly using your own WAV files), it's hard to continue to measure without an interruption between runs. I'll see if I can figure out a way to smooth this over, but I suspect this will be hard to do in a general case
  • I can probably remove the warm-up step between averages, as the system should already be warm enough :)
Regards,

-Paul
 

KSTR

Major Contributor
Joined
Sep 6, 2018
Messages
1,854
Likes
3,982
Location
Berlin, Germany
I've not intended for this to become a real product...
Unterstood. I didn't mean to put you under any pressure ;-)

Averaging is currently all done in the time domain. In fact, Multitone will remove clock drift and align samples to sub-sample accuracy should there be differences detected between two successive captures
Ah, good to know. I already had a suspicion as the noise floor dropped but wasn't smoothed that much in the few averaging runs I did so far.
FFT mag smothing on top of that would be easy to implement: just copy the aquisition block after itself and then run a bunch of FFTs (~16 or so) in a sliding window fashion. That always helps to see the true components sticking out in a flatter noise floor.
 

Grooved

Senior Member
Joined
Feb 26, 2021
Messages
303
Likes
196
  • I can probably remove the warm-up step between averages, as the system should already be warm enough :)
Also thought of this, just a warm-up at the beginning of each measurement should be enough, but adding this first warm-up is great as I already saw strange first measure, and needed to stop and re-start the process to get correct measure from the first one.
Thanks again @pkane !

I will check it more closely but the only test I did with the last version show me a graph that was not matching the new dBr values on the right
 
OP
pkane

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,852
Likes
4,824
Location
North-East
Also thought of this, just a warm-up at the beginning of each measurement should be enough, but adding this first warm-up is great as I already saw strange first measure, and needed to stop and re-start the process to get correct measure from the first one.
Thanks again @pkane !

I will check it more closely but the only test I did with the last version show me a graph that was not matching the new dBr values on the right

The dBr values in the harmonics panel were actually dBFS in the previous version (even though they were labeled as dBr). That was a bug that was fixed in 1.0.11
 

Grooved

Senior Member
Joined
Feb 26, 2021
Messages
303
Likes
196
The dBr values in the harmonics panel were actually dBFS in the previous version (even though they were labeled as dBr). That was a bug that was fixed in 1.0.11
Yes, I saw that, they were not matching the dBr graph, and it's adjusting now, which is good, but I think that looked not the same in numbers on the right and in the graph; If I'm not wrong the graph in dBr is showing higher harmonic than in the value on the right.

EDIT : just ran a loopback on the motherboard internal audio chip on my computer and the value don't matches

In dBr, it looks like the numbers on the right are now adjusting, but the graph doesn't adjust anymore : H2 is at -89.3 in numbers, but around -95 in the graph (which is supposed to be adjusted as the peak at 1kHz is at 0 instead of -5

In dBFS, H2 is at -106 in the numbers and at -111/112 in the graph, so it looks like the numbers are already adjusting to the -5dB signal and the graph shows what was measured. Am I wrong ? Like the numbers are already showing dBr values
H3 is also at -88.9 while the graph shows -94 (so a perfect difference of -5.1dB from the signal. But what is strange is that the peak looks to be at -11 instead of -5.1

dBr :
dBr.PNG


dBFS :
dBFS.PNG
 
Last edited:
OP
pkane

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,852
Likes
4,824
Location
North-East
Yes, I saw that, they were not matching the dBr graph, and it's adjusting now, which is good, but I think that looked not the same in numbers on the right and in the graph; If I'm not wrong the graph in dBr is showing higher harmonic than in the value on the right.

EDIT : just ran a loopback on the motherboard internal audio chip on my computer and the value don't matches

In dBr, it looks like the numbers on the right are now adjusting, but the graph doesn't adjust anymore : H2 is at -89.3 in numbers, but around -95 in the graph (which is supposed to be adjusted as the peak at 1kHz is at 0 instead of -5

In dBFS, H2 is at -106 in the numbers and at -111/112 in the graph, so it looks like the numbers are already adjusting to the -5dB signal and the graph shows what was measured. Am I wrong ? Like the numbers are already showing dBr values
H3 is also at -88.9 while the graph shows -94 (so a perfect difference of -5.1dB from the signal. But what is strange is that the peak looks to be at -11 instead of -5.1

dBr :
View attachment 174096

dBFS :
View attachment 174097

Please update to the latest version 1.0.12 and see if that works better. There was a scaling bug introduced in the last release that affected FFT calculations. Hopefully fixed now!
 

Grooved

Senior Member
Joined
Feb 26, 2021
Messages
303
Likes
196
Please update to the latest version 1.0.12 and see if that works better. There was a scaling bug introduced in the last release that affected FFT calculations. Hopefully fixed now!
Perfect! You fixed both dBFS and dBr ;)

dBFS: values and graph show what is measured, and graph is perfect with the peak at -5.1dB and H matching the values in the right
dBr: graph adjusted to 0, and H adjusted as well, both graph and values on the right are adjusted

dBFS
1.0.12 dBFS.PNG


dBr
1.0.12 dBr.PNG
 
OP
pkane

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,852
Likes
4,824
Location
North-East
Perfect! You fixed both dBFS and dBr ;)

dBFS: values and graph show what is measured, and graph is perfect with the peak at -5.1dB and H matching the values in the right
dBr: graph adjusted to 0, and H adjusted as well, both graph and values on the right are adjusted

dBFS
View attachment 174103

dBr
View attachment 174104

Sometimes very simple changes affect everything else in unexpected ways :) Thank you for reporting the issue!
 

VintageFlanker

Major Contributor
Forum Donor
Joined
Sep 20, 2018
Messages
2,659
Likes
6,979
Location
Paris
Hey @pkane,

Since few days, Multitone stopped working, whatever the version I use (10.0.11 or 10.0.10).
Capture d’écran (753).png

This message occurs with either ASIO, WASAPI, DirectSound, whatever for input or output (E1DA Cosmos).

Just tested 1.0.12. Still the same. I've either this with ASIO (Matrix or Topping):

Capture d’écran (756).png


Or this with WASAPI:

Capture d’écran (757).png


Any thoughts?
 
OP
pkane

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,852
Likes
4,824
Location
North-East
Hey @pkane,

Since few days, Multitone stopped working, whatever the version I use (10.0.11 or 10.0.10).
View attachment 174201
This message occurs with either ASIO, WASAPI, DirectSound, whatever for input or output (E1DA Cosmos).

Just tested 1.0.12. Still the same. I've either this with ASIO (Matrix or Topping):

View attachment 174202

Or this with WASAPI:

View attachment 174203

Any thoughts?

For ASIO, did you set the output sample rate in settings? It needs to be selected for the rate that's supported by the driver.

For WASAPI, try switching between shared and not shared modes to see if it makes a difference.

1640262485109.png


What version of Windows are you using?


EDIT: Just noticed that you said it stopped working but was previously working. Did you try rebooting Windows?

Regards,

-Paul
 
Top Bottom