Compression/linearity measurements in offline mode

moij

New Member
Thread Starter
Joined
Jun 9, 2017
Posts
20
How to measure compression (actually input level vs. output level linearity) with REW and mic and in offline mode?
Stepped sine measurement on RTA works only in online mode, signal cannot be saved to file and used in offline mode.
 
It wouldn't be practical using a stepped sine approach, each signal would need a synchronisation tone and the whole procedure would be pretty tedious. A more practical approach would perhaps be an adaptation of the "Level sweep" approach (Fast distortion measurements in relation to frequency and level) though that has limitations at levels approaching full scale. I don't have any plans for that, however. If you were to create a test signal with a tone that ramped in level, capture that after playback through the system, import the capture as audio data and then look at a slice through the spectrogram of the import that would give a similar result for the level. Alternatively make a series of offline sweep measurements at different levels and examine the behaviour over the sweep responses at the frequencies of interest.
 
This seems little difficult and time consuming to implement with current functions existing in REW.

I have one more related request.
REW is missing function to display stepped sine measurements on Overlays.
 
I guess you mean stepped in level? You can display stepped level sine measurements on the distortion overlay.
 
Yes, I mean stepped level sine measurements, but there can be displayed only THD, not Input vs.output level lines and Linearity lines.
 
I have added Level and Linearity overlays in the next beta build.

I see too level and linerity buttons in overlays. but how should i measure ?. i see only empty page when i switch to linearity and level. in manual are the linearity and level buttons not add https://www.roomeqwizard.com/help/help_en-GB/html/overlays.html

In this measure i measure 2 volumes with ramped levels but it did no results show in overlays linearity . https://www.avnirvana.com/threads/i...her-resolution-as-the-t60m.16397/#post-122162
 
Those graphs are for stepped sine measurements.
RTA:
I see only the steped sine in RTA. I test it with that settings and 3 levels. overlays show no level no linearity curve. Are the settings ok ?. later when it work i can do more levels. but with 3 levels it should be show anything ?
A big problem i have with stepped sine, because i get crackles sometimes(~2 times per minute). I have the uad apollo solo USB 3 and use ASIO . the apollo have no asio settings. so the ASIO buffer size need set from program that use ASIO. what buffer size REW use to init Asio ?. with DAW the latency is excellent 64 samples 2,56 ms work on heavy CPU load. but i use 512 samples in DAW(studio one) which is 10 ms. I think the make a measure requester work much better as the generator or RTA step sine because on sweep i nearly never get a buffer crackle. the java sound did not work good, so i need always use ASIO


stepped sine.jpg
 
The Level and Linearity graphs are for stepped level measurements, not stepped frequency.

The Apollo buffer size is in the UAD Console - Settings. Mine works fine with the Java EXCL drivers.
 
The Level and Linearity graphs are for stepped level measurements, not stepped frequency.

Edit: I see now i need scroll right to see the linearity settings in overlay

which measure option do you think is best for step sine linearity ?

The Apollo buffer size is in the UAD Console - Settings. Mine works fine with the Java EXCL drivers.

default was 32 samples I change the value to 512 samples and quit console and restart REW. step sine do sometimes crackles same as before. Test generator and measurement page sweep sine both work perfect. seem REW did not notice larger buffer or this buffer is only for console. DAW did not work good when i choose ASIO buffer 32 Samples. I also enable USB safe guard.

My settings for uad console are now

2026-02-11 10-31-54-385.jpg
 

Attachments

the problem with stepped sine crackle is because the FFT display update during the measure cause the crackles. when i stop the fft display the test tone do no crackle, but stepped sine progress is also stop. maybe there is a way to disable the fft display only and the step sine measure continue ? I have windows 11 and a AMD ryzen 8600G and i use the onboard graphic . the onboard graphic of this is really fast also for full HD gaming over 40 fps often, but of course not so fast as a fast GPU card
 
the problem with stepped sine crackle is because the FFT display update during the measure cause the crackles
You could try minimising the RTA window during measurement to eliminate graphical updates as a contributor. If the problem still happens that suggests the PC is struggling to keep up with FFT processing and pushing audio transfers into the background too long. LatencyMon might have some suggestions.
 
You could try minimising the RTA window during measurement to eliminate graphical updates as a contributor. If the problem still happens that suggests the PC is struggling to keep up with FFT processing and pushing audio transfers into the background too long. LatencyMon might have some suggestions.

my latency is excellent. no graphic action took more than 0,7 ms. I let run the latency mon during a step sine. I get 1 crackle during that time.
make windows small do not help much

I try java excl it work. So only problem is ASIO on UAD because there is no preferences to set ASIO buffer and console buffer seem only for console. What i miss in java excl is, that it is only in ASIO possible to use 2 channels (left and right) together in generator or measure tab. I use this to hear and measure how bass and low mid sound/measure with both speakers. because 2 speakers together interact in room diffrent(room modes) to only 1 speaker

EDIT: I see in java excl it is possible to set L+R, but it is not possible for 3+4(which is on my uad the virt 1 virt 2 which have in console EQ speakercorrection add)5+6 is headphone here it is also usefull to can play both channels, to can compare by hearing with speakers how loud it sound in compare in bass.
latency mon.jpg
 
Last edited:
What i miss in java excl is, that it is only in ASIO possible to use 2 channels (left and right) together in generator or measure tab.
On the signal generator there is an option to send the signal to the timing reference output, so you can send to a second channel by choosing it as the timing reference.

So only problem is ASIO on UAD because there is no preferences to set ASIO buffer and console buffer seem only for console.
The setting in the console is the ASIO buffer. You can see the buffer size at the bottom of the REW window. The max in UAD is 2048.
1770819557803.png
 
On the signal generator there is an option to send the signal to the timing reference output, so you can send to a second channel by choosing it as the timing reference.


The setting in the console is the ASIO buffer. You can see the buffer size at the bottom of the REW window. The max in UAD is 2048.
View attachment 90238

ah yes the value show depend on console setting. but strange is, it work same sometimes crackle if small buffer or large buffer never 100% crackle free. but at least the java excl mode work 100% for step sine. so i can compare speakers, what diffrence they have.
 
On the signal generator there is an option to send the signal to the timing reference output, so you can send to a second channel by choosing it as the timing reference.


The setting in the console is the ASIO buffer. You can see the buffer size at the bottom of the REW window. The max in UAD is 2048.
View attachment 90238

I test now more and i notice asio work when rta calc is on not correct with upto 1024 buffer size. With 2048 buffer size it work. I have screen resolution 2560x1440 144 hz and i have a scale factor of 125% in windows set. reduce to 60 hz and no scale does also not help.I notice during RTA display mem is alloc and free very often. maybe problem is java garbage collector ?. which version does REW use ? : i dont know about java if it is noticible work or only a switch in compiler to use better garbage collector

i find on a german page about garbage collectors and tranlate with google to english

Newer Java versions (e.g., Java 17) introduced additional, more efficient garbage collector options:

ZGC (Z Garbage Collector): This GC is optimized for low latency and works efficiently with large heaps.

Shenandoah: Also a low-latency GC, designed to make garbage collection processes as unobtrusive as possible.

Epsilon: A "no-op" garbage collector that does not release memory. It is useful for test scenarios where memory cleanup is not necessary.
 
Back
Top