IMD Measurements: "Generator" vs "Input" Level Discrepancy

This message now appears when trying to open a two-tone spectrum made in an older version in beta 116. The same thing happens in beta 115. Is this behavior intentional, meaning that now it will be impossible to open old measurements?
1771136427327.png
 
Last edited:
If you take a screenshot of RTA using the light color scheme in the screenshot settings while using the app's light theme, the Spectrum graph appears black. However, if the Dark theme is enabled, the Spectrum graph appears light gray. Is this by design or is it a bug?
 
This message now appears when trying to open a two-tone spectrum made in an older version in beta 116. The same thing happens in beta 115. Is this behavior intentional, meaning that now it will be impossible to open old measurements?
No, it is not intentional. Saved RTA IMD measurements with beta 115 and beta 116 have a refactoring error making them incompatible with earlier versions. I will fix it in beta 117, but that means versions before 115 and versions from 117 onwards will not be able to open files with RTA IMD measurements saved from 115 or 116.
 
Last edited:
When I open Stepped measurement window, it always stays on top of others by default. Can I disable this behavior?
 
No. The stepped sine dialog is owned by the RTA window, Java forces owned dialogs to always appear on top of their parent. That makes sense if the dialog is modal (i.e. you cannot interact outside it), but not really when the dialog isn't modal. The stepped sine dialog is not modal, but telling it not to stay on top has no effect because of Java's underlying behaviour.
 
Is it normal for the peak of the filters generated by the application with the same gain to drop lower and lower in dBr scale as the quality factor decreases?
Peak filter 1000 Hz +10 dB with different Q values.jpg
 
REW V5.40 Beta 119 running Eclipse Adoptium JRE 11.0.29 64-bit on linux 6.18.7-surface-1 Language uk, country UA, keyboard UA, UTF-8 Screen 3840 x 2160 at 168 DPI Running in /opt/REW


Message:
java.lang.reflect.InvocationTargetException
Stack Trace:
java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1367)
java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1342)
roomeqwizard.RoomEQ_Wizard.main(y:3515)
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.base/java.lang.reflect.Method.invoke(Method.java:566)
com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84)
com.install4j.runtime.launcher.UnixLauncher.start(UnixLauncher.java:71)
install4j.roomeqwizard.RoomEQ_Wizard.main(Unknown Source)
Caused by:
java.lang.IllegalArgumentException: Mixer not supported: Port E2x2 [hw:1], version 6.18.7-surface-1
Mixer not supported: Port E2x2 [hw:1], version 6.18.7-surface-1
java.desktop/javax.sound.sampled.AudioSystem.getMixer(AudioSystem.java:210)
roomeqwizard.audio.A.A(y:1585)
roomeqwizard.audio.A.ă(y:1073)
roomeqwizard.preferences.C$36.actionPerformed(y:1008)
java.desktop/javax.swing.JComboBox.fireActionEvent(JComboBox.java:1264)
java.desktop/javax.swing.JComboBox.setSelectedItem(JComboBox.java:589)
java.desktop/javax.swing.JComboBox.setSelectedIndex(JComboBox.java:624)
roomeqwizard.audio.A.A(y:171)
roomeqwizard.audio.A.C(y:2090)
roomeqwizard.audio.A.J(y:1550)
roomeqwizard.RoomEQ_Wizard$10.run(y:3067)
java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
java.base/java.security.AccessController.doPrivileged(Native Method)
java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
 
The AudioSystem getMixer method will throw that "mixer not supported" exception if it cannot find any audio mixers that match the requested mixer description. The list of mixer descriptions is retrieved from the AudioSystem class itself, so for the error to occur a mixer that had previously been identified as present has somehow disappeared. Perhaps an interface had been put to sleep by the OS? The same error came up on Windows a couple of times in 2020, in those cases a reboot fixed it.
 
1773930479472.png

Currently, the setting called "stop at distortion limit" works as follows: as soon as the distortion level falls below the specified value, in my case 0.32, the distortion level is monitored, and if this level exceeds the specified value again, the test stops. The problem with this approach is that the intermodulation distortion graph deviates slightly from a perfectly straight line with each subsequent step, so even if there isn't a significant jump in distortion, such as clipping, the test will stop. Changing the test stop level to a higher or lower value won't solve the problem. Is there a different way to solve this problem, for example by modifying the algorithm for stopping the test when a certain distortion level is reached?
 
It would seem that would only be an issue if distortion levels at the start of the test are higher than those at the end of the test, so starting the test at a later point in the sequence would be a solution.
 
Back
Top