USB声卡(MiniStreamer)在Linux系统下的S/PDIF输入配置

问题描述:

公司采购了一块USB声卡(MiniStreamer),想要实现在Linux系统下的数字和模拟音频双输入功能,由于MiniStreamer的生产商明确说明,其产品只提供windows和mac系统下的支持,Linux系统下不提供技术支持。本人在google上看到有人曾经成功在linux环境下配置好,抱着试试看的态度决定实现在Linux环境下的完整配置。

开发环境确认:

MiniStreamer:外接usb声卡,提供S/PDIF数字接口和I2S模拟接口,默认24bit/48k采样率,可支持高达96k的采样率

操作系统:Ubuntu16.04 LTS

模拟I2S输入配置:

按照ministreamer官网上的user's guid说明书操作即可,注意电源/模式两个短路套,输入信号线对上号。usb插上就能用,不用做任何配置。在ubuntu的输入音源上选择ministreamer即可


数字S/PDIF输入配置:

这个就有点麻烦了,你也许能够发现在输入音源上有一个ministreamer/spdif的选项,但是选择该选项是不起作用的。

本人在该问题上卡了整整一个礼拜,最终在强大的Google和StackOverflow的帮助下脱离了苦海(珍惜时间,远离百度。。。)

原理大致上是:选择ministreamer声卡,并且手动配置SPDIF的输入源!这个是关键

不要去改配置文件了, ~/.asoundrc文件根本找不到, /etc/asound.conf也找不到。放弃吧。。。

先给一种命令行配置的方法

  1. 先命令行下看看自己的硬件上是否找到了ministreamer这块声卡
aplay -l

可以看到,有两块声卡,card 0是系统自带的声卡, card 1就是ministreamer。

查看可用的控制命令有哪些

amixer -c 1 scontrols

可以看到有一个PCM Capture Source的控制命令,这个就是配置输入源的

查看一下输入源配置支持几个参数

amixer -c 1 get 'PCM Capture Source'

此处支持"IEC958 In"(数字输入) 和"Line"(模拟输入)两个模式

配置为数字输入即可

amixer -c 1 set 'PCM Capture Source' 'IEC958 In'

至此,实现了S/PDIF的输入配置,可以试试看配置是否生效了。

如果你需要把输入源换回模拟输入,很简单,一行命令就搞定:

amixer -c 1 set 'PCM Capture Source' 'Line'

其实:你有更简单的方法,用图形化界面来配置

通过alsamixer图形化界面来手动选择

  1. 命令行键入 alsamixer后进入主界面
  2. F6选择ministreamer这块声卡
  3. “->”移动到PCM Capture Source选项卡上
  4. "向上"方向键修改为"IEC958 In"


参考链接:

非常有参考价值: https://linuxmusicians.com/viewtopic.php?t=10271

猜你喜欢

转载自blog.csdn.net/yinchao163/article/details/82863891