DiAna, a software Distortion Analyzer

Update

I'm still busy with the update, as some 6000 lines of code are involved. I'm not sure if it cures the issues with Wine. If it does that would be great. And if it doesn't cure, it's still worth all the effort, as I finally got rid of that ******* PropertySheet() function, which also causes so much other troubles. Using more basic window functions instead, the program is much cleaner, more straightforward and easier to maintain. Surprisingly, the program is even smaller.

Cheers, E.
 
New update available

Work on preference menus is finished and it seems to work now under Wine. I've also updated the calibration menu and added the possibility to select various amplitude units (fid. 2 and fig. 3)

Calibration is much simpler now: Just follow the instruction on the menu, measure the DAC output voltage and type the value in the appropriate field (see fig. 1).
(BTW: No need to reset the initial calibration factors to unity, as other factor are automatically taken into account)

To alter the amplitude unit: right click with the mouse on the 3rd pane of the status bar (fig. 2) and select one of five units (fig. 3).

The updated version (1.51.5), can be downloaded from my website as usual.

Cheers, E.
 

Attachments

  • Calib.png
    Calib.png
    10 KB · Views: 321
  • dBV-Show.png
    dBV-Show.png
    2.7 KB · Views: 322
  • dBv-Sel.png
    dBv-Sel.png
    2 KB · Views: 309
Bravo Edmond,
Very well calibration procedure.
For the:
2. Start monitor and adjust Amplitude to get an Input and Output level between cs 50 and 99%.

After the adjustment of Amplitude, must to press the Apply to see the change.
And the 50-99% is V-FS

Maybe it is more clear like that :
2. Start monitor and adjust Amplitude (press Apply) to get an Input and Output level between cs 50-99% (V-FS)

A quick loopback capture with the 1.51.5 version
 

Attachments

  • diana.jpg
    diana.jpg
    202.2 KB · Views: 321
Last edited:
Calibration

Hi Manolis,
Bravo Edmond,
Very well calibration procedure.
Thank you.
For the:
2. Start monitor and adjust Amplitude to get an Input and Output level between cs 50 and 99%.
After the adjustment of Amplitude, must to press the Apply to see the change.
And the 50-99% is V-FS
Maybe it is more clear like that :
2. Start monitor and adjust Amplitude (press Apply) to get an Input and Output level between cs 50-99% (V-FS)
[...]
Sure that would more clear, but there is simply not enough room for a longer sentence, except %FS instead of %. Besides, after some practice with this program, it should be clear to the user that he has to press Apply in order to make a new variable effective.

In order to avoid further confusion, I could disable the OK button, until all steps have been completed. Does it make sense?

Cheers, E.
 
Member
Joined 2004
Paid Member
I have some problems with the calibration still.
1) once you apply its baked and no way shown to restart from scratch
2) I started with the RTX in the 10V settings. Not entering the settings correctly ended up with nonsense.
3) If I enter them the apply button never becomes available.
4) I tried deleting the ini file but still the apply button was elusive.
5) On the RTX .75V gets .82V out. Since RTX is calibrating very carefully I'm not sure were the discrepancy in percent of output is.
 
@Demian,

This is embarrassing and it looks that something is totally corrupted.
Ad 1. You always should be able to start all over again, simply by pressing Cancel or switching to another preference page. Although it's not necessary, you may reset the cal. factor to 1 in the Sound card menu to really start from scratch.
Ad 2. Of course: garbage in, garbage out.
Ad 3. That's weird and that's why I think something is corrupted.
Ad 4. Dito.
Ad 5. Did you have measured the voltages with a calibrated voltmeter and compared them to the read-out of DiAna? Also, did you have checked whether the RTX is indeed carefully calibrated? If don't mind, I dare to ask you this, because the discrepancy (0.75 vs 0.82) looks to small to be created by a gross programming error.

Anyhow, I did not encounter the issues experienced by you, neither under W7 nor under W10.

Cheers, E.
 
Member
Joined 2004
Paid Member
edmond:
I'm confused as well. I tried deleting the ini file and I still had the issue with the apply button. It only appeared once. I'll try it on a different machine. I'll also try a test file of known levels through the RTX. There are good ones for download at the RME site.

The meter is quite accurate (6 1/2 digit Keithley 2015). This discrepency on level may relate to different definitions of full scale in digital audio. More explorations later today.
 
@Demian,

As for the calibration menu, the Apply button should only be enabled when another Channel is selected, a new variable is entered in the Frequency or Amplitude field or -provided the monitor function is started- a valid number in the DAC Voltage field. If the Apply button behaves differently, then something is totally wrong.

How about the other preference pages? No issues with the Apply button?

Cheers,
E.
 
For anyone struggling in Linux with WINE, here is what I've found:

1: It may be possible to use loopback mode if you install wineasio, but I haven't found a way to make it work. You can however load an input file.
2: All DLL overrides should be set to builtin (WINE default), especially comtl32. Otherwise the open file dialog fails. I suspect comdlg32 may be a valuable override but I haven't been able to test it due to bugs in WINE.
4: Don't click the fullscreen button. For some reason DiAna get buggy whenever you do. IF DiAna starts in fullscreen by default, unclick the fullscreen button and then do nothing but close DiAna. This will revert to unmaximized behavior.
 
Member
Joined 2004
Paid Member
@Demian,

As for the calibration menu, the Apply button should only be enabled when another Channel is selected, a new variable is entered in the Frequency or Amplitude field or -provided the monitor function is started- a valid number in the DAC Voltage field. If the Apply button behaves differently, then something is totally wrong.

How about the other preference pages? No issues with the Apply button?

Cheers,
E.

The apply button seems to work in the other pages.

I'll dig deeper and get back to you.
 
Member
Joined 2004
Paid Member
I found the key bug in the calibration- the entry must start with a number. If it starts with a decimal point the apply button never enables.

I did a few quick tests of the RTX calibration. Using a precision AC calibration source with ARTA displaying in dBFS 10.0000 V AC at 2.4 KHz registers -.02 dBFS at the input. That's pretty close. I'll check the specifics on DiAna but it seems there is something not matching.

It doesn't work with the EMU ASIO implementation or with the experimental implementation from QuantAsylum.
It does work with the Lynx L22 and RME 9632.
 
Calibration

Hi Demian,
I found the key bug in the calibration- the entry must start with a number. If it starts with a decimal point the apply button never enables.
That's easy to repair.
I did a few quick tests of the RTX calibration. Using a precision AC calibration source with ARTA displaying in dBFS 10.0000 V AC at 2.4 KHz registers -.02 dBFS at the input. That's pretty close. I'll check the specifics on DiAna but it seems there is something not matching.
To figure out what's wrong you might try a "manual" calibration, see below.
It doesn't work with the EMU ASIO implementation or with the experimental implementation from QuantAsylum.
It does work with the Lynx L22 and RME 9632.
Do you mean these sound cards doesn't work at all, or they has only issues with the calibration procedure?

Manual calibration:
In essence you can just put the full scale voltages of the ADC and DAC in the appropriate fields of the Sound card menu. If they are exactly known, it's an easy job and no further action is needed.

But to make sure if it really works that way, you may try the following:
Install a loop-back connection.
Select 10V on the RTX (I suppose this means 10Vrms at full scale, right?)
Set all calibration factors in the Sound card menu to 1.0
Set Amplitude in the Distortion menu to 0.5Vrms (or -6.02dBV). BTW, this corresponds with 70.71%FS (or -3.01dBFS).
Start the Monitor function
Now the DAC output voltage should be 5.0Vrms (otherwise something is wrong)
If okay, the DAC calibration factor is 5.0/0.5=10.0. Put this value in the DAC calibration fields, channel A, respectively channel B.

As for the ADC, look at the voltage displayed in the status bar (Vadc). If the RTX is correctly calibrated, this also should be 0.5Vrms and you can use the same factor for ADC calibration. If not equal, adjust the cal. factor by multiplying it by 0.5 / Vadc.

Cheers,
E.
 
I was wondering if you changed something. The result was that fullscreen mode didn't work at all. I click the button and the window remains the same size, but it is in this buggy limbo between maximized and unmaximized. Then if I close it I get several popups about drawing errors. I can still resize the window by clicking the lower left corner.

Also sometimes the cursor will move to a different location after clicking a button. For instance when I click the fullscreen button the cursor will move to where the fullscreen button should be in the maximized window. Or when I click OK in the preferences window the cursor will appear back at the Preferences button.