Il problema risiede nel fatto che KDE tenta di usare la prima scheda audio che trova, ma. malauguratamente, essa corrisponde al microfono integrato nella webcam, e quindi non trova un dispositivo audio di output.
Alsa vede correttamente entrambe le schede audio.
Occorre innanzitutto, da un terminale, regolare i livelli di entrambe le schede, utilizzando alsamixer.
Da root, per la prima scheda:
per la seconda scheda:
infine li salviamo (sempre da root) con
Adesso e' ora di mettere mano alla configurazione audio da far digerire a KDE.
Le prossime operazioni le facciamo da utente non privilegiato (niente piu' root).
Come operazione preliminare diamo il comando
con cui vediamo come il sistema identifica le nostre schede audio.
Nel mio caso l'output e' il seguente:
Codice: Seleziona tutto
default:CARD=U0x46d0x9a4
USB Device 0x46d:0x9a4, USB Audio
Default Audio Device
front:CARD=U0x46d0x9a4,DEV=0
USB Device 0x46d:0x9a4, USB Audio
Front speakers
surround40:CARD=U0x46d0x9a4,DEV=0
USB Device 0x46d:0x9a4, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=U0x46d0x9a4,DEV=0
USB Device 0x46d:0x9a4, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=U0x46d0x9a4,DEV=0
USB Device 0x46d:0x9a4, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=U0x46d0x9a4,DEV=0
USB Device 0x46d:0x9a4, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=U0x46d0x9a4,DEV=0
USB Device 0x46d:0x9a4, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=U0x46d0x9a4,DEV=0
USB Device 0x46d:0x9a4, USB Audio
IEC958 (S/PDIF) Digital Audio Output
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=VT82xx
HDA VIA VT82xx, ALC888 Analog
Default Audio Device
front:CARD=VT82xx,DEV=0
HDA VIA VT82xx, ALC888 Analog
Front speakers
surround40:CARD=VT82xx,DEV=0
HDA VIA VT82xx, ALC888 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=VT82xx,DEV=0
HDA VIA VT82xx, ALC888 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=VT82xx,DEV=0
HDA VIA VT82xx, ALC888 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=VT82xx,DEV=0
HDA VIA VT82xx, ALC888 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=VT82xx,DEV=0
HDA VIA VT82xx, ALC888 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=VT82xx,DEV=0
HDA VIA VT82xx
HDMI Audio Output
Le uniche righe che ci interessano sono quelle che riportano la parola
CARD. Esse vengono ripetute molte volte, ma sono quasi tutte uguali. Se si hanno due schede audio (come nel caso in oggetto) si avranno solo due CARD differenti.
Nel mio caso, le schede audio sono:
Quella che inizia con U, e che viene riportata come
USB Device e' chiaramente il microfono integrato nella webcam.
Annotiamole e teniamole pronte per un uso futuro.
Adesso editiamo il file .asoundrc che si trova nella nostra home (si puo' anche mettere mano al file /etc/asound.conf per una modifica system wide, volendo).
Se non esiste creiamolo.
Riporto subito il mio file, e poi lo descrivero':
Codice: Seleziona tutto
#Use "aplay -L" to get a list of the audio hardware
#Create an alias for the main audio card
pcm.ALC888 {
type hw
card "VT82xx"
}
#Create an alias for the Webcam audio board (actually it contains
#only a microphone)
pcm.USBWebcam {
type hw
card "U0x46d0x9a4"
}
#Create a card that uses the input from ALC888 and the output to USBWebcam
pcm.SplitCard {
type asym
capture.pcm "USBWebcam"
playback.pcm "ALC888"
}
Il nocciolo sta tutto nell'ultima sezione
pcm.SplitCard, pero' dobbiamo creare un alias per ogni scheda, perche', se riportiamo il nome della scheda direttamente in questa sezione, non so perche', ma non funziona.
Con le righe
Creiamo un alias per la scheda audio principale. il nome dopo
pcm (in questo caso ALC888) e' del tutto arbitrario: potete mettere cio' che piu' vi piace. Il nome che appare tra virgolette, dopo
card, e' invece il nome della scheda audio principale che avevamo annotato prima.
Con le righe
facciamo lo stesso per il microfono contenuto nella webcam. Anche qui, in nome dopo
pcm e' del tutto arbitrario, mentre il nome che appare tra virgolette, dopo
card, e' il nome della scheda audio relativa al microfono della webcam.
Ancora un piccolo sforzo e ci siamo.
Con le righe
Codice: Seleziona tutto
pcm.SplitCard {
type asym
capture.pcm "USBWebcam"
playback.pcm "ALC888"
}
creiamo una scheda audio ad uso e consumo di KDE, che ha il microfono della webcam come dispositivo di input, e la scheda audio principale come dispositivo di output.
Ancora una volta, il nome dopo
pcm e' arbitrario (ma ricordiamocelo, perche' ci servira' nell'ultimo passo).
Il dispositivo dopo
capture.pcm e' l'alias che abbiamo creato per il microfono della webcam, mentre quello dopo
playback.pcm e' l'alias che abbiamo creato per la scheda audio principale.
E' quasi fatta. Il bello e' che non dobbiamo riavviare ne' KDE, ne' tantomeno rifare login, o boot.
Adesso, come ultima cosa, accediamo al
Centro di Controllo di KDE, andiamo nel gruppo
Sound & Multimedia (non so come sia stato tradotto in italiano), e infine nella sezione
Sound System. Qui dentro, nella linguetta
Hardware, spuntimao la voce
Override device location, e inseriamo il nome che abbiamo dato alla nostra scheda audio speciale.Nel nsotro caso
SplitCard.
Clicchiamo sul pulsante
Applica, KDE riavvia da se' il server audio, e abbiamo il nostro audio funzionante.
Il mixer di KDE fara' riferimento al dispositivo
misto SplitCard.
Se avete Skype, nelle sue impostazioni appariranno tutte le schede audio che abbiamo creato. Io ho messo ALC888 come uscita, e USBWebcam come microfono.
Spero che tutto questo sproloquio sia utile a qualcuno
