Erstellen Sie ein ALSA-Gerät mit 1 Kanal von 2

1147
Svalorzen

Ich versuche Linphone mit meinem Mikrofon zu verwenden, aber der Ton ist sehr abgehackt. Nachdem arecordich ein bisschen mit ihm herumgespielt hatte, stellte ich fest, dass die Tonwiedergabe auf meinem sysdefaultGerät zwar abgehackt ist, die Aufnahme jedoch front:CARD=Genericbesser und mit weniger Rauschen funktioniert.

Allerdings frontkann offenbar nur mit 2 Kanälen aktiv aufgezeichnet werden. Linphone erzwingt Mono für die Eingabe (theoretisch könnte Stereo verwendet werden, es scheint jedoch keine Möglichkeit zu geben, dies in der Konfiguration festzulegen). Daher gibt es einen Fehler, da die Kanäle nicht richtig eingestellt werden können.

Das gleiche passiert, wenn ich einen arecordKanal zum Gerät erzwinge:

$ arecord -f cd -d front:CARD=Generic,DEV=0 -c 1 -V stereo /tmp/file Recording WAVE '/tmp/file' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono arecord: set_params:1247: Channels count non available 

Ich versuche daher, ein Gerät in ALSA zu erstellen, das das Mikrofon in einen einzigen Kanal herunterrechnen soll, aber ich kann es nicht scheinen (ich bin ein ALSA-Neuling). Ich habe versucht, diese Antwort zu verwenden, aber es funktioniert nicht:

pcm.front cards.pcm.front pcm.makemono {  type plug  slave.pcm {  type route  slave.pcm "pcm.front" slave.channels 2 ttable {  0.0 1  1.0 1 }  }  }  ...  $ arecord -f cd -d makemono -c1 -V stereo /tmp/file Recording WAVE '/tmp/file' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono arecord: set_params:1247: Channels count non available 

Wie kann ich das machen?

0

1 Antwort auf die Frage

2
CL.

Sie möchten einen Software-Kanal mit zwei Hardware-Kanälen, so dass Sie das Mapping in die entgegengesetzte Richtung durchführen müssen:

... ttable { 0.0 1 0.1 1 } 

Und Sie sollten die richtige Option verwenden, um das Gerät anzugeben:

$ arecord --help | grep -i - ^ -d -D, --device = NAME PCM nach Namen auswählen -d, --duration = # nach # Sekunden unterbrechen 
Scheint leider nicht zu funktionieren. Ich bekomme immer noch den gleichen Fehler .. Svalorzen vor 7 Jahren 0
Das funktioniert bei mir auf Stereo-Hardware. CL. vor 7 Jahren 0
Könnte es sein, dass mein Gerät aus irgendeinem Grund einfach nicht erkannt wird oder ein anderes Problem vorliegt (möglicherweise das `slave.pcm`-Feld)? Wenn ich `-d random_device_which_does_not_exist` setze, beklagen sich arecord nicht darüber. Gibt es eine Möglichkeit, zu überprüfen, ob das Gerät korrekt analysiert wird? Svalorzen vor 7 Jahren 0
Sie haben eigentlich kein Gerät angegeben ... CL. vor 7 Jahren 0
Sie haben 100% Recht, danke! Svalorzen vor 7 Jahren 0