SpectraLayers Pro 4 vs ASIO: Playback in wrong pitch

-TG- wrote on 4/6/2018, 3:28 PM

Hi everybody!

I am having problems with SpectraLayers Pro 4.

I am using version 4.0.87, which afaik is the latest, on Win 10 Pro 64 bit, 1709.

My sound device is a Focusrite Scarlett 6i6 1st generation. Latest drivers installed. It is set to 44,1 kHz sample rate.

 

Unfortunately, it seems that SpectraLayers 4 doesn't play well with ASIO and/or sample rates in general, as I infer from some of the posts in this forum:

https://www.magix.info/us/forum/show-asio-panel-resets-rme-to-32khz--1185957/

https://www.magix.info/us/forum/edit-in-spectralayers-has-an-erratic-behaviour--1186612/

https://www.magix.info/us/forum/spectralayers-pro-4-0-69--1184761/

https://www.magix.info/us/forum/rme-asio-freeze--1199215/

https://www.magix.info/us/forum/problems-with-trial-of-slp-4-device-error-1--1183028/

 

My actual problem is this: when using ASIO, and loading 44,1 kHz sample audio files, the audio is played back with the wrong sample rate (can be heard, the pitch is wrong which hints at playback at a wrong rate).

I used the "Forced Sample Rate" field in "Options" -> "Preferences" -> "Device" to set the sample rate to 44100.

 

Here is thestuff from the log file that SLP 4 writes (I removed some line that I think are unimportant):


------------------------------------------------------------------------------------------------------------
22:16:28.919    INFO    session 2018.04.06-22.16.28.252 started - slp4srv
22:16:28.919    INFO    launching SpectraLayers Pro (4.0.87 - x64 - Qt 5.7.0)
22:16:28.919    INFO    OS: Windows 10 (Kernel: 10.0.16299)
22:16:28.919    INFO    CPU: 6 threads / AVX2
22:16:29.223    INFO    UI Initialized
22:16:29.223    INFO    Checking ASIO...
22:16:29.247    INFO    I/O: ASIO (Focusrite USB 2.0 Audio Driver/Focusrite USB 2.0 Audio Driver)
22:16:29.279    INFO    Ready
22:16:38.121    INFO    xxx.wav (44100Hz, 1 channel(s) (0x4), 2424832 samples, 16bits int)
22:16:38.127    INFO    Project Samplerate: 44100Hz Device Samplerate: 48000Hz
22:16:38.168    INFO    GPU: NVIDIA Corporation / GeForce GTX 1050 Ti/PCIe/SSE2
22:16:38.169    INFO    OGL: 4.6.0 NVIDIA 387.95 / 4.60 NVIDIA
22:16:38.174    INFO    OGL Initialized (Spectral, true)
22:16:38.176    INFO    OGL Rendered (Spectral, 1575x694)
22:16:43.686    INFO    I/O: none
22:16:45.991    INFO    I/O: ASIO (Focusrite USB 2.0 Audio Driver/Focusrite USB 2.0 Audio Driver)
22:16:45.991    INFO    Project Samplerate: 44100Hz Device Samplerate: 48000Hz
22:16:49.548    INFO    yyy.wav (44100Hz, 2 channel(s) (0x3), 21980 samples, 32bits float)
22:16:49.555    INFO    Project Samplerate: 44100Hz Device Samplerate: 48000Hz
22:16:55.109    INFO    session ended

------------------------------------------------------------------------------------------------------------

I don't know why it keeps on insisting the "Device Samplerate 48000Hz" thing when my device is definitely NOT set to that sample rate. I can see that from the device's software panel (Scarlett Mix Control). I guess this is the problem.

Interstingly, when entering "0" into the "Forced Sample Rate" field, the device is switched to 48000 Hz, as diagnosed from the device's panel, the project stays at 44100 Hz. The playback is in the correct pitch at least (so, I guess some resampling occurs somwhere).

This is what the log file looks in this case:

------------------------------------------------------------------------------------------------------------
22:20:05.899    INFO    session 2018.04.06-22.20.05.214 started - slp4srv
22:20:05.899    INFO    launching SpectraLayers Pro (4.0.87 - x64 - Qt 5.7.0)
22:20:05.899    INFO    OS: Windows 10 (Kernel: 10.0.16299)
22:20:05.899    INFO    CPU: 6 threads / AVX2
22:20:06.202    INFO    UI Initialized
22:20:06.202    INFO    Checking ASIO...
22:20:06.226    INFO    I/O: ASIO (Focusrite USB 2.0 Audio Driver/Focusrite USB 2.0 Audio Driver)
22:20:06.258    INFO    Ready
22:20:13.024    INFO    yyy.wav (44100Hz, 2 channel(s) (0x3), 21980 samples, 32bits float)
22:20:13.031    INFO    Project Samplerate: 44100Hz Device Samplerate: 48000Hz
22:20:13.074    INFO    GPU: NVIDIA Corporation / GeForce GTX 1050 Ti/PCIe/SSE2
22:20:13.074    INFO    OGL: 4.6.0 NVIDIA 387.95 / 4.60 NVIDIA
22:20:13.079    INFO    OGL Initialized (Spectral, true)
22:20:13.082    INFO    OGL Rendered (Spectral, 1575x694)
22:20:21.696    INFO    I/O: none
22:20:24.085    INFO    Project Samplerate: 48000Hz Device Samplerate: 48000Hz
22:20:26.657    INFO    I/O: ASIO (Focusrite USB 2.0 Audio Driver/Focusrite USB 2.0 Audio Driver)
22:20:26.658    INFO    Project Samplerate: 44100Hz Device Samplerate: 48000Hz
22:20:53.869    INFO    session ended

------------------------------------------------------------------------------------------------------------

It seems to me that the program switches sample rate back and forth a few times, who knows why.

I encountered other problems that I can't remember right now, involving jumping to SpectraLayers from Sound Forge Pro 11, will report tomorrow I guess.

Would be nice if there was a solution to this.

 

 

 

Comments

DivideFrame wrote on 4/7/2018, 7:01 AM

Hi -TG-, an ASIO bug was recently fixed, could you give SL 5.0.131 a try and let me know ?
-> https://drive.google.com/open?id=1Syab5DBsCoj5zg3FHfTFZnk1MK9eKIyT

Meanwhile, can you use your audio device with WASAPI (instead of ASIO) ?

-TG- wrote on 4/7/2018, 9:32 AM

Hi and thanks for getting back to me so soon!

I probably won't have time to test this before tomorrow evening, but will let you know how this turns out.

Now that SL 5 is available, does that mean that there will be no fixes to version 4 (say, related to such problems as driver management, if that is SL's fault)?

On WASAPI: I use all of my software with ASIO; while that itself is of course no reason to only use that, I think I remember some problems with using WASAPI as well.

I will try some things the coming days and try to remember what my problem with that was if there was one. I think that there was a problem when switching back and forth from Sound Forge Pro 11, I 'll try and get back to you about this.

 

DivideFrame wrote on 4/7/2018, 9:54 AM

SL4 updates will be less frequents from now on, but an ASIO bug could justify to push an update. However I first want to make sure SL5.0.131 solve it.

Would be curious to know if you have problems with the WASAPI implementation though, because it's a more modern way to use audio devices on Windows (I usually recommend it over ASIO). You can set Sound Forge audio output to Direct Sound so that it does not conflict with SL's WASAPI (ASIO has the bad habit to take exclusive control of the sound card).

MrSoundman wrote on 4/7/2018, 5:01 PM

Hi -TG-,

I am also using 4.0.87 (and am the OP of some of the posts you reference). I also was skeptical of WASAPI but in the meantime, where latency is not an issue, I have no hesitancy in recommending it. I use ASIO with DAW software as it still has the lowest latency with my soundcard and its drivers, but on Windows 10 I don't think there is any reason not to use WASAPI for non-"realtime" applications (e.g. playback).

-TG- wrote on 4/8/2018, 1:29 PM

So, here is part 1 of my report:

WASAPI doesn't work at all with SL 4 and my Focusrite Scarlett 6i6. Note that I usually run all my audio software (Samplitude, Sound Forge, etc) through this (using ASIO). I have an on-board audio that I only use for system sounds, browser, etc, if that is of any interest.

I have the samplerate of the Scarlett set to 44,1 kHz, start up SL4, load a 44,1 kHz audio file. When I start playback, the cursor stops after a few seconds into the file. There is absolutely no sound but some crackles. When I check my Scarlett's software mixer (MixControl) I see that the samplerate was switched to 48 kHz. Makes no sense to me. Note that for WASAPI there is no option to force the samplerate (doesn't seem to help in the ASIO case anyway) from within SL 4's menu.

Here is the content of the log file (again, some lines removed, see above):

-----------------------------------------------------------------------------------------------------------------------------
20:22:19.707    INFO    launching SpectraLayers Pro (4.0.87 - x64 - Qt 5.7.0)
20:22:19.707    INFO    OS: Windows 10 (Kernel: 10.0.16299)
20:22:19.707    INFO    CPU: 6 threads / AVX2
20:22:19.707    INFO    SCR: 1920x1080x32@60Hz (pixel ratio: 1)
20:22:19.957    INFO    24  Plugins loaded
20:22:20.020    INFO    UI Initialized
20:22:20.020    INFO    Checking WASAPI...
20:22:20.020    INFO    I/O: WASAPI (Eingang (Scarlett 6i6 USB)/Ausgang (Scarlett 6i6 USB))
20:22:20.051    INFO    Ready
20:22:26.000    INFO    Read zzz.wav (44100Hz, 1 channel(s) (0x4), 148747 samples, 32bits float)
20:22:26.000    INFO    Project Samplerate: 44100Hz Device Samplerate: 48000Hz
20:22:26.032    INFO    GPU: NVIDIA Corporation / GeForce GTX 1050 Ti/PCIe/SSE2
20:22:26.032    INFO    OGL: 4.6.0 NVIDIA 387.95 / 4.60 NVIDIA
20:22:26.047    INFO    OGL Initialized (Spectral, true)
20:22:26.047    INFO    OGL Rendered (Spectral, 1575x694)
20:22:37.012    INFO    session ended

-----------------------------------------------------------------------------------------------------------------------------

Next I will try the SL 5 you sent yesterday.

-TG- wrote on 4/8/2018, 1:39 PM

Part 2:

Interestingly, when I try to play a mono file (i.e. 1 channel, wav, 44,1 kHz) with SL 4, there is NO sound on playback with ASIO. the cursor moves but nothing to hear. Stereo (2 channels) works. Strange.

-TG- wrote on 4/8/2018, 1:52 PM

Part 2:

Interestingly, when I try to play a mono file (i.e. 1 channel, wav, 44,1 kHz) with SL 4, there is NO sound on playback with ASIO. the cursor moves but nothing to hear. Stereo (2 channels) works. Strange.


Ok, now this is funny!

(the following goes for SL 4 as for the SL 5.0.131 trial version)

I just discovered that when I load a mono file (1chn), it gets assigned to the channel "front center", which can be seen in the "Channels" panel on the right (the panel is there by default, otherwise can be switched on via the "View" -> "Panels" menu).

When assigning the "front center" channel to one of the physical outs of my soundcard / audio interface (output channel mapping in the preferences, or what it's called), I can at least hear it on one channel (left or right, I only have stereo setup). Because I have a stereo setup, I naturally don't have the front channel assigned to any pyhsical output (normally). I just discovered this by chance.

Qestions: #1, shouldn't this be mixed to the (in my case) two assigned outputs (left, right) somewhere?

#2: Is there a way to assign the channels the audio file / playback is supposed to be using?

 

-TG- wrote on 4/8/2018, 2:09 PM

Part 3:

Here's the good news:

The SL 5.0.131 trial, as provided above, works just fine with my Scarlett 6i6 (1st gen) and ASIO! (Besides the imo wrong channel assignement when loading single channel (mono) files).

The file (44,1 kHz) loads and plays just fine in the correct pitch. In "Preferences" -> "Device", I have the sample rate 44100 selected from the pull down menu for "Sample Rate". The sample rate stays at this, as can be seen from Scarlett's MixControl. Also the log file says that, here it is (some lines removed, see above):

-----------------------------------------------------------------------------------------------------------------------------
20:55:19.942    INFO    session 2018.04.08-20.55.17.143 started - slp5srv
20:55:19.942    INFO    launching SpectraLayers Pro (5.0.131 - x64 - Qt 5.9.4)
20:55:19.942    INFO    OS: Windows 10 (10.0) (Kernel: 10.0.16299)
20:55:19.942    INFO    CPU: 6 threads / AVX2
20:55:19.942    INFO    SCR: 1920x1080x32@60Hz (pixel ratio: 1)
20:55:21.442    INFO    24 Plugins loaded
20:55:21.458    INFO    Checking ASIO...
20:55:21.458    INFO    scanning 2 devices...
20:55:21.473    INFO     Focusrite USB 2.0 Audio Driver (6/12)
20:55:21.504    INFO     Magix Low Latency 2016 (2/6)
20:55:21.676    INFO    UI Initialized
20:55:21.676    INFO    I/O: ASIO (Focusrite USB 2.0 Audio Driver/Focusrite USB 2.0 Audio Driver)
20:55:21.723    INFO    Ready
20:55:27.963    INFO    opening xxx.wav...
20:55:27.978    INFO    importing:xxx.wav
20:55:27.978    INFO    session path: C:\Users\xyz\AppData\Local\Temp\MAGIX
20:55:27.978    INFO    providing path: C:\Users\xyz\AppData\Local\Temp\MAGIX\layer(4ccc321e).pcm
20:55:28.838    INFO    Read xxx.wav SamplingFormat(Real, 44100Hz, Audio, 1 channel(s), mapping: 100)   6875002  samples,  24 bits  int )
20:55:28.854    INFO    Project Samplerate: 44100Hz Device Samplerate: 44100Hz
20:55:29.041    INFO    GPU: NVIDIA Corporation / GeForce GTX 1050 Ti/PCIe/SSE2
20:55:29.041    INFO    OGL: 3.3.0 NVIDIA 387.95 / 3.30 NVIDIA via Cg compiler / OpenGL 3.3 Core
20:55:29.057    INFO    OGL Initialized (Spectral, true)
20:55:29.057    INFO    OGL Rendered (Spectral, 1547x724)
20:57:30.176    INFO    opening yyy.wav...
20:57:30.176    INFO    importing: yyy.wav
20:57:30.176    INFO    session path: C:\Users\xyz\AppData\Local\Temp\MAGIX
20:57:30.176    INFO    providing path: C:\Users\xyz\AppData\Local\Temp\MAGIX\layer(13972686).pcm
20:57:30.238    INFO    Read yyy.wav SamplingFormat(Real, 44100Hz, Audio, 2 channel(s), mapping: 11)   99558  samples,  16 bits  int )
20:57:30.238    INFO    Project Samplerate: 44100Hz Device Samplerate: 44100Hz
20:58:08.465    INFO    session ended

-----------------------------------------------------------------------------------------------------------------------------

So, this version seems to work just fine, at least it does for me.

If it is possible to backport the changes made on this to SL 4 Pro, it would be great to have that.

I guess I can't be the only one having this problem.

Maybe others want to comment on this and say if they have a problem? Encourage the backport / fix for version 4?

-TG- wrote on 4/8/2018, 2:18 PM

I am not done!

Here is part 4:

For SL 5.0.131, if I try to use WASAPI, this happens: I try to load a 44,1 kHz file but immediately get a pop up window that says:

"Open Error #7: RtApiWasapi::probeDeviceOpen: 48000Hz sample rate not supported. This device only supports 44100Hz."

This is for the Scarlett, with its sample rate (of course, still) set to 44,1 kHz in MixControl.

Here is the log:

-----------------------------------------------------------------------------------------------------------------------------
21:12:22.405    INFO    session 2018.04.08-21.12.19.599 started - slp5srv
21:12:22.405    INFO    launching SpectraLayers Pro (5.0.131 - x64 - Qt 5.9.4)
21:12:22.405    INFO    OS: Windows 10 (10.0) (Kernel: 10.0.16299)
21:12:22.405    INFO    CPU: 6 threads / AVX2
21:12:22.406    INFO    SCR: 1920x1080x32@60Hz (pixel ratio: 1)
21:12:23.916    INFO    24 Plugins loaded
21:12:23.930    INFO    Checking WASAPI...
21:12:23.932    INFO    scanning 3 devices...
21:12:23.938    INFO     Ausgang (Scarlett 6i6 USB) (0/2)
21:12:23.939    INFO     S24C650-4 (NVIDIA High Definition Audio) (0/2)
21:12:23.941    INFO     Eingang (Scarlett 6i6 USB) (2/0)
21:12:24.122    INFO    UI Initialized
21:12:24.122    INFO    I/O: WASAPI (Eingang (Scarlett 6i6 USB)/Ausgang (Scarlett 6i6 USB))
21:12:24.159    INFO    Ready
21:12:28.197    INFO    I/O: none
21:12:30.456    INFO    I/O: WASAPI (Eingang (Scarlett 6i6 USB)/Ausgang (Scarlett 6i6 USB))
21:12:34.823    INFO    importing: xxx.wav
21:12:34.823    INFO    session path: C:\Users\xyz\AppData\Local\Temp\MAGIX
21:12:34.823    INFO    providing path: C:\Users\xyz\AppData\Local\Temp\MAGIX\layer(4ccc321e).pcm
21:12:34.884    INFO    Read xxx.wav SamplingFormat(Real, 44100Hz, Audio, 2 channel(s), mapping: 11)   99558  samples,  16 bits  int )
21:12:34.892    INFO    Project Samplerate: 44100Hz Device Samplerate: 48000Hz
21:12:35.088    INFO    GPU: NVIDIA Corporation / GeForce GTX 1050 Ti/PCIe/SSE2
21:12:35.088    INFO    OGL: 3.3.0 NVIDIA 387.95 / 3.30 NVIDIA via Cg compiler / OpenGL 3.3 Core
21:12:35.093    INFO    OGL Initialized (Spectral, true)
21:12:35.096    INFO    OGL Rendered (Spectral, 1547x724)
21:12:35.175    WARNING    error #0:Open Error #7: RtApiWasapi::probeDeviceOpen: 48000Hz sample rate not supported. This device only supports 44100Hz.
21:12:38.712    INFO    session ended

-----------------------------------------------------------------------------------------------------------------------------

Seems this again tries to force 48000 Hz for the Scarlett, why would it do that? Nothing else is running over that.

Maybe the onboard sound card interferes with WASAPI, forcing it to try and use 48 kHz?

DivideFrame wrote on 4/8/2018, 2:50 PM

Glad to see SL5 works with ASIO !

I'll check what went wrong with the WASAPI.

DivideFrame wrote on 4/8/2018, 2:54 PM

Regarding the device channels mapping, you should only assign Front Left / Front Right, and make sure "Smart remapping of unassigned project channels" (setting at the bottom) is checked. This should redirect the "Front Center" channel from your project to both the Front Left and Front Right device channels.

MrSoundman wrote on 4/8/2018, 3:00 PM

What I notice is that SpectraLayers does not see "legacy" Windows audio drivers. My RME card driver allows to limit the number of channels presented to Windows ("WDM" devices) and that shows up in SL also but as a limited number of WASAPI channels. Does the Scarlett driver allow you to limit the Windows devices to just one stereo device? In that case, in SL, under Preferences/Device, you would only see two channels in the imput/output channels mapping dialog. How many channels do you currently see? (in 4.0.87)

-TG- wrote on 4/8/2018, 3:22 PM

Regarding the device channels mapping, you should only assign Front Left / Front Right, and make sure "Smart remapping of unassigned project channels" (setting at the bottom) is checked. This should redirect the "Front Center" channel from your project to both the Front Left and Front Right device channels.


Alright, hadn't thought of trying this. It works, correctly plays mono files (ASIO) assigned to the left and right channels, SL 4 and SL 5.

Thanks for the hint!

-TG- wrote on 4/8/2018, 3:31 PM

What I notice is that SpectraLayers does not see "legacy" Windows audio drivers. My RME card driver allows to limit the number of channels presented to Windows ("WDM" devices) and that shows up in SL also but as a limited number of WASAPI channels. Does the Scarlett driver allow you to limit the Windows devices to just one stereo device? In that case, in SL, under Preferences/Device, you would only see two channels in the imput/output channels mapping dialog. How many channels do you currently see? (in 4.0.87)

Hi!

There is no such option for the Scarlett, at least I haven't found any in the MixControl software panel.

I think though that the number of inputs and outputs is limited to 2 each, somehow, when using WASAPI anyway (for my device that is).

The log that SL 5 produces seems to tell that (the SL 4 log doesn't give that much detail, either SL4 does something different or the log is less verbose):

21:12:23.938    INFO     Ausgang (Scarlett 6i6 USB) (0/2)
21:12:23.941    INFO     Eingang (Scarlett 6i6 USB) (2/0)

Also, in the preferences, I can only assign 2 channels when using WASAPI.

So, under "Device", in the "Type" pulldown I only see WASAPI, ASIO or SLbridge as an option, no WDM or anything.

MrSoundman wrote on 4/8/2018, 3:46 PM
I think though that the number of inputs and outputs is limited to 2 each, somehow, when using WASAPI anyway [...] I can only assign 2 channels when using WASAPI.

So, under "Device", in the "Type" pulldown I only see WASAPI, ASIO or SLbridge as an option, no WDM or anything.

Yes, you are probably right, I have tested adding more "WDM" devices using the RME driver, and these show up in Control Panel as additional audio devices, but WASAPI in SL still shows only two channels, although it does see the additonal device. I have to choose a device first, and then each has only two channels. Very confusing, but this is not SL's fault. I don't have any other software that "sees" WASAPI so it's hard to compare.

In any case .... is your original issue now solved?

-TG- wrote on 4/8/2018, 3:57 PM

Well, the ASIO problem seems resolved in SL5. But I only have SL 4, so I don't consider it solved yet ;-)

MrSoundman wrote on 4/8/2018, 6:18 PM

A cynic would say that $149 would solve it 😈

-TG- wrote on 4/9/2018, 1:56 AM

A cynic would say that $149 would solve it 😈


Well if said cynic wants to give me that money, I'd put it to use. (Magix says 199€ for upgrade, btw).

But seriously, I consider this a bug that I think should be fixed in SL 4. ASIO compatibility is, imo, a very important feature for such a piece of software. Additionally, I can't even use it with WASAPI. The only chance I have is to use SL4 with ASIO, playing everything in the wrong pitch, which is annoying.

I am pretty sure I am not the only user having these problems.

DivideFrame wrote on 4/9/2018, 3:35 AM

Here's a way to use WASAPI: both your input device and output device sample rate must match (ie: 44100Hz for both).

In your case, right-click the Windows volume control, Playback Devices, select "Ausgang (Scarlett 6i6 USB)", click Properties, go to Advanced, and set it to 44100Hz: https://i.imgur.com/mIvtDSd.png

This way both your recording and playback devices would be set at 44100, and WASAPI should work in SL. Let me know.

-TG- wrote on 4/9/2018, 1:16 PM

So, setting the sample rate for the Scarlett from the Windows sound panel to an identical value for playback and record (44100 Hz in my case) indeed makes SL 4 work with WASAPI. The sample rate for the Scarlett's output was set to 48 kHz in the Windows sound panel.

Now, I must say I consider this a design flaw of how this is handled by Windows, who after all provide the WASAPI driver for the device if I am not mistaken (I don't know for sure but I don't think Focusrite provides a WASAPI driver for the Scarlett). To be even able to set different samplerates for playback and record makes no sense at all, does it? That was the problem. I never checked this as I haven't used WASAPI before (I started using SL 4) and I am used to setting the samplerate for the whole device (input and output) at one single spot when using ASIO (MixControl); also the software in use usually can set it, but this has failed somehow, and I suspect the Windows settings have caused this as they wanted to have the output forced to 48 kHz as is evident from the log.

That's the whole point (for me) of having a separate sound device running on ASIO so that stupid Windows can't tamper with it, and a proper software panel from the manufacturer to set everything up as needed.

 

-TG- wrote on 4/9/2018, 1:20 PM

I would still be very happy to see changes to SL 4 to work with ASIO as nicely the SL 5 version above does.

Thanks for your help with figuring this out! 😊

 

PS: I still need to test the workflow of calling SL as an external editor from e.g. Sound Forge or probably other software. I am afraid that when using ASIO this will again lead to off-pitch playback...