REW Beta Release REW API beta releases

Hi John,

I recently updated to beta 117 and am getting the following error when I enter the measurment screen?

REW V5.40 Beta 117 running Eclipse Adoptium JRE 11.0.29 64-bit on Windows 11 Language en, country US, keyboard US, windows-1252 Screen 1536 x 864 at 120 DPI Running in C:\Program Files\REW

Message:

java.lang.NullPointerException

Stack Trace:

roomeqwizard.components.TC.A(y:90)

roomeqwizard.audio.A$17.run(y:5222)

java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)

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.pumpEventsForFilter(EventDispatchThread.java:117)

java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)

java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)

java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)

java.base/java.security.AccessController.doPrivileged(Native Method)

java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)

java.desktop/java.awt.Dialog.show(Dialog.java:1070)

java.desktop/java.awt.Component.show(Component.java:1716)

java.desktop/java.awt.Component.setVisible(Component.java:1663)

java.desktop/java.awt.Window.setVisible(Window.java:1031)

java.desktop/java.awt.Dialog.setVisible(Dialog.java:1005)

roomeqwizard.components.VC.setVisible(y:1459)

roomeqwizard.components.FA.setVisible(y:6384)

roomeqwizard.RA.A(y:3339)

roomeqwizard.components.E$26.actionPerformed(y:683)

java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)

java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)

java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)

java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)

java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)

java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)

java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)

java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)

java.desktop/java.awt.Component.processEvent(Component.java:6400)

java.desktop/java.awt.Container.processEvent(Container.java:2263)

java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)

java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)

java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)

java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)

java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)

java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)

java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)

java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)

java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)

java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)

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.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)

java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)

java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)

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:742)

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)
 
Last edited by a moderator:
Builds updated today (beta 118) with these changes:
  • Added: In-app help has French translations courtesy of Eric Massicotte
  • Changed: Default setting for Filter adjust graph invert filter response changed to off
  • Fixed: Impedance equivalent circuit phase trace should only be plotted when the measured phase trace is selected
  • Fixed: Null pointer exception could occur if the Java input data format was float
 
If you make a change try the reload driver button on the soundcard preferences.

this work too, a faster way is click on measure button, click cancel(when not want measure). then change the buffer in uad audio. now after change of buffer REW bring the requester
device request.jpg


and it use the buffersize set in console. later every buffer change is recognize from REW
 
Hi
It was nice feature to get a standard ISO 31 band equalizer added. The difference to what is in Symmetrix or /Herz is that is ISO frequences are fixed.. (And the moving setup bubbkes are good)

Some car radios (maker name like "sapper") have these as a build in. It is a easy and economic way to get used to the equalizers.

Car radio is a very good amplifier to be used in portable measuring set. (12V, aux in, rca in around 30W noe and 31b equalizer
 
Volt cal massege window have some wrong.
 

Attachments

  • 螢幕擷取畫面 2026-03-03 154332.png
    螢幕擷取畫面 2026-03-03 154332.png
    13.4 KB · Views: 19
Volt cal massege window have some wrong.
What should it show?

Currently:
zh_TW:
CALIBRATE_LEVEL_TITLE=校正電壓值
CALIBRATE_BUTTON=校正
CALIBRATE_LEVEL_PROMPT=建議最好使用有標示True RMS的電壓表或是示波器來得到數據<br> \
設定訊號大小值訊號值 (例如,-6dBFS)並按下綠色三角的訊號產生按鍵.<br> \
產生訊號,並讀取電壓值及頻率後.

zh:
CALIBRATE_LEVEL_TITLE=校准電壓
CALIBRATE_BUTTON=校准
CALIBRATE_LEVEL_PROMPT=建议使用TrueRMS万用表或示波器以获得准确数据.<br>\
设置合适的信号电平(例如-6dBFS)并按下信号播放按钮。<br>\
读取电压值和频率后,在下方输入测量结果。<br>
 
What should it show?

Currently:
zh_TW:
CALIBRATE_LEVEL_TITLE=校正電壓值
CALIBRATE_BUTTON=校正
CALIBRATE_LEVEL_PROMPT=建議最好使用有標示True RMS的電壓表或是示波器來得到數據<br> \
設定訊號大小值訊號值 (例如,-6dBFS)並按下綠色三角的訊號產生按鍵.<br> \
產生訊號,並讀取電壓值及頻率後.

zh:
CALIBRATE_LEVEL_TITLE=校准電壓
CALIBRATE_BUTTON=校准
CALIBRATE_LEVEL_PROMPT=建议使用TrueRMS万用表或示波器以获得准确数据.<br>\
设置合适的信号电平(例如-6dBFS)并按下信号播放按钮。<br>\
读取电压值和频率后,在下方输入测量结果。<br>
yes , but massage windows size too small, so , like attach pic .
 
John, hi. I measure impedances. Before calibration, I check the levels in the Preferences, Soundcard window. There are 4 cases where the levels are different.
Driver ASIO-use main speaker test signal
Driver ASIO-use subwoofer test signal
Java driver - use main speaker test signal
Java driver - use subwoofer test signal.
Second question, the character encoding is broken. In the picture. But not everywhere. Another time it was in the name of one measurement, on the left in the main window, where all measurements are in the form of small windows.
 

Attachments

  • asio main.PNG
    asio main.PNG
    72.9 KB · Views: 13
  • asio sub.PNG
    asio sub.PNG
    73.8 KB · Views: 10
  • java main.PNG
    java main.PNG
    75.6 KB · Views: 11
  • java sub.PNG
    java sub.PNG
    76.1 KB · Views: 11
  • translate error.PNG
    translate error.PNG
    11.3 KB · Views: 13
Input level is the same for all
The output level for Java and ASIO was different for me before when I had Windows 7. The difference was 0.06 dB. On Windows 10 this is preserved for ASIO+main. But the difference between ASIO+main and ASIO+sub is 3.8 dB. Is this really a question for the ASIO driver?
Input levels differ by 0.05 dB for main and sub options. Doesn't this matter for impedance measurements? Which test signal should I use to check impedance levels, main speaker or sub? It seems to me that there should be no test signal selection for impedance measurements. There should always be one test signal.
 
I recently purchased the miniDSP UMIK2 and installed the driver into my test laptop. REW recognized it right away and I had no trouble using it for a day now. I use FlexASIO for my Scarlett 2i2 output with the mic as input. That works well. I've noticed an issue in graphs since switching to using a mic for SPL measurements. Rather minor, but I thought I'd report it.

I had an SPL measurement from a different setup that had an uncalibrated SPL, so it has a large offset from the UMIK2 calibrated graph. I used the right-click SPL Offset option to add data to the uncalibrated curve and overlay the two in the main window All SPL. I also clicked "Add to data" as I noticed it dropped back down when another measurement was clicked. On the main window graph that worked. But on the Overlays graph the modified data graph still showed the original SPL curve, not the data-modified curve. A minor issue, but if one is comparing graphs, especially for capture, it would be better to have the two graphs display the level identically if Add to Data is selected.

I just noticed as well that the offset option exists in the overlay graph. Adding data there to the overlay to align levels changes the level in the main window, but not the overlay. The offset seems to only work one way, in the main window. The overlay option changes the graph in the main window only.
 
I opened overlay window, placed side by side with the main window, and watched adjusting SPL offset affecting both main window and overlay, without needing to add the offset to the original data. Same result if the offset it applied in the overlay window. Likely overlay window was set to something like dBFS scale which won't be affected by SPL offsets.
 
John, after the second impedance calibration step, the level value becomes -3.01 dB. Although before that I set -9.7 dB in the measurement window, and took the first calibration step.
 
Back
Top