V5.20.12/V5.20.13 release

btree87

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

Attachments

  • csjsound-lib.zip
    213.3 KB · Views: 17

phofman

Member
Joined
Jun 26, 2019
Messages
133
Thanks.

As of the long initialization. WASAPI and java sound API do not go well together, as the jsound API requires knowing (= detecting) supported formats for all devices before the usage. WASAPI does not report any format ranges, all combinations of samplerate, samplesize, channel count and even channel mask must be tested for each device. Those are the first lines in the log:

Received rates to test: [44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000, 1411200, 1536000]
Received channels to test: [1, 2, 4, 6, 8, 10, 12, 14, 16]

These times 16/16 32/24 32/32 sample sizes times several possible channel masks times all your audio devices makes 15,000 tests. On my Win10 running in VMWare on linux one format check takes about 1ms. In your case the is_format_supported times deviate for each device, but on average are much longer. In total the checks take over 150 seconds. For some sound devices the check time even grows linearly with each WASAPI call https://learn.microsoft.com/en-us/w...nf-audioclient-iaudioclient-isformatsupported . This chart is generated from log-line times listed in the debug log:

56595


Honestly, I have no idea why that occurs. But you can try cutting the number of checks by defining custom checked rates and channels in roomeqwizard.vmoptions, listing only values important for you, e.g.:

-DcsjsoundRates=44100,48000,192000
-DcsjsoundChannels=2,4

For details see https://github.com/pavhofman/csjsound-wasapi#detected-formats


The CoInitialize error message does not seem to cause any harm which is interesting and weird. I need to know which thread is calling the failing methods. I added thread name to the error messages, please unzip the attached DLL and replace it in your REW installation dir. Please send me the new debug log, thanks.
 

Attachments

  • csjsound_amd64.dll.zip
    292.2 KB · Views: 17

TomSleebus

Registered
Joined
Feb 19, 2021
Messages
8
Hello,
Previously reported error by @lasoundguy when loading sweep measurements also occurs for me. Have it seen on both MacOS and Windows.

Procedure to recreate:
- In Generator -> Sweeps -> Save to file, same appears when selecting L or R as ref channel
- Load generated wav in DAW
- Record response with measurement mic
- Export the file as wav, same appears when selecting aif(f)
- Back in REW File -> Import Sweep recordings, select stimulus file goes fine
- The waveform is displayed, timing references clearly indicated
- Error is thrown:

REW V5.20.13 running Azul Systems, Inc. JRE 1.8.0_302 64-bit on Windows 10 Locale: language en, keyboard BE, 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)

Could that be expected to be the same issue?

In another iteration of the procedure REW also throws 'Time reference not detected' when loading that specific response wav file.
 

TomSleebus

Registered
Joined
Feb 19, 2021
Messages
8
Hello,
Previously reported error by @lasoundguy when loading sweep measurements also occurs for me. Have it seen on both MacOS and Windows.

Procedure to recreate:
- In Generator -> Sweeps -> Save to file, same appears when selecting L or R as ref channel
- Load generated wav in DAW
- Record response with measurement mic
- Export the file as wav, same appears when selecting aif(f)
- Back in REW File -> Import Sweep recordings, select stimulus file goes fine
- The waveform is displayed, timing references clearly indicated
- Error is thrown:

REW V5.20.13 running Azul Systems, Inc. JRE 1.8.0_302 64-bit on Windows 10 Locale: language en, keyboard BE, 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)

Could that be expected to be the same issue?

In another iteration of the procedure REW also throws 'Time reference not detected' when loading that specific response wav file.
NB: returning to 5.20.9 correctly imports the measurement
 

btree87

Registered
Joined
Jun 9, 2020
Messages
8
I downloaded csjsound_amd64.dll.zip and extracted into REW install folder, overwrote old DLL with the new one you provided. I then added these lines into roomeqwizard.vmoptions:

-DcsjsoundRates=44100,48000,88200,96000
-DcsjsoundChannels=1,2

I started REW. It took only approx. 2 seconds to start, rather than the 2 mins 20 secs it's been doing.

I then tried adding 2 more sample rates in roomeqwizard.vmoptions (the 176400 and 192000):

-DcsjsoundRates=44100,48000,88200,96000,176400,192000
-DcsjsoundChannels=1,2

I then ran REW 3 or 4 times. Each run took only about 2-3 seconds to be fully started and ready.
(Thanks for all the help so far!)

I've attached csjsound-lib.log in zip file.
 

Attachments

  • csjsound-lib.zip
    21.1 KB · Views: 16

phofman

Member
Joined
Jun 26, 2019
Messages
133
@btree87: Thanks, I am glad the config helped. Interestingly, the number of checks dropped from 15k to 1.3k, yet the check time dropped 50 times. It seems as if your system got stuck somehow with the many checks in a row.

Still I would like to solve the CoInitialize error (which weirdly does not seem to have any effect, and occurs only on your machine). Please test the attached new dll and send the debug log. I added more logging of the thread name.

Thanks.
 

Attachments

  • csjsound_amd64.zip
    303.9 KB · Views: 18

phofman

Member
Joined
Jun 26, 2019
Messages
133
@btree87: Please test the attached version instead, it initializes the COM in every thread entering the API. Let's see if the error messages go away. As I said I have no errors like that on my Win10. Thanks.
 

Attachments

  • csjsound_amd64.zip
    304.9 KB · Views: 13

thothsong

Member
Joined
Jun 29, 2021
Messages
388
But you can try cutting the number of checks by defining custom checked rates and channels in roomeqwizard.vmoptions, listing only values important for you, e.g.:

-DcsjsoundRates=44100,48000,192000
-DcsjsoundChannels=2,4
This is useful, thanks, it allows me to force 5.1 instead of 7.1, so I can test how upmixing affects the output.
 

btree87

Registered
Joined
Jun 9, 2020
Messages
8
I downloaded the new csjsound_amd64.dll to the REW install folder then ran REW. Also, during this run I kept the startup lines in roomeqwizard.vmoptions as:
-DcsjsoundRates=44100,48000,88200,96000,176400,192000
-DcsjsoundChannels=1,2

The new csjsound-lib.log log file is attached in zip file. Thanks!
 

Attachments

  • csjsound-lib.zip
    25.3 KB · Views: 12

phofman

Member
Joined
Jun 26, 2019
Messages
133
Thanks, the fix looks to be in the right direction, most of the errors are gone. Please test the attached version with all threads initialized, including the internally-created ones. I believe this will be the last version to test. Thanks for your patience.
 

Attachments

  • csjsound_amd64.zip
    304.6 KB · Views: 21

btree87

Registered
Joined
Jun 9, 2020
Messages
8
I removed the filters (-DcsjsoundRates and -DcsjsoundChannels) and ran the new csjsound_amd64.dll. Without filters, REW startup time was approx 2 mins 50 secs.
New csjsound-lib.log log file is attached in zip file.
Thanks!
 

Attachments

  • csjsound-lib_without_filters.zip
    210.7 KB · Views: 16

phofman

Member
Joined
Jun 26, 2019
Messages
133
Thanks for the test. There are no more UnInitialized errors in the log, issue solved, thanks for your patient help.

That startup time - that chart above reveals that the first few thousands of the IAudioClient::IsFormatSupported calls take single/lower milliseconds each, then the response times jump up significantly. That's why the 1.5k checks when limiting the check list to fewer values take just 2 secs in total.

Unfortunately that is not something I can fix. Maybe there is an issue in Win7 audio stack, hard to query MS people about it since Win7 have been out of official support for some time. I am afraid you will have to stick to the limited list in your config.
 

btree87

Registered
Joined
Jun 9, 2020
Messages
8
Thanks for the test. There are no more UnInitialized errors in the log, issue solved, thanks for your patient help.

That startup time - that chart above reveals that the first few thousands of the IAudioClient::IsFormatSupported calls take single/lower milliseconds each, then the response times jump up significantly. That's why the 1.5k checks when limiting the check list to fewer values take just 2 secs in total.

Unfortunately that is not something I can fix. Maybe there is an issue in Win7 audio stack, hard to query MS people about it since Win7 have been out of official support for some time. I am afraid you will have to stick to the limited list in your config.

Thanks for the help. Not a problem. Adding these 2 lines into roomeqwizard.vmoptions worked great for me with the startup time:
-DcsjsoundRates=44100,48000,88200,96000,176400,192000
-DcsjsoundChannels=1,2
I appreciate the help with it - Thanks!
 

sm52

Member
Joined
Mar 14, 2019
Messages
863
John Mulcahy,
can I ask you to add any features/buttons to version 5.20.13?
I really don't like the look of version 5.20.14, so I stay on version 5.20.13.
 

John Mulcahy

REW Author
Thread Starter
Joined
Apr 3, 2017
Messages
7,212
can I ask you to add any features/buttons to version 5.20.13?
I really don't like the look of version 5.20.14, so I stay on version 5.20.13.
I cannot support two different user interfaces for REW. Which .14 builds have you tried? There have been many changes.
 

sm52

Member
Joined
Mar 14, 2019
Messages
863
Which .14 builds have you tried?
the very first.
My impressions are based on intolerance to the flat interface. I stay on Windows 7-64, despite some of the advantages of Windows 10, precisely because of the flat interface. For me, it's like eating delicious food with spices, and then without spices, and even without salt.
 

John Mulcahy

REW Author
Thread Starter
Joined
Apr 3, 2017
Messages
7,212
Perhaps you should try the food before rejecting it based on a meal you once had and didn't like.
 
Top Bottom