2'den 1 kanallı ALSA cihazı oluşturun


0

Mikrofonumla Linphone kullanmaya çalışıyorum, ancak ses çok dalgalı. Biraz uğraştıktan sonra arecord, cihazımdaki sesin sysdefaultdalgalı olduğu halde kayıt işleminin front:CARD=Genericdaha iyi ve daha az gürültü ile çalıştığını keşfettim .

Bununla birlikte, frontgörünüşte sadece 2 kanal aktifken kaydedilebilir. Linphone girişe monoyu zorlar (teoride stereo kullanabilirdi, ancak bunu konfigürasyonda ayarlamanın bir yolu yok gibi görünüyor) ve böylece kanalları doğru ayarlayamadığı için bir alsa hatası veriyor.

arecordCihaza 1 kanal zorlamak için kullanırsam aynı şey olur :

$ 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

Bu yüzden, ALSA'da mikrofonu tek bir kanala indirecek bir cihaz oluşturmaya çalışıyorum, ancak yapamayacağım gibi görünmüyorum (ALSA acemiyim). Bu cevabı kullanmayı denedim , ama işe yaramadı:

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

Bunu nasıl yapabilirim?

Yanıtlar:


2

İki donanım kanalına sahip bir yazılım kanalı istersiniz, bu nedenle haritalamayı ters yönde yapmak zorundasınız:

...
ttable {
    0.0 1
    0.1 1
}

Ve aygıtı belirtmek için doğru seçeneği kullanmalısınız:

$ arecord - yardım | grep -i - ^ -d
-D, --device = NAME ada göre PCM'yi seç
-d, --duration = # # saniye sonra kesildi

Maalesef işe görünmüyor. Hala aynı hatayı alıyorum ..
Svalorzen

Bu benim için stereo donanımda çalışıyor.
CL.

Bir nedenden dolayı cihazım basitçe tanınmıyor olabilir mi, yoksa başka bir problem (belki slave.pcmalan) olabilir mi? Eğer koyduysam -d random_device_which_does_not_existkayıt şikayet etmez. Cihazın doğru şekilde ayrıştırıldığını kontrol etmenin bir yolu var mı?
Svalorzen,

Aslında bir cihaz belirtmediniz ...
CL.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.