UltraStar-Deluxe / USDX

The free and open source karaoke singing game UltraStar Deluxe, inspired by Sony SingStarâ„¢
https://usdx.eu
GNU General Public License v2.0
880 stars 162 forks source link

[OS X] SingStar (wireless) microphones not recognized on (my?) Mac #119

Closed bohning closed 8 years ago

bohning commented 8 years ago

This has been a show stopper for productively using (a.k.a. singing) UltraStar deluxe on my Mac for a while and I can't figure out if it is just a problem on my Mac or if it is a general problem.

If I connect my SingStar wireless microphones to my Mac, they are properly detected by the system (checked in Settings --> Sound):

bildschirmfoto 2016-08-14 um 12 38 24

but in the UltraStar deluxe settings, all I see is the internal microphone:

bildschirmfoto 2016-08-14 um 12 39 48

I appreciate any help with this regard. Let me know if you have any ideas...

kamischi commented 8 years ago

Did you try to set channel 1 or 2 to anything else than OFF? Common mistake.

AlexanderS commented 8 years ago

If I understand it right, the Wireless Microphone is not selectable in Ultrastar.

kamischi commented 8 years ago

As long as it is present in the system preferences, it should be selectable. At least that is how I remember the situation. I might be wrong, though.

bohning commented 8 years ago

Yes, the wireless microphones (neither the wired ones) are selectable in UltraStar. Only the built-in Microphone is selectable (notice the missing left/right arrows for 'Soundcard' in the screenshot). I DID see them once, but I cannot reproduce... Seems like a weird error to me :-(

taligentx commented 8 years ago

I'm seeing the same issue after building on OS X 10.11 (El Capitan) - USB microphones are recognized and function correctly in the OS but are not available for selection within UltrastarDX. These are SingStar wired USB mics that work fine on the same machine booting to another drive with an older version of Mac OS X and Ultrastar Deluxe 1.1 (the sole purpose of this drive is to run Ultrastar!): os-audio-midi-setup

UltrastarDX only shows the Built-In Mic and Built-in Input audio jack, not the USB device: usdx-built-in-mic usdx-built-in-input

Randomly, sometimes launching UltrastarDX will result in an empty device list: usdx-missing-input

The system log shows the following message when UltrastarDX launches: ultrastardx[60418]: 22:19:45.314 WARNING: 140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.

Out of curiosity, I wiped out the installed version of brew's portaudio and compiled from https://app.assembla.com/spaces/portaudio/git/source, cleaned and built USDX again but the same issue occurs.

It's really great to see Ultrastar being brought back to life! I'd love to be able to use it with USB mics on current OS X releases.

bohning commented 8 years ago

So so very happy to see I'm not alone with this this issue and it's not something that is messed up on my Mac.

I can confirm that randomly, the list of selectable audio devices is entirely empty.

RattleSN4K3 commented 8 years ago

@taligentx Have you tried debugging TAudioInput_Portaudio.EnumDevices (in UAudioInput_Portaudio.pas)? Maybe the USB device(s) is/are skipped due to bad values.

taligentx commented 8 years ago

@RattleSN4K3 Thanks for the pointer, it seems to be an extended case of #28 - I increased the polling time and logged the output of cbPolls and found that devices are taking a longer time to detect an active stream and timing out on the current 400ms test:

STATUS: Opened audio device [TAudioPlayback_SDL.InitializeAudioPlaybackEngine]

STATUS: Testing device: Built-in Microphone [TAudioInput_Portaudio.EnumDevices] STATUS: cbPolls: 1 [TAudioCore_Portaudio.TestDevice] STATUS: cbPolls: 2 [TAudioCore_Portaudio.TestDevice] STATUS: cbPolls: 3 [TAudioCore_Portaudio.TestDevice] [...] [...] STATUS: cbPolls: 102 [TAudioCore_Portaudio.TestDevice] STATUS: InputDevice "Built-in Microphone"@2x44100Hz (0.1sec) [Portaudio.EnumDevices]

STATUS: Testing device: Built-in Input [TAudioInput_Portaudio.EnumDevices] STATUS: cbPolls: 1 [TAudioCore_Portaudio.TestDevice] STATUS: cbPolls: 2 [TAudioCore_Portaudio.TestDevice] STATUS: cbPolls: 3 [TAudioCore_Portaudio.TestDevice] [...] [...] STATUS: cbPolls: 54 [TAudioCore_Portaudio.TestDevice] STATUS: InputDevice "Built-in Input"@2x44100Hz (0.1sec) [Portaudio.EnumDevices]

STATUS: Testing device: USBMIC Serial_ 041259682 [TAudioInput_Portaudio.EnumDevices] STATUS: cbPolls: 1 [TAudioCore_Portaudio.TestDevice] STATUS: cbPolls: 2 [TAudioCore_Portaudio.TestDevice] STATUS: cbPolls: 3 [TAudioCore_Portaudio.TestDevice] [...] [...] STATUS: cbPolls: 47 [TAudioCorePortaudio.TestDevice] STATUS: InputDevice "USBMIC Serial 041259682 "@2x48000Hz (0.1sec) [Portaudio.EnumDevices]

STATUS: #Input-Devices: 3 [Portaudio]

Seems to work: macosx-increased-polling

bohning commented 8 years ago

Awesome news. Thanks taligentx!

JakobEberl commented 8 years ago

hi there, I have the same problem with the USB Mics using OSX El Capitan. So if I understand correctly, you found a fix? I just don't get where the file, where I have to change the code is supposed to be. Can someone explain? Thanks a lot!

AlexanderS commented 8 years ago

@JakobEberl The code in this git repository (the master branch) should already contain the fix.

JakobEberl commented 8 years ago

@AlexanderS Oh. I finally understood that there is a newer version here on github - I was still using the USDX 1.1 However, I now installed Homebrew, FPC and XQuartz but I don't understand the next part of the installation process for OSX. "Pass argument --enable-osx-fink or --enable-osx-brew (default) according to the packaging you are using ./configure make macosx-standalone-app" What am I actually supposed to type in the Terminal? I am sorry that this has now probably less to do with the actual issue in this thread... still other people might make through the same process...

Thanks in advance.

toebbel commented 7 years ago

I can confirm that #128 fixes this issue on Mac OS Sierra (10.12.2)

AlexanderS commented 7 years ago

@JakobEberl:

./configure --enable-osx-brew
make macosx-standalone-app

should work.

pxue commented 4 years ago

FYI for future Googlers. Further increasing the polling time to 450 (6000ms) as per https://github.com/fscs/USDX/commit/2a8692e74b9eb1a6f5b2bad1a3a0c8d707d9fd91 worked for me on Catalina.