我已经安装了 Cepstral Swift(语音测试),当我运行应该输出音频的命令时,我收到错误
oss_audio: failed to open audio device /dev/dsp
我确保还安装了 OSS:
dnf install alsa-utils alsa-plugins-oss
但仍然是同样的错误。我可以确认设备 /dev/dsp 不存在。我尝试安装 padsp 工具(将 OSS 音频路由到 PA),但该工具不适用于 AlmaLinux 9
答案1
/dev/dsp
是较旧的“OSS”Linux 音频驱动程序的设备名称,这些驱动程序大多具有历史意义(或者可能具有非常专业的音频硬件)。 Linux 上的现代低级音频驱动系统是 ALSA。
现代发行版甚至可能不再加载 ALSA 的 OSS 兼容性内核模块,甚至可能已将它们从标准内核中删除。
如果您的发行版包含 OSS 兼容性模块,您可以尝试加载它们:
sudo modprobe snd-pcm-oss
sudo modprobe snd-mixer-oss
如果这些内核模块不可用,则可能存在兼容性包装二进制文件aoss
(可能位于名为 的包中alsa-oss
,具体取决于发行版)。
如果您使用 PulseAudio 作为更高级别的音频混合/管理层,还有padsp
一个类似的包装二进制文件,允许 OSS 音频应用程序输出到 PulseAudio。
这alsa-plugins-oss
软件包具有相反的兼容性接口:它允许 ALSA 感知应用运行在OSS上司机,与适当的~/.asoundrc
配置。由于您的应用程序显然尝试使用/dev/dsp
,这意味着它使用 OSS 接口,因此alsa-plugins-oss
包对您没有用处。
不幸的是,看起来AlmaLinux 9在其标准内核配置中既没有上述内核模块,也没有可用的padsp
noraoss
包装实用程序。这意味着仅支持OSS音频接口的应用程序将无法直接在AlmaLinux 9上产生音频。
基于快速谷歌搜索,您可能仍然可以使用 Cepstral Swift*.wav
从文本生成音频文件,然后使用aplay
或类似的工具来播放它们。如果可以使 Cepstral 将音频数据输出到标准输出,您也许能够构建一个两命令管道,将文本转换为直接音频输出。