V5.20.12/V5.20.13 release

John Mulcahy

REW Author
Thread Starter
Joined
Apr 3, 2017
Messages
7,212
V5.20.12 has now been released, these are the changes since V5.20.9 (V5.20.10 and 5.20.11 were early access builds).
V5.20.13 has a bug fix for an issue saving new measurements with a loaded set of existing measurements.

Audio interfaces

The Windows-x64 build has a new JavaSound provider, courtesy of Pavel Hofman, which allows direct access to WASAPI exclusive devices. The Linux AMD64 build has a new JavaSound provider, again courtesy of Pavel, which allows direct access to ALSA PCM devices.

Pro upgrade: The RTA input level calibrate button allows calibration of the full scale input voltage for any or all of the current input channels

Frequency meter: There is now a frequency meter in the Tools menu which uses a form of reciprocal counting with interpolation and averaging on oversampled data to measure the average frequency of the measurement input. The minimum frequency is approximately 10 Hz, minimum input level for reliable readings is approximately -60 dBFS. Note that although the meter has 0.01 Hz precision it is only as accurate as the ADC clock.

54927



Loopback cal: A new timing reference option has been added to use a loopback connection for both timing and to compensate for the measurement system loopback frequency response. That would typically be compensating for the measurement system's own roll-offs when a straight loopback is used, but it is also open to more creative use by modifying the response of the loopback path. When this option is being used the loopback path can either be used to generate a soundcard calibration for the measurement, allowing the loopback response to be removed in future if desired, or merged into the impulse response producing an impulse that includes the corrections to compensate for the loopback response.

54928



Virtual balanced input: There is a Virtual balanced input option on the soundcard preferences, Measure dialog and RTA input selection dialog. When selected this subtracts a second input from the measurement input and scales the result by 0.5 to simulate the behaviour of a balanced input. It is appropriate if the balanced input is being driven by an inverted signal (such as by selecting the Invert second output option on the signal generator).

54929



Multitone
  • The stepped sine test options now include Multitone TD+N, the test uses the multitone signal as configured on the REW signal generator at the time the test is run.
  • When a multitone RTA measurement is saved the Distortion graph now shows the fundamental, noise floor (if available) and TD+N results vs frequency.
  • Multitone TD+N figures are now available using any window type, but a Rectangular window is required for the most precise results (which needs the same clock source for signal generation and capture)
  • When a multitone is being measured with a Rectangular window (required for precise results) the RTA can check for any clock rate error in the captured data, if that option is selected in the Distortion settings.
54930



RTA
  • The RTA THD+N, N and N+D figures are no longer affected by coherent averaging and remain correct based on magnitude (rms) averaging. Coherent averaging only affects the THD and harmonic level figures.
  • An option has been added in the RTA controls to automatically restart RTA capture and clear averaging if the signal generator is started or is running and its settings are changed while using the RTA.
Trace arithmetic

Trace arithmetic has a few new features:
  • There is an optional regularisation factor to use during trace arithmetic division or inversion and optional frequency limits can be set to apply to the operation. The regularisation factor avoids problems from very low levels in the divisor, limiting the boost they would otherwise cause.
  • There is a target level to use with the trace arithmetic inversion operation, with an option to set the level automatically based on the average level of the measurement. That adjusts the inverse to present it relative to the desired level. If the target level is not used the levels of the results of 1/A and 1/B trace arithmetic operations are adjusted so that the level of the response being inverted is retained when multiplied by the inverse.
  • An option has been added to exclude parts of the response that look like notches from the trace arithmetic inversion operation.
  • If trace arithmetic is carried out on one measurement with an impulse response and one without the result will have an impulse response. This could be used to apply a target response adjustment to an IR, for example.
  • An A * B conjugate trace arithmetic operation has been added, which corresponds to a cross-correlation.
  • The IR windows for the result of a trace arithmetic division operation are set to cover the full span of the response.
As an example of how some of those features might be used, a measurement could be inverted to a target magnitude response shape by dividing the measurement by the desired target magnitude then 1/A inversion with regularisation and suitable frequency limits on the result could be used to generate a convolution filter that will invert the original measurement to the desired target shape. The result of the regularised inversion could be exported and used in a convolution engine, such as that offered by Equalizer APO.

Merge cal data to IR: There is a new measurement action on the All SPL graph to merge a measurement's cal files into its impulse response, producing a new measurement without cal files.

54931



Room simulator: Phase has been added to the room simulator response exports

Signal generator
  • The signal generator square wave now has an option to band limit the sample values produced by the square wave generator instead of generating the classical flat sample sequence. When this option is used REW generates the data by summing the constituent harmonics of the signal up to half the sample rate. This avoids out-of-band content in the raw data, though the even-sample restriction REW applies to data that is not band limited mean the audible difference is small for the 50% duty cycle case. Note that the band limited signal may clip up to 1.5 dB sooner as the overshoots inherent to the band limiting of sampled data appear in the sample values rather than being inter-sample for the equal-valued case. However, the band-limited data will have less overshoot when converted to analog. The frequency constraint for band limited data is much less strict than for equal-valued data, which forced the period to be an even number of samples, but for efficient signal generation the exact frequency used will chosen so that the data values repeat within at most 8192 samples. The frequency used will usually be within 0.1% of the requested frequency, but the minimum frequency is 5.4 Hz at 44.1 kHz sample rate and proportionately higher at higher sample rates. Dither should be applied when using the band limited option to avoid artefacts due to quantisation, it isn't relevant for the equal-valued case which only has two sample values.
  • The signal generator now has a sawtooth option, band-limited or idealised.

Minor updates
  • The IR delay estimation has been prevent from producing results that place the response peak before t = 0, which could occur if a later part of the response correlated better with the minimum phase response.
  • When the impulse response t=0 position is changed the data is no longer resampled to place t=0 at a sample instant, only the axis start time is updated.
  • A Ctrl+Alt+P shortcut has been added to move the IR peak to 20% of the way across the Impulse graph as a quick way to locate the peak when zoomed in.
  • There is now a settings button for the mic cal data entries in the Cal files preferences which brings up a dialog with fields to directly enter the SPL scaling or full scale sine Vrms for each input. For microphones with sensitivity entries in their cal files the SPL fields (input dBFS for 94 dB SPL and SPL at full scale input) are displayed but are not editable.
  • There is now a View preference to show the dB/decade aspect ratio of frequency response graphs in the bottom right corner when the cursor is over the graph. There are also View preferences to apply a selected aspect ratio when a frequency span preset button is pressed by adjusting the vertical span of the graph.
  • V/sqrt(Hz) Y axis unit options have been added to the SPL & Phase and Overlay SPL graphs to allow viewing of amplitude spectral density results for captured RTA measurements. Amplitude spectral density is only available for RTA measurements.
  • An extra digit has been added to displayed voltage values
  • The measurement protection settings have been moved to the left side of the Measure dialog.
  • Trace highlighting when the mouse cursor is over the trace name in the legend has been made more prominent and the trace name is shown on the graph, a new View preference controls whether the highlighting uses a thicker trace
  • Negative slopes are allowed in the EQ target room curve settings
  • Added a soundcard preference to treat 32-bit sample formats as carrying 24-bit data
  • Allow a broader range for the speed of sound setting to accommodate media other than air
  • REW retains the last 7 days of measurements in a temp folder, deleting any older than 7 days on startup. If REW did not shut down normally it will offer to load any measurements that were made since it last started up.
  • Added check boxes in the FlexASIO control panel for exclusive mode when using WASAPI
  • Expanded the audio input data bit depth detector to 32 bits
  • The RTA can monitor the input-output clock rates when capturing FFT-locked sine signals
  • The ASIO input and output formats are shown separately at the bottom of the main window
  • Doubled the scope buffer duration
  • If the sweep end is at half the sample rate keep it at half the sample rate when the sample rate changes
  • Added an export menu entry and Filter tasks action to save EQ filter settings as a formatted text file with a header and using the Export text delimiter to separate field
  • Added a button on the EQ filters panel to copy the filter settings to the clipboard in a text format that can be pasted into a spreadsheet
  • Allow noise floor to be exported when exporting sweep measurement distortion data as text
  • Changed default channel order for output so BL and BR appear before SL and SR
  • Warn if a cal file has a Sens Factor entry but the input is not a recognised USB mic
  • On the Distortion overlay graph show the selected parameter in the bottom left corner of the graph instead of in each trace name
  • Added an image capture option to put the measurement name in the image comment and an option to use the measurement name as the default filename for the saved image
  • The legend panel on overlay graphs (including All SPL) can be resized by dragging its top border
  • Added new right click entries for the legend panels of overlay graphs:
    • Set all selected measurements to a chosen colour
    • Save the selected measurements to a file
    • Remove the selected measurements

Bug fixes
  • The signal generator measurement sweep duration figure may not update correctly to reflect the wave sample rate when configuring a sweep to save to file
  • Control of input volume was always enabled when an input device was selected
  • Scope channel settings popup remained visible after bringing up the trace colour dialog
  • Impulse responses imported from text files were not padded to a power of 2 length
  • RT60 and clarity values did not appear in Overlay graph legends unless the measurements had first each been individually selected in the main REW window
  • Distortion data export as text did not work for stepped IMD measurements
  • Mic cal files entries for Java driver devices using per-channel cal had a redundant "Default input" entry as the last channel
  • Stepped measurements with SPL as the Y axis would generate an exception
  • Use double precision calculations for the input high pass option to avoid rising LF noise floor
  • EQ target match did not properly allow for any crossover filters that had been assigned
  • Typo in multitone NID factor table: 1, 5, 12 should have been 1, 5, 13
  • Array index out of bounds when performing trace arithmetic on measurements with different sample rates if the lower rate measurement has a very long window
  • Room sim reference data assumed room itself does not change (e.g. absorptions) so capturing an image could reset the reference trace to correspond to the latest settings
  • Exporting the min phase IR with Apply windows selected did not use the left window setting
 
Last edited:

Clayton Williamson

New Member
Joined
May 25, 2017
Messages
19
On the maiden voyage of 5.20.12, I got an error message I haven't seen before while trying to save. This was an mdat file created in 5.20.09, which was opened in 5.20.12 and appended with a number of new measurements Any suggestions? Thanks in advance!
55110


REW V5.20.12 running Oracle Corporation JRE 1.8.0_291 64-bit on Windows 10 Locale: language en, keyboard US, windows-1252 at 96 DPI

Message:
java.lang.NullPointerException
Stack Trace:
roomeqwizard.zD.A(y:5208)
roomeqwizard.zD$23.actionPerformed(y:3420)
javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
javax.swing.DefaultButtonModel.setPressed(Unknown Source)
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
java.awt.Component.processMouseEvent(Unknown Source)
javax.swing.JComponent.processMouseEvent(Unknown Source)
java.awt.Component.processEvent(Unknown Source)
java.awt.Container.processEvent(Unknown Source)
java.awt.Component.dispatchEventImpl(Unknown Source)
java.awt.Container.dispatchEventImpl(Unknown Source)
java.awt.Component.dispatchEvent(Unknown Source)
java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
java.awt.Container.dispatchEventImpl(Unknown Source)
java.awt.Window.dispatchEventImpl(Unknown Source)
java.awt.Component.dispatchEvent(Unknown Source)
java.awt.EventQueue.dispatchEventImpl(Unknown Source)
java.awt.EventQueue.access$500(Unknown Source)
java.awt.EventQueue$3.run(Unknown Source)
java.awt.EventQueue$3.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
java.awt.EventQueue$4.run(Unknown Source)
java.awt.EventQueue$4.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
java.awt.EventQueue.dispatchEvent(Unknown Source)
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.awt.EventDispatchThread.run(Unknown Source)
 
Last edited by a moderator:

John Mulcahy

REW Author
Thread Starter
Joined
Apr 3, 2017
Messages
7,212
Thanks for the report Clayton, sorry about that. I have fixed it in 5.20.13. The measurements you made will be in the temp folder of the REW log files folder, C:\Users\<your username>\REW\temp
 

jtalden

Senior Member
Joined
May 22, 2017
Messages
887
Location
Arizona, USA
More  
Preamp, Processor or Receiver
Marantz AV7705 Pre/Pro
Main Amp
VTV 6 chnl NC252MP P-amp x 2
Additional Amp
Behringer DCX2496 x 2
Universal / Blu-ray / CD Player
OPPO BDP-103 Universal Player
Front Speakers
DIY SEAS H1456/H1212 Spkr x 5
Subwoofers
DIY JBL 2235H 15" SW x 2
Video Display Device
JVC DLA-X790R
Screen
Da-Lite Da-Snap 39105V - 92"
John, the graph aspect ratio does not provide the 10dB/Dec expected value in these examples:
55120


Reducing the size of that same window results in a different value:
55121
 

John Mulcahy

REW Author
Thread Starter
Joined
Apr 3, 2017
Messages
7,212
Aspect ratio settings are applied when the frequency range buttons in the bottom right of the graph are used, the vertical scale is adjusted to achieve the desired ratio. They are a one-time adjustment, if the graph size changes click the button again to reapply.
 

jtalden

Senior Member
Joined
May 22, 2017
Messages
887
Location
Arizona, USA
More  
Preamp, Processor or Receiver
Marantz AV7705 Pre/Pro
Main Amp
VTV 6 chnl NC252MP P-amp x 2
Additional Amp
Behringer DCX2496 x 2
Universal / Blu-ray / CD Player
OPPO BDP-103 Universal Player
Front Speakers
DIY SEAS H1456/H1212 Spkr x 5
Subwoofers
DIY JBL 2235H 15" SW x 2
Video Display Device
JVC DLA-X790R
Screen
Da-Lite Da-Snap 39105V - 92"
Tried that and got about 5.5dB/dec instead of 10dB/dec. Maybe my system graphics settings have an impact?
55122
 

John Mulcahy

REW Author
Thread Starter
Joined
Apr 3, 2017
Messages
7,212
You're being caught by a common misconception, I think. The aspect ratio is shown above the frequency range buttons, it is exactly 10 dB/decade. That doesn't mean the vertical span is 10 dB, the vertical span in dB will depend on the height of the graph. If you have a one decade frequency span as your example shows and the height was the same as the width it would then span 10 dB, if the height is half the width it would only span 5 dB - it would still have the correct aspect ratio. The aim of the IEC263 standard is to ensure consistent proportions, so if graphs had the same frequency axis span (20 Hz to 20 kHz, say) and physical width and the same aspect ratio (10 dB/decade, say) their appearance would be the same for an SPL span of 5 dB or 20 dB, only the height of the graph would be proportionately different. Nonetheless, the same response plotted on each would exactly overlay, because they have the same width and aspect ratio.
 

jtalden

Senior Member
Joined
May 22, 2017
Messages
887
Location
Arizona, USA
More  
Preamp, Processor or Receiver
Marantz AV7705 Pre/Pro
Main Amp
VTV 6 chnl NC252MP P-amp x 2
Additional Amp
Behringer DCX2496 x 2
Universal / Blu-ray / CD Player
OPPO BDP-103 Universal Player
Front Speakers
DIY SEAS H1456/H1212 Spkr x 5
Subwoofers
DIY JBL 2235H 15" SW x 2
Video Display Device
JVC DLA-X790R
Screen
Da-Lite Da-Snap 39105V - 92"

thothsong

Member
Joined
Jun 29, 2021
Messages
388
In V5.20.13, when hovering the mouse over the Noise floor legend in Distortion, there's a stray html tag:
55155

There's also one when hovering over THD.
 

lasoundguy

Registered
Joined
Oct 4, 2022
Messages
2
hey there. running into a bug importing sweep recordings. I select the stimulus file, then the response file, I see the waveform in the response pane, then it throws the error. this was working ok in previous version fwiw.

Cheers, let me know if I can provide any additional information that's useful.

REW V5.20.13 running Azul Systems, Inc. JRE 1.8.0_332 64-bit on Windows 10 Locale: language en, keyboard US, windows-1252 at 96 DPI


Message:
java.lang.NullPointerException
Stack Trace:
roomeqwizard.mD.A(y:3397)
roomeqwizard.mD.A(y:1616)
roomeqwizard.mD.A(y:2347)
roomeqwizard.VF$_A$5.run(y:1403)
 

John Mulcahy

REW Author
Thread Starter
Joined
Apr 3, 2017
Messages
7,212
Thanks for the report, I have fixed it for the next build. There isn't a workaround, sorry, you'll need to revert to the previous build.
 

bonjean Eloise

Registered
Joined
Apr 4, 2018
Messages
1
Location
France Lyon
More  
Preamp, Processor or Receiver
Tascam UH-7000; HK Citation 21; Yamaha MG16XU
Main Amp
Yamaha M65 + 2 x M-70 + Yamaha RX-V 1600, USA900
Additional Amp
HK citation24
Other Amp
HK AVR 745
Universal / Blu-ray / CD Player
HK DVD-47
Front Speakers
Klipsch RF-63 ; JBL 2360A ; JBL 2441
Front Wide Speakers
JBL 2402;JBL2404
Surround Speakers
BOSE 201 mk ii; BOSE 601
Front Height Speakers
YAMAHA NS-1000; B&W 802 S1;
Subwoofers
YAMAHA
Other Speakers or Equipment
JBL2451 J; SEAS tweeter 27TBCD_GB-DXT-6; Fostex 96
I Downloaded new version, amazing new functions, again improved interface, great job !
I will use it to test a RR magnetophone I just bought (AKAI GX-650D 1976 ?), I will elaborate a procedure.
 

btree87

Registered
Joined
Jun 9, 2020
Messages
8
I've recently upgrade from REW v5.20.4 to v5.20.13. I've noticed startup now takes approx. 2 min 20 secs before the home window becomes responsive. Is this typical? I checked log files in 'C:\Users\{computer_acct}\REW' and found this in the 'rewoutput.txt' file:

REW V5.20.13 startup on Nov 5, 2022 7:12:11 AM
07:12:14.327 [AWT-EventQueue-0] INFO SimpleMixerProvider - No usable property csjsoundRates found, will use default rates: [44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000, 1411200, 1536000]
07:12:14.328 [AWT-EventQueue-0] INFO SimpleMixerProvider - No usable property csjsoundChannels found, will use default channels: [1, 2, 4, 6, 8, 10, 12, 14, 16]
07:12:14.328 [AWT-EventQueue-0] INFO SimpleMixerProvider - Both default rates and default channels used, will use maximum combined limit: rate 384000 vs. channels 8
Exception while removing reference.


In the 'csjsound-lib.log', I found these appearing multiple times each:

12:12:14.4096257 ERROR [src\lib.rs:165] Java_com_cleansine_sound_provider_SimpleMixer_nGetFormats: get_fmts failed: Error { code: 0x800401F0, message: CoInitialize has not been called. }

12:12:14.4261278 ERROR [src\lib.rs:444] Java_com_cleansine_sound_provider_SimpleMixerProvider_nGetMixerCnt: Getting DeviceCollection failed: Error { code: 0x800401F0, message: CoInitialize has not been called. }

12:14:37.273267 ERROR [src\lib.rs:216] Java_com_cleansine_sound_provider_SimpleMixer_nOpen: open_dev failed: DeviceError { desc: "PB: error: CoInitialize has not been called." }


Could something in any of those be causing the long startup delay? Or something else?

Setup Info:

Nov 05, 2022 7:12:11 AM roomeqwizard.RoomEQ_Wizard main
INFO: REW V5.20.13 running Oracle Corporation JRE 1.8.0_251 64-bit on Windows 7
Locale: language en, keyboard US, windows-1252 at 96 DPI
Nov 05, 2022 7:12:14 AM roomeqwizard.RoomEQ_Wizard$6 run
INFO: Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz
Nov 05, 2022 7:14:37 AM com.synthbot.jasiohost.AsioDriver <clinit>
INFO: Loaded jasiohost64.dll

(((Excellent program, by the way, with or without the startup delay!)))
 
Last edited:

John Mulcahy

REW Author
Thread Starter
Joined
Apr 3, 2017
Messages
7,212
No, not typical. The SimpleMixerProvider info messages are normal, the error message are not. @phofman may have some idea what the error messages are about.
 

phofman

Member
Joined
Jun 26, 2019
Messages
133
Does that line "Exception while removing reference." in rewoutput.txt' continue with a stack dump and more info? If so, please post here. Thanks.
 

btree87

Registered
Joined
Jun 9, 2020
Messages
8
Does that line "Exception while removing reference." in rewoutput.txt' continue with a stack dump and more info? If so, please post here. Thanks.

Nothing follows it. It's actually the last line of the rewoutput.txt file.

I tried uninstalling v5.20.13 and reinstalling it. Same issue, takes about 2 mins 20 secs to become responsive. So, uninstalled v5.20.13 and installed v5.20.9. The older v5.20.9 doesn't have any delays with becoming responsive when started. It's immediately functional.
 
Last edited:

John Mulcahy

REW Author
Thread Starter
Joined
Apr 3, 2017
Messages
7,212
Does that line "Exception while removing reference." in rewoutput.txt' continue with a stack dump and more info? If so, please post here. Thanks.
You can ignore that, it is just the garbage collector cleaning up during shutdown.
 

btree87

Registered
Joined
Jun 9, 2020
Messages
8
csjsound-lib.log is attached in zip file
 

Attachments

  • csjsound-lib.zip
    828 bytes · Views: 16
Top Bottom