All times are UTC+02:00




Post new topic  Reply to topic  [ 260 posts ]  Go to page Previous 16 7 8 9 1026 Next
Author Message
PostPosted: Sun Feb 19, 2017 5:42 pm 
Site Admin
User avatar

Joined: Mon Mar 17, 2008 1:40 am
Posts: 11211
Quote:
In WASAPI is possible to take different sample rate then system default setting and play native without resampling.
Ah. I thought that that should be possible but it doesn't currently work. If I ask which sample rates are supported I only see one. Will do some reading...


Edit: Aha!
Quote:
The WASAPI will report only that sample rate which is set in Audio Control
Panel (ACP). And only this sample rate can be used by your application if
you are using Shared mode when opening WASAPI device. Opening WASAPI in
Exclusive mode will allow to set any sample rate which is supported by
hardware drivers but other applications won't be able to use this audio
device for I/O.


Top
   
PostPosted: Sun Feb 19, 2017 6:50 pm 
User avatar

Joined: Thu Oct 25, 2012 3:22 pm
Posts: 237
Location: Poland
So question is how other software do it, own code for wasapi instead portaudio?
I wrote about exlusive mode few posts ago.

_________________
Urban Junglist


Top
   
PostPosted: Sun Feb 19, 2017 9:17 pm 

Joined: Sun Feb 03, 2013 2:39 pm
Posts: 334
Btw can it be that the CMD version doesn't support FB^2? At least for SB2 the FB^2 entry I've added to the STS file is always removed automatically.

EDIT:
Quote:
The gain correction in the input sound card settings. In principle, if that's set to 0 dB you should never see the light green.

--> Just tested it here and it seems to be perfectly in sync. If I increase the gain correction, I see a bright green area on top of the meters, but that's a constant size (as expected).
This is the DSP version. I re-tested it and it is the bright green seen when using low input level correction > 0 dB (or balance). However I still have it with input correction = 0 dB, it's just no constant size and flashing randomly. Currently watching a DVD with ST as a post processor and it's blinking almost all the time. Please fix.

PS Maybe its balance. It seems that only one channel is blinking at a time but it's hard to see because it's so fast.


Last edited by \_/ on Mon Feb 20, 2017 8:56 am, edited 1 time in total.

Top
   
PostPosted: Sun Feb 19, 2017 11:11 pm 
Site Admin
User avatar

Joined: Mon Mar 17, 2008 1:40 am
Posts: 11211
Quote:
So question is how other software do it, own code for wasapi instead portaudio?
I wrote about exlusive mode few posts ago.
That can be done with PortAudio as well. But it requires some extra work. I first want to make it work properly in the first place.


Top
   
PostPosted: Mon Feb 20, 2017 12:03 am 
Site Admin
User avatar

Joined: Mon Mar 17, 2008 1:40 am
Posts: 11211
Quote:
Quote:
hi Hans wasapi input works only with mms output otherwise it get the same error 32 failed bla bla
I think I found it! Turns out you have to initialize PortAudio in the same thread that opens the sound card... and I just put it at the start of the program. I'm now able to do things that didn't work before (with unclear reasons), so I hope you will be too. And I also hope that this means that the Mac version works now.

Edit: Mac version is still bad :(
Ok my current code works fine on Windows but my old code worked better on Linux. It looks like initializing, terminating, and then initializing again in another thread is not a good idea - although it works in Windows. I'll have to rewrite a bit more code to fix this. Mainly because I fetch the list of available sound cards immediately at startup, then I load the preset, and only then I open the processing thread which handles the sound cards. So now I'll have to do something so I can find out later which sound cards are present, and I need to remember which sound card I want to use without immediately activating it. Ugh. :(


Top
   
PostPosted: Mon Feb 20, 2017 10:43 am 
User avatar

Joined: Thu Oct 25, 2012 3:22 pm
Posts: 237
Location: Poland
Quote:
Quote:
Quote:
hi Hans wasapi input works only with mms output otherwise it get the same error 32 failed bla bla
I think I found it! Turns out you have to initialize PortAudio in the same thread that opens the sound card... and I just put it at the start of the program. I'm now able to do things that didn't work before (with unclear reasons), so I hope you will be too. And I also hope that this means that the Mac version works now.

Edit: Mac version is still bad :(
Ok my current code works fine on Windows but my old code worked better on Linux. It looks like initializing, terminating, and then initializing again in another thread is not a good idea - although it works in Windows. I'll have to rewrite a bit more code to fix this. Mainly because I fetch the list of available sound cards immediately at startup, then I load the preset, and only then I open the processing thread which handles the sound cards. So now I'll have to do something so I can find out later which sound cards are present, and I need to remember which sound card I want to use without immediately activating it. Ugh. :(
Have you some example linux 64 build to post for tests?

_________________
Urban Junglist


Top
   
PostPosted: Mon Feb 20, 2017 11:34 am 
Site Admin
User avatar

Joined: Mon Mar 17, 2008 1:40 am
Posts: 11211
No. Working on a fix that works on both Windows and Linux first.


Top
   
PostPosted: Tue Feb 21, 2017 12:55 am 
Site Admin
User avatar

Joined: Mon Mar 17, 2008 1:40 am
Posts: 11211
PortAudio now seems to work properly on Windows and Mac, I'm getting weird warnings printed on Linux (in VMware, that might be related...) but it does work properly after that.
Note: Jack support in the Linux and Mac versions as it was before is REMOVED for now. I'm not sure if there's any use in putting it back, you can still use Jack via PortAudio (just not the left/right channel separtely).

The Mac version now also supports CoreAudio, the Linux version supports ALSA!

Windows 32 bit:
Windows stand alone: http://www.stereotool.com/download/ster ... 25-012.exe
Winamp DSP: http://www.stereotool.com/download/dsp_ ... 25-012.exe
VST: http://www.stereotool.com/download/vst_ ... 25-012.dll

Windows 64 bit:
Windows stand alone: http://www.stereotool.com/download/ster ... 25-012.exe
VST: http://www.stereotool.com/download/vst_ ... 25-012.dll

MAC:
Standalone 64 bit: http://www.stereotool.com/download/ster ... 25-012.zip

Linux:
32 bit stand alone: http://www.stereotool.com/download/ster ... ETA825-012
64 bit stand alone: http://www.stereotool.com/download/ster ... ETA825-012

CHANGES:
- Put all PortAudio calls in 1 thread - was needed for WASAPI
- Made PortAudio work on Mac - weird hack needed (?)

OLD CHANGES:
- Synchronize PortAudio input and output starts
- Make sure that in case of no input audio, the error is reported for the input. Added the watchdog tick to be always called when the callback is called, even if no audio is being played.
- Make buffer filling 50% on start - Wait for first input to return. Only then allow outputs. Also needed for VLC (so the delay can be big!) In fact, the best way might be to connect it to when the first callback of the input sound card happens... enable the other callbacks INSIDE that input callback. But if I do that I need special solutions for VLC and ASIO. And that won't take the calculation time into account, and it might actually be a good thing to take that into account to make the buffer at least not too empty.
- Updated PortAudio to latest version
- Added FM/HD synchronziation slider. You will hear glitches when adjusting it, but no complete dropouts as with changing the buffer size.
- Changed PortAudio callback block size to let PortAudio decide the best size. This might slightly reduce latency and also help against hiccups.
- Added display of supported sample rates (and MME) to sound card selection.
- SST help
- Delossifier Spectral hole filler CPU load is much higher in 8.23 than in 8.00 - no obvious change in the code. - Wasn't true, slightly optimized it anyway.
- Removed old WINMM audio card code, replaced by PortAudio.

TODO:
- GiPHouse build warnings
- PortAudio weird jumps in buffer filling and glitches
- Compare Stokkemask vs Multipath Clipper
- Make PortAudio work properly on Linux - it works but with weird warnings and it takes a long time to start.
- Send out RDS texts
- Fix 31N
- Show low input level warning for inputs below - say - around -9 dB or so. For extended periods. Reason; I hear on a local station here that they probably have a too low input level and they didn;'t know that that was a problemn, but the sound on one of the built-in presets wasn't as consistent as it should be, and some tracks sound muffled probably due to too much noise gating.


Top
   
PostPosted: Tue Feb 21, 2017 1:11 am 

Joined: Sat Oct 15, 2016 5:34 am
Posts: 10
Quote:
PortAudio now seems to work properly on Windows and Mac, I'm getting weird warnings printed on Linux (in VMware, that might be related...) but it does work properly after that.
Note: Jack support in the Linux and Mac versions as it was before is REMOVED for now. I'm not sure if there's any use in putting it back, you can still use Jack via PortAudio (just not the left/right channel separtely).

The Mac version now also supports CoreAudio, the Linux version supports ALSA!

Windows 32 bit:
Windows stand alone: http://www.stereotool.com/download/ster ... 25-012.exe
Winamp DSP: http://www.stereotool.com/download/dsp_ ... 25-012.exe
VST: http://www.stereotool.com/download/vst_ ... 25-012.dll

Windows 64 bit:
Windows stand alone: http://www.stereotool.com/download/ster ... 25-012.exe
VST: http://www.stereotool.com/download/vst_ ... 25-012.dll

MAC:
Standalone 64 bit: http://www.stereotool.com/download/ster ... 25-012.zip

Linux:
32 bit stand alone: http://www.stereotool.com/download/ster ... ETA825-012
64 bit stand alone: http://www.stereotool.com/download/ster ... ETA825-012

CHANGES:
- Put all PortAudio calls in 1 thread - was needed for WASAPI
- Made PortAudio work on Mac - weird hack needed (?)

OLD CHANGES:
- Synchronize PortAudio input and output starts
- Make sure that in case of no input audio, the error is reported for the input. Added the watchdog tick to be always called when the callback is called, even if no audio is being played.
- Make buffer filling 50% on start - Wait for first input to return. Only then allow outputs. Also needed for VLC (so the delay can be big!) In fact, the best way might be to connect it to when the first callback of the input sound card happens... enable the other callbacks INSIDE that input callback. But if I do that I need special solutions for VLC and ASIO. And that won't take the calculation time into account, and it might actually be a good thing to take that into account to make the buffer at least not too empty.
- Updated PortAudio to latest version
- Added FM/HD synchronziation slider. You will hear glitches when adjusting it, but no complete dropouts as with changing the buffer size.
- Changed PortAudio callback block size to let PortAudio decide the best size. This might slightly reduce latency and also help against hiccups.
- Added display of supported sample rates (and MME) to sound card selection.
- SST help
- Delossifier Spectral hole filler CPU load is much higher in 8.23 than in 8.00 - no obvious change in the code. - Wasn't true, slightly optimized it anyway.
- Removed old WINMM audio card code, replaced by PortAudio.

TODO:
- GiPHouse build warnings
- Make PortAudio work properly on Linux - it works but with weird warnings and it takes a long time to start.
- Send out RDS texts
- Fix 31N
- Show low input level warning for inputs below - say - around -9 dB or so. For extended periods. Reason; I hear on a local station here that they probably have a too low input level and they didn;'t know that that was a problemn, but the sound on one of the built-in presets wasn't as consistent as it should be, and some tracks sound muffled probably due to too much noise gating.


MAJOR sound distortion in this release on 64 bit Windows 8.1


Top
   
PostPosted: Tue Feb 21, 2017 2:44 am 
User avatar

Joined: Tue Mar 17, 2009 2:56 pm
Posts: 4165
Huge problems with buffer on beta12.
Also in last few betas, no sound if ST started in Bypass mode and in same time buffer 100% full or epmty after un-bypass.
Buffer still does not starts at 50%, also it's bit random - depends on buffersize..

edit: at 2048 samples bufer start is always at 50%. Also it fastly syncs input and output, even with relative adjust at 0.01%, but still buffer drops.
At 1024 sync is not fast, similar as at 4096

_________________
control point
control point2


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 260 posts ]  Go to page Previous 16 7 8 9 1026 Next

All times are UTC+02:00


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited