Maya44 USB 音频支持说明¶
注意
以下是 Rainer 补丁的原始文档,当前 maya44 代码基于该补丁。某些内容可能已过时,但我在此保留作为参考 -- tiwai
2008 年 2 月 14 日
Rainer Zimmermann <mail@lightshed.de>
开发状态¶
此驱动程序是在 Piotr Makowski (oponek@gmail.com) 的倡议下开发,由 Lars Bergmann 资助。 由 Rainer Zimmermann (mail@lightshed.de) 进行开发。
ESI 提供了 Maya44 卡的样品用于开发工作。
但是,不幸的是,很难获得详细的编程信息,因此我(Rainer Zimmermann)不得不通过实验和推测来找出一些特定于卡的信息。 某些信息(特别是,几个 GPIO 位)仍然缺失。
这是 Maya44 驱动程序的第一个测试版本,已发布到 alsa-devel 邮件列表(2008 年 2 月 5 日)。
以下功能有效,已由 Rainer Zimmermann 和 Piotr Makowski 测试
所有采样率下的播放和捕获
输入/输出电平
交叉混音
线路/麦克风开关
幻象电源开关
模拟监听,又名旁路
以下功能应该有效,但未经过全面测试
通道 3+4 模拟 - S/PDIF 输入切换
S/PDIF 输出
M/IO/DIO 扩展卡上的所有输入/输出
内部/外部时钟选择
特别是,我们感谢任何拥有 M/IO/DIO 扩展卡的人员对这些功能进行测试。
似乎不起作用的事情
‘alsamixer’ 中的电平表(“多轨”)似乎对信号没有反应(如果这是一个错误,则可能存在于现有的 ICE1724 代码中)。
Ardour 2.1 似乎只能通过 JACK 工作,而不能直接通过 ALSA 或通过 OSS 工作。 这仍然需要追踪。
驱动程序详细信息¶
添加了以下文件
pci/ice1724/maya44.c - Maya44 特定代码
pci/ice1724/maya44.h
pci/ice1724/ice1724.patch
pci/ice1724/ice1724.h.patch - 建议的 ice1724.h 补丁(参见采样率)
i2c/other/wm8776.c - Wolfson WM8776 编解码器的底层访问例程
include/wm8776.h
请注意,wm8776.c 代码旨在独立于卡,实际上并未在 ALSA 基础结构中注册编解码器。 这在 maya44.c 中完成,主要是因为某些 WM8776 控件以 Maya44 特定的方式使用,因此应进行适当的命名。
在 pci/ice1724 中创建了以下文件,仅包含 alsa-kernel 树中的相应文件
wtm.h
vt1720_mobo.h
revo.h
prodigy192.h
pontis.h
phase.h
maya44.h
juli.h
aureon.h
amp.h
envy24ht.h
se.h
prodigy_hifi.h
我希望这是正确的方法。
采样率¶
Maya44 卡(或更准确地说,Wolfson WM8776 编解码器)允许的最大采样率,播放为 192 kHz,捕获为 92 kHz。
由于 ICE1724 芯片只允许一个全局采样率,因此处理方式如下
在 maya44 卡上的任何打开的 PCM 设备上设置采样率将始终设置所有播放和捕获通道的全局采样率。
在驱动程序的当前状态下,即使对于捕获设备,也允许设置高达 192 kHz 的速率。
避免以高于 96kHz 的速率捕获,即使它看起来可以工作。 编解码器实际上无法以这种速率捕获,这意味着质量很差。
我建议一些额外的代码,用于限制在捕获 PCM 设备上设置时的采样率。 但是,由于全局采样率,此逻辑将有些问题。
建议的代码(当前已停用)位于 ice1712.h.patch、ice1724.c 和 maya44.c (在 pci/ice1712 中)。
声音设备¶
PCM 设备对应于以下输入/输出(假设 Maya44 是卡 #0)
hw:0,0 输入 - 立体声,模拟输入 1+2
hw:0,0 输出 - 立体声,模拟输出 1+2
hw:0,1 输入 - 立体声,模拟输入 3+4 或 S/PDIF 输入
hw:0,1 输出 - 立体声,模拟输出 3+4 (和 SPDIF 输出)
混音器控件的命名¶
(有关信号流的更多信息,请参考 ESI Maya44 手册第 24 页或 ESI windows 软件中的框图)。
- PCM
通道 1+2 的(数字)输出电平
- PCM 1
通道 3+4 相同
- 麦克风幻象 +48V
用于输入 1/2 上静电麦克风的 +48V 幻象电源的开关。
确保在将任何其他音源连接到输入 1/2 时未打开此开关。 它可能会损坏音源和/或 maya44 卡。
- 麦克风/线路输入
如果开关打开,则输入插孔 1/2 为麦克风输入(单声道),否则为线路输入(立体声)。
- 旁路
通道 1+2 从 ADC 输入到输出的模拟旁路。 与 windows 驱动程序中的“监听”相同。
- 旁路 1
通道 3+4 相同。
- 交叉混音
从通道 1+2 到通道 3+4 的交叉混音器
- 交叉混音 1
从通道 3+4 到通道 1+2 的交叉混音器
- IEC958 输出
S/PDIF 输出的开关。
ESI windows 驱动程序不支持此功能。 S/PDIF 应该输出与通道 3+4 相同的信号。 [未经测试!]
- 数字输出选择器
这些开关允许从 ADC 到 DAC 的直接数字路由。 每个开关确定到一个 DAC 的数字输入数据来自哪里。 ESI windows 驱动程序不支持它们。 对于正常操作,它们都应设置为“PCM 输出”。
- H/W
输出源通道 1
- H/W 1
输出源通道 2
- H/W 2
输出源通道 3
- H/W 3
输出源通道 4
- H/W 4 ... H/W 9
未知功能,保留用于启用测试。
可能其中一些控制 S/PDIF 输出。 如果这些被证明未使用,它们将在以后的驱动程序版本中消失。
每个数字输出选择器的可选值为
- PCM 输出
相应通道的 DAC 输出(默认设置)
- 输入 1 ... 输入 4
从所选输入通道的 ADC 输出直接路由