菜鸟科技网

tinymix命令怎么用?参数有哪些?

tinymix 是一个非常实用的命令行工具,主要用于在 ALSA (Advanced Linux Sound Architecture) 音频系统上进行调试和配置,它尤其适用于嵌入式系统、物联网设备或任何使用 ALSA 驱动的 Linux 环境,因为它轻量、直接,并且不需要复杂的图形界面。

tinymix命令怎么用?参数有哪些?-图1
(图片来源网络,侵删)

什么是 tinymix

tinymix 是 ALSA-utils 软件包的一部分,它允许用户直接与 ALSA 的 PCM(数字音频)和 Mixer(混音器)设备进行交互,你可以用它来:

  • 查看 音频设备中有多少个控制项(如音量、开关、增益等)。
  • 获取 某个控制项的当前值。
  • 设置 某个控制项的值。
  • 列出 所有控制项的名称和当前值。

前提条件

在使用 tinymix 之前,你的系统必须已经安装了 ALSA 和 tinymix

  • 在 Debian/Ubuntu 系统上:

    sudo apt-get update
    sudo apt-get install alsa-utils

    tinymix 包含在 alsa-utils 包中。

    tinymix命令怎么用?参数有哪些?-图2
    (图片来源网络,侵删)
  • 在 Yocto/嵌入式系统上: tinymix 通常是 alsa-utils recipe 的一部分,会在构建镜像时自动包含。

基本语法

tinymix [选项] [声卡] [控制项] [值]
  • 选项: 可选参数,如 -h (帮助)。
  • 声卡: 目标 ALSA 声卡名称,通常是 hw:0hw:1 等,如果不指定,通常默认为 hw:0
  • 控制项: 你想操作的音频控制项的名称(如 'Master', 'Capture', 'Headphone')。
  • : 你想设置的值(对于开关通常是 0/1,对于音量通常是 0-100)。

常用命令详解

查看所有可用控制项

这是最常用的命令,它列出了指定声卡上所有可以调节的音频控制项。

语法:

tinymix [声卡]

示例:

tinymix命令怎么用?参数有哪些?-图3
(图片来源网络,侵删)
# 查看默认声卡 (通常是 hw:0) 的所有控制项
tinymix
# 查看 hw:1 声卡的所有控制项
tinymix hw:1

输出示例:

num controls = 28
Control 0: 'Master' [Capture 0 0] [1 0 1] [0 1]
Control 1: 'Headphone' [Capture 0 0] [1 0 1] [0 1]
Control 2: 'Speaker' [Capture 0 0] [1 0 1] [0 1]
Control 3: 'PCM' [Capture 0 0] [0 255 255] [0 255]
Control 4: 'LineIn' [Capture 0 0] [1 0 1] [0 1]
Control 5: 'Mic' [Capture 0 0] [1 0 1] [0 1]
...

输出解读:

  • num controls = 28: 总共有 28 个控制项。
  • Control 0: 'Master': 控制项的名称是 Master
  • [Capture 0 0]: 控制项的类型(这里是 Capture,表示输入/录音)。
  • [1 0 1]: 控制项的取值范围(最小值, 步进值, 最大值),对于开关,通常是 0 1 1
  • [0 1]: 当前值,对于开关,0 是关,1 是开,对于音量,0 是静音,1 是音量最大。

查看特定控制项的当前值

如果你想快速了解某个控制项(如耳机音量)的当前状态。

语法:

tinymix [声卡] [控制项名称]

示例:

# 查看 'Master' 音量
tinymix Master
# 查看 'Headphone' 的开关状态
tinymix Headphone

输出示例:

# 'Master' 的输出
Master: 255
# 'Headphone' 的输出
Headphone: 1

设置控制项的值

这是 tinymix 最强大的功能,可以直接在命令行调节音频。

语法:

tinymix [声卡] [控制项名称] [新值]

示例:

# 将 'Master' 音量设置为 128 (范围通常是 0-255)
tinymix Master 128
# 将 'Speaker' 开关关闭 (0=关, 1=开)
tinymix Speaker 0
# 将 'PCM' 音量设置为最大值 (根据上面的列表,最大值是 255)
tinymix PCM 255

查看帮助信息

如果你忘记了命令的用法,可以随时查看帮助。

语法:

tinymix -h

实际应用场景

假设你正在调试一块树莓派或者一个自定义的嵌入式板子,你想通过命令行控制声音。

  1. 列出所有音频控制:

    tinymix

    你可能会看到 'Speaker', 'Headphone', 'LineIn', 'Mic' 等控制项。

  2. 测试扬声器:

    • 先确保扬声器开关是打开的:
      tinymix Speaker 1
    • 然后设置一个适中的音量:
      tinymix PCM 180
    • 播放一首音乐,听听声音是否正常。
  3. 测试耳机:

    • 关闭扬声器,避免啸叫:
      tinymix Speaker 0
    • 打开耳机输出:
      tinymix Headphone 1
    • 插入耳机,播放音乐,确认声音从耳机输出。
  4. 调整麦克风增益:

    • 首先找到麦克风相关的控制项名称(可能是 'Mic', 'Mic Gain', 'ADC Gain' 等)。
      tinymic Mic
    • 假设输出是 Mic: 0,范围是 0 1 3,你可以尝试增加增益:
      tinymix Mic 2
    • 然后使用 arecord 命令录制一段音频来测试效果:
      arecord -f cd -d 5 test_microphone.wav

重要提示

  • 权限问题: 在大多数系统上,调节音量需要普通用户权限,但如果 tinymix 提示权限错误,你可能需要使用 sudo,或者将你的用户添加到 audio 组中。

    # 将当前用户添加到 audio 组 (永久生效)
    sudo usermod -a -G audio $USER
    # 需要重新登录才能生效
  • 控制项名称: 控制项的名称因硬件(声卡芯片)和驱动而异。tinymix 的第一步永远是 tinymix(不带任何参数)来列出你设备上实际的控制项名称。 不要直接复制粘贴别人的命令,因为他们的设备可能和你完全不同。

  • 值范围: 在设置值之前,先用 tinymix [控制项] 查看它的取值范围,避免设置无效值。

tinymix 是 ALSA 音频调试的“瑞士军刀”,它简单、直接、功能强大,是嵌入式开发者、系统管理员和任何需要精细控制 Linux 音频的用户的必备工具,掌握 tinymix,你就能在无图形界面的环境中游刃有余地管理声音。

分享:
扫描分享到社交APP
上一篇
下一篇