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.