简体   繁体   English

Linux 2.6 OSS Sound系统中是否存在内核内重采样

[英]Is there in-kernel resampling in Linux 2.6 OSS Sound system

This is the question about Linux kernel's OSS sound subsystem and its capabilities. 这是关于Linux内核的OSS声音子系统及其功能的问题。 I'm working with Linux 2.6 kernels and I have unusual sound card. 我正在使用Linux 2.6内核,并且有异常的声卡。 This card should input and output only 48 kHz signal; 该卡只能输入和输出48 kHz信号; and there is no hardware resampling (I can't play 16kHz WAV file on this card). 并且没有硬件重采样(我无法在此卡上播放16kHz WAV文件)。 Other bad thing about this card is that it uses some OSS driver of more advanced card (driver don't limit applications in samplerate required from it). 该卡的另一个坏处是它使用了更高级卡的某些OSS驱动程序(驱动程序不会限制应用程序要求的采样率)。 There is no ALSA for this card. 该卡没有ALSA。

I want to use this card with some SIP codecs (voice realtime compression), but they support only 8 kHz, 16 kHz, 7 kHz, 32 kHz, but no 48 kHz. 我想将此卡与某些SIP编解码器(语音实时压缩)一起使用,但它们仅支持8 kHz,16 kHz,7 kHz,32 kHz,但不支持48 kHz。 Now I'm using linphone3 for SIP, and has some problems with sound playing and recording. 现在,我将linphone3用于SIP,并且在播放和录制声音时遇到一些问题。 Linphone opens driver with 16 kHz rate (Speex WB), but card sends and plays data at 48 kHz. Linphone以16 kHz速率(Speex WB)打开驱动程序,但卡以48 kHz发送和播放数据。

Can I do a resampling from 16 kHz (SIP) to 48 kHz (card) in the kernel's OSS? 我可以在内核的OSS中从16 kHz(SIP)到48 kHz(卡)进行重采样吗? How can I activate pcm plugin with resampling? 如何通过重新采样激活pcm插件?

The OSS subsystem does not provide resampling. OSS子系统不提供重采样。 You could change the device driver for your audio card to do such resampling, but most OSS drivers don't have this implemented (the idea being that resampling is better done in userspace) 您可以更改声卡的设备驱动程序以进行此类重采样,但是大多数OSS驱动程序都未实现此功能(想法是最好在用户空间中进行重采样)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM