YARG
YARG copied to clipboard
Logitech USB Microphone not working in 0.10.5 and 0.10.6 on Steam Deck (Linux)
I'm playing on steam deck and my logitech usb microphone is not working. The device is detected (I think) but when I go to play a song singing into the mic does not register.
The mic works fine on 0.10.4 and earlier. Patch notes say there is a new mic backend in 0.10.5 so it could be related?
Yeah there are issues on Linux with mics currently, we're looking into it! So far it seems to be something about not using the right recording format for the mic, bit of a strange issue.
This should be fixed now. Please reopen if not!
I'm still getting this issue on 0.10.7. No microphones show up in the device list. No problems observed on 0.10.4 so I think my setup is still working
@EliteAsian123 I don't have privileges to re-open this issue though so would appreciate if you rep-opened. Thanks!!
I just tried this too on 0.11 using Ubuntu, I can confirm the USB microphone (RB1 XBox360 Version) receives audio, as I can confirm in the audio settings of my OS, but the option does not show up when I add a new player.
I have the same issue here, microphone is picked up by my system, but the game does not pick it up as a possible player
@coverslide @Brahelli-Fails-At-Development @thumtac
Been a while since this issue was looked at, can you try out the nightly builds and confirm whether or not the problem has fixed since? Lots of changes since then and now and we made some changes to microphone detection.
The issue was fixed before the new engine moved the nightly, sorry for not updating. The issue now is on my end, haha. Thanks for checking up
@RileyTheFox microphone not working on the 11/26 nightly.
When adding a new profile, usb microphone appears as a device. When I added it to the connected profile it didn't register at all during song play. Other weird thing was that you couldn't remove the device, the USB microphone didn't appear in the devices to remove list. I even tried adding a controller as an additional device on top of the microphone but that didn't fix the issue.
Hey all. Just discovered YARG (and it looks fantastic) and I also ran into this bug on linux/steam deck. As a workaround, the "portable" version can be run through wine/lutris/proton and the added translation layer allows the mic to work. Just wanted to give a heads up for a temporary work around until the linux version gets sorted.
@Crono141 thanks for the tip. I tried running the windows version through proton and that allowed the mic to work but then the game couldn't discover my guitars. Did your ever encounter this issue?
I did also have something similar happen. It discovered the guitars as standard xbox controllers. And when I tried to map controls I could map every button except the yellow fret. Well, the solution for that was to go into steam's controller settings (in steam settings, not in app settings), and there is an option to remap all the controls on the guitar to buttons and analog axis on a virtual controller. After I did that I was able to map all the buttons inside of YARG and off to the races!
I've been investigating this issue because I'm also unable to use mics with the native Linux version on my steam deck, and I think I've found the main culprits:
-
When I try to add a microphone to a profile, it fails silently and this error is logged by YARG:
[Error] [2024-05-06 00:34:39 BassMicDevice.cs:Create:30] Failed to create monitor stream: SampleFormat!
This is caused by the bass library always returning 0 as the value of the
formats
field when callingRecordGetInfo
on Linux. This field is used to get the channel count of recording devices, and bass will fail when creating handles with 0 channels.From ManagedBass' repo:
The ManagedBass.RecordInfo.SupportedFormats member is only used on Windows/OSX/iOS, and only for the device's channel count in the case of OSX and iOS.
The same happens with the
Type
field when callingRecordGetDeviceInfo
, and that's the reason the device filtering had to be disabled for it to show any microphones on Linux.From ManagedBass' repo:
The device Type is only available on Windows (Vista and newer) and OSX
-
If I get past the first problem by always defaulting to 1 channel, this error is then logged:
[Error] [2024-05-06 01:37:11 BassMicDevice.cs:CreateHandle:133] Failed to start clean recording: Busy!
This occurs because YARG sets up two recording streams from the mic, one to play back the audio through the speakers, and a second one for pitch detection. This fails on Linux when creating the second recording stream while the first is still active.
From ManagedBass' repo
Multiple simultaneous recordings can be made from the same device on Windows XP and later, but generally not on older Windows. Multiple simultaneous recordings are possible on iOS and OSX, but may not always be on Linux or Windows CE
Funnily enough, I was able to add the 'Default' microphone from the list without problems. I think it only fails when selecting hardware mics.
One could argue that only one recording would be enough to do everything, but I'm sure there's a reason for the existence of two, I'm just not knowledgeable enough to know it.
Hey. Haven't checked in on this issue for a while but thanks to @luis-mejia1's comment I was able to rework some of the recording code to get around the Linux limitations. Unfortunately I can't test it myself as I don't have a Linux machine but I posted a build for people to try in the YARG discord, here's the download for it.
Let me know if adding your microphone to your profile works as well as if you can hear yourself from the monitoring, and if it works in gameplay or not. If there's any issues then posting log files would be appreciated (they'll be in the dev
folder instead of release
as its a development build)
mentioning @Crono141 @thumtac in case you're still interested
Hi @RileyTheFox,
I tested the build and, while I can now add a mic to a profile / hear myself / play vocals, there's a loud static noise when in a song. It goes away if I turn the Vocal monitoring volume
down to 0, so I think there's still something wrong with the recording code.
Also, I'm unable to play two different songs consecutively, YARG crashes when I try to start the second one. I'm attaching the log.
i have also had crashes but i been able to play a few songs at a time.
Hi @luis-mejia1. Thanks for testing out the build!
I've had another report of the crackling from the monitoring when entering a song so it's not just you. Odd that it only begins when entering a song, and I didn't observe this on Windows either.
Regarding the crashes, everyone else has been getting crashes too. The next time you get a crash, could you post the Player.log
file instead? We have our own custom built logging system but it's unable to catch game crashes because that's happening on the Unity side and Unity writes to the Player.log file.
Thanks for trying the build and I'll try to investigate the issues that came up and get another build out for people to try!
Hey @luis-mejia1. New build to try here. This one should fix the crashing when trying to enter subsequent songs.
I've also experimented with disabling all effects on the monitoring stream to see if that could be causing the crackling when you're in a song. I'm not sure though because monitoring is active at all times and the only change that occurs when you enter a song is that pitch detection is started (which shouldn't interfere with monitoring at all besides use more CPU cycles for the pitch detection)
Let me know if the crashing is fixed and the status of the monitoring when in a song. It will sound different because I've disabled the reverb and the gain, but its just for testing.
I found the Discord thread where you are posting all the builds, and tested the 4 new ones.
-
linux_mic_test_2/linux_mic_test_gain_only: No crashes and no crackling, can hear myself just fine both in the menus and during in a song.
-
linux_mic_test_reverb_only/linux_mic_test_no_pitch_processing: The crackling is back, but it's definitely not as loud as before. I can confirm that I only hear it as long as I'm not holding a note, just as someone else mentioned on Discord.
Would it be better if I posted these updates in that thread instead?
If you're alright with communicating on Discord then that'll definitely be easier and faster. Posting in that thread is fine.
Thanks for confirming the results from the builds. Quite stumped on why it's happening but at least we're narrowing it down now.
Not to derail the conversation, and if discord gets this issue fixed faster then great, but not everyone following this issue here is on discord (nor want to be). If you guys do go over there It would be nice to get an update on this issue here with major milestones.
On Sun, May 19, 2024, 12:38 PM RileyTheFox @.***> wrote:
If you're alright with communicating on Discord then that'll definitely be easier and faster. Posting in that thread is fine.
Thanks for confirming the results from the builds. Quite stumped on why it's happening but at least we're narrowing it down now.
— Reply to this email directly, view it on GitHub https://github.com/YARC-Official/YARG/issues/442#issuecomment-2119295304, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADG7J2JJSY7PQPYNOJE6RMLZDDIQ3AVCNFSM6AAAAAAY7W2VGKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJZGI4TKMZQGQ . You are receiving this because you were mentioned.Message ID: @.***>
Don't worry, I'll still be posting builds here when necessary and keeping you updated if you aren't in Discord. It's just much faster to do small iterative test builds and get feedback over Discord
I saw a pull request created about 3 weeks ago (around the time of this discussion). Have you solved the problem and just waiting to merge @RileyTheFox ?
Still diagnosing some issues with the vocal monitoring. I have a "fix" for it, but I have no idea why the issue exists in the first place so I'm in talks with the guy who makes BASS on their forums to work it out.
After lengthy discussions on the BASS forums it appears to have been a bug in the BASS_FX library. After some back and forth and a couple updates I have a release candidate for fixing this issue.
The problem with the vocal monitoring has been solved in a minimal test application so now I've brought those changes and the library update to the full game and hopefully the fix works here too.
Please let me know how this goes. https://drive.google.com/file/d/1A9bOhpvwnkCenjQ25qig787H1Zqudfdv/view?usp=drivesdk
@Crono141 @luis-mejia1
Fixed
Just to be clear, has this been merged into the nightly or do we still need to download the google drive package linked above?
It is in nightly
Big, Huge Thank you to you, @RileyTheFox and @luis-mejia1 for the testing. Just verified this on my end and it works like a dream. And just in time for me to take it on vacation with my family. You kick ass!