performous / performous

An open-source music and rhythm game.
https://performous.org
Other
496 stars 106 forks source link

microphone pass-through sounds terrible #484

Open PolynomialDivision opened 5 years ago

PolynomialDivision commented 5 years ago

Enhancement

Microphone pass-through sounds terrible.

What did you do?

Setup: 2 PS 2 microphones. Enable microphone pass-through. Sing. Now the voice is clipped. The quality is comparable to a very bad voice call. To test micrphones I made a recording with another program and the quality was very good. So no microphone defects. It sounds like performous gets overburden by the microphone pass-through option.

Output of performous --version:

Performous 1.1+

What is your environment & configuration?

I tried on Manjaro (Linux), Windows 7
PS2 Microphones
Tronic commented 5 years ago

PS2 microphones have very bad sound quality to start with, but it is also very likely that Performous pass-through is buggy. It is actually really difficult to pass audio from one sound device to another. Passing from input to output of the same audio device is much easier.

Any devs up for investigating this?

Lord-Kamina commented 5 years ago

I've used the singstar mics many times before and they were pretty decent. Eventually I bought some Shure mic clones and soldered a couple of XLR to 3.5mm mono cables and use that with the Singstar adapter; it sounds pretty good so 🤷🏼‍♂️

One thing I have noticed though is that they are VERY loud (I use mac but it may be a universal thing) so I have to use them with volumes around the 20% mark. Might want to give that a try.

Baklap4 commented 4 years ago

There's an alternative, buy a mixing panel with direct outputs. Attach your mics to them. Then performous will have a feed from the mixer and within performous you don't use the passthrough method. The mixer also outputs to decent speakers then you have you're karaoke setup :) It's better explained over here: https://github.com/performous/performous/wiki/Audio-equipment-guide image

As for the pass-through functionality.. i bet performous is the one screwing up on this. I don't think it's going to be picked up very soon though..

@Lord-Kamina the loudiness from ps2 singstar mics are universal here it is the same. It just picks up anything :man_shrugging:

Changed status from Bug to Enhancement

Tronic commented 4 years ago

Many mixers also come with USB input which avoids the HDMI2AV box and the horrors of composite video which I presume that one video cable to the TV is. Unfortunately the cheap mixers cannot capture individual mics (sub-$400 devices only record main mix in stereo), so you still need cables from mic pre-outs to laptop mic in. And you need some device in your AV stack that can combine HDMI video from your laptop with analog audio from the mixer, or don't take the audio to your TV at all but use external speakers instead.

jose1711 commented 4 years ago

sub-$400 devices only record main mix in stereo

Allen & Heath ZEDi-10FX is well below $400 mark and yet it has an USB stereo input and 4x USB output (for 4 XLR mics)

nieknooijens commented 4 years ago

Many mixers also come with USB input which avoids the HDMI2AV box and the horrors of composite video which I presume that one video cable to the TV is.

can be solved by a cheap HDMI splitter

Baklap4 commented 3 years ago

Todo

twollgam commented 8 months ago

It is not the mic quality. During experimenting with real guitars I noticed very bad passthrough too. I will debug that in the next weeks. (And assigned the issue to me)

Tronic commented 7 months ago

I don't recall whether anyone ever implemented resampling for pass-through. The problem is that despite the same nominal sample rate (e.g. 48000 Hz) the microphones and the output device run at slightly different rates, which causes skipping of build up of latency. The last I looked (MANY years back) the pass-through was a very dirty hack with no synchronisation between input and output, and doing it properly is in fact very difficult.

Tronic commented 7 months ago

In case one has input and output running at actually different rates, like 44.1 kHz and 48 kHz, without resampling it will sound extremely bad. I suppose the problems can be almost unnoticeable when running both at the same nominal rate.

legluondunet commented 3 months ago

Hello, I don't know if this info can help you, but just in case: On Linux, Dolphin WII emulator can use USB mic (Logitech mic provided with Sing-It games) and when you play Sing-it karaoke games, you can hear your voice clearly. I tested the same mic with Performous and I obtained same result described here: very bad quality., crackles, bad voice speed... I tested again this mic with another app and it worked nicely. Perhaps you could use Dolphin WII emulator pass-through code for performous?

Baklap4 commented 3 months ago

@legluondunet somewhere here?: https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/AudioCommon/

legluondunet commented 3 months ago

You can use Whisper too on Linux to listen to your microphone: https://github.com/mijorus/whisper It is compatible Pulseaudio and Pipewire. Perhaps you can get inspired from this little project code to ameliorate Performous pass-through feature.