如何在 Linux 上启用实时模式?

如何在 Linux 上启用实时模式?

我有一个示例,相当无用的应用程序,它生成信号(某个频率的短尖峰,随后在尾部有较长的静默期),然后必须将其写入声卡。声卡本身只是用迷你插孔-迷你插孔电缆环回。因此,我的应用程序记录刚刚传输的信号,以检测以下路径的延迟:

应用程序->驱动程序->dac->线路输出->线路输入->adc->驱动程序->应用程序

首先,对于我的任务,我需要尽量减少延迟,超越亚毫秒范围。0.01-0.1ms 就足够了,因为这是 PC 平台上的声纳应用程序。

其次,我希望能够从填充整个缓冲区切换到处理单个样本。或者,最多最小化缓冲区大小以使其尽可能短。我计算出在 192khz 采样率下需要 16 个或更短的样本。完美的方法是实时处理单个样本,我听说这是可能的。

那么,我如何才能“启用实时”?我需要哪种实时 - 硬实时还是软实时?

答案1

检查您的软件包管理器,查找您的 linux 映像(内核)的“rt”版本。另一个选择是使用“rt”补丁重新编译您的内核。

有关实时内核的非常好的解释请参见关联

答案2

我如何才能“启用实时”?

Csound 通过命令行提供音频的“实时”播放。
http://csound.github.io/download.html
http://www.csounds.com/manual/html/UsingRealTime.html

它要求您下载并安装 Csound,并使用它来代替您的默认音频设备。

我需要哪种实时——硬实时还是软实时?

Csound 是一种“软”解决方案。

相关内容