antiXのマイク、スピーカー設定

2025/10/31
antiX(runit 版/rox‑iceWM)を搭載した Let's note CF‑LX5 において、内蔵オーディオとUSBヘッドセットを確実に動かします。

検証環境(実機)

項目内容
ハードウェアPanasonic Let's note CF‑LX5(i5‑6300U、RAM 4GB)
ディストリビューションantiX Linux 64bit(runit版)
サウンドRealtek ALC256 / HDA Intel PCH、USB Audio Headset

ゴール

段階内容成果
1内蔵スピーカー・マイクの認識確認ALSAで認識(再生/録音OK)
2USBヘッドセットの再生・録音確認左右ステレオ再生、USBマイク録音
3音量・ゲイン最適化小音量・歪みを解消し実用レベルへ
4Zoom導入と依存解決.deb 導入・依存インストール・起動確認
5起動方式の最適化アイコンクリック/URLクリック運用、常駐不要
6異常終了後のクリーンナップkill無しの掃除スクリプトをデスクトップアイコン化

1. ALSA でデバイス認識を確認

aplay -l
arecord -l
lspci | grep -i audio
lsmod | grep snd
amixer
確認ポイント目安
内蔵再生`card 0: PCH … ALC256 Analog`
HDMI`HDMI 0/1/2` が列挙
内蔵録音`arecord -l` に ALC256 Capture
ドライバ`snd_hda_intel` / `snd_usb_audio` など
音量`amixer` で Playback on / Capture on

2. 内蔵スピーカー・マイクの動作確認

# 再生テスト(左右確認)
speaker-test -c2 -t wav

# 録音→再生(5秒)
arecord -d 5 test.wav
aplay test.wav
症状対処
無音`alsamixer` で Mute解除(MM→00)、音量↑
録音が割れる`amixer set Capture 70%`、または `alsamixer` でCapture 70–85%

3. USBヘッドセットの認識とチャンネル不一致の回避

# 再生は 2ch を明示(モノラルファイルは避ける)
speaker-test -D hw:1,0 -c 2 -t wav

# 端末表示で再生デバイスを確認(参考)
cat /proc/asound/pcm
要点解説
チャンネル不一致USBはステレオ専用ことが多い→ `-c 2` 指定
デバイス番号`hw:1,0` / `hw:1,1` は `cat /proc/asound/pcm` で確認

4. USBマイクの録音(形式を明示して失敗回避)

# 16bit/44.1kHz/モノラルで録音(VUメーター付き)
arecord -D plughw:1,0 -f S16_LE -r 44100 -c 1 -V mono -d 5 test_usb.wav
aplay -D plughw:1,0 test_usb.wav

# もし capture が 1,1 側なら
arecord -D plughw:1,1 -f S16_LE -r 44100 -c 1 -V mono -d 5 test_usb2.wav
aplay -D plughw:1,0 test_usb2.wav
症状対処
録音できない/無音`-f S16_LE -r 44100 -c 1` を必ず付ける
小音量`alsamixer -c 1` → Capture/Mic を 70–90%、CAPTUREフラグON

5. ミキサー操作の最小要領(alsamixer)

alsamixer          # ←/→ で項目移動、↑/↓ で音量、M でミュート解除、SpaceでCAPTURE
alsamixer -c 1     # USBカード側
項目操作
Master/PCM/Headphone再生側の音量を上げる
Mic/Capture入力ゲインを調整、CAPTUREフラグをON

Linux の音声機能を理解する上で、ALSA(Advanced Linux Sound Architecture) は中核です。
以下では、初心者にも内部構造がわかるように、機能と役割を体系的に説明します。

ALSAとは

Advanced Linux Sound Architecture の略。
Linuxカーネルに組み込まれた「音声入出力の標準サブシステム」で、
現在では OSS(Open Sound System)に代わる事実上の標準 です。
項目要点
構造カーネルドライバ+ライブラリ+ユーザーコマンドで構成
役割音声デバイスの認識・再生・録音・ミキサー制御
代表モジュールsnd_hda_intel, snd_usb_audio, snd_soc_*
設定/etc/asound.conf, ~/.asoundrc
他システムとの関係PulseAudioやPipeWireはALSAを下層として利用
特長軽量・低遅延・組込み適性高い
限界同時再生制約/設定が難解な場合あり

ALSAの構成

ALSAは大きく3層で構成されています。
構成要素役割
カーネル層ALSAドライバ(snd_* モジュール)ハードウェアデバイスと直接通信(例:snd_hda_intel)
ライブラリ層libasound.so(ALSAライブラリ)アプリケーションからのAPI呼び出しを抽象化
ユーザー層aplay, arecord, alsamixer, amixer, alsactl など音声再生・録音・音量制御などの操作コマンド

ALSAが担う主な機能

機能説明代表的コマンド/設定
デバイス認識サウンドカード・USBヘッドセット・HDMI音声の自動検出aplay -l, arecord -l, /proc/asound/cards
ドライバ管理snd_hda_intel などのモジュールを通じてHW制御lsmodgrep snd
PCM再生・録音アナログ/デジタル音声データを送受信aplay, arecord
ミキサー制御音量調整・ミュート・入力選択amixer, alsamixer
構成管理デバイス優先順位・仮想デバイス定義/etc/asound.conf, ~/.asoundrc
状態保持再起動後も音量設定を保存/復元alsactl store, alsactl restore

ALSAデバイスの概念

デバイス種別説明
ハードウェアデバイス(hw)物理カードに直接アクセスhw:0,0(card0, device0)
プラグデバイス(plughw)自動的にサンプリング変換やフォーマット調整plughw:1,0(USBで推奨)
デフォルトデバイスasound.conf に定義された標準出力default
仮想デバイスソフトミキサ(dmix等)を通じて複数アプリから共有default, dmix, pulse

ALSAとPulseAudio/PipeWireの関係

ALSAは最下層の音声I/Oを担い、PulseAudioやPipeWireはその上で動く「ミキサー兼ルーティング層」です。
階層役割
アプリケーション音楽プレイヤー、Zoom、Teams等aplay, Firefox, Zoom
PulseAudio/PipeWire複数アプリの音声を統合・転送pavucontrol, pipewire
ALSAライブラリアプリ → カーネルの橋渡しlibasound.so
ALSAドライバハードウェア直接制御snd_hda_intel, snd_usb_audio
つまり、PulseAudioも最終的にはALSAを経由して出力しています。

ALSA設定ファイルの概要

ファイル目的主な内容
/etc/asound.confシステム全体の既定設定デフォルトデバイス指定、仮想デバイス定義
~/.asoundrcユーザー単位の上書き設定ユーザー独自の音量・デバイス設定
例:USBをデフォルト出力にする設定
bash
defaults.ctl.card 1
defaults.pcm.card 1

ALSAの代表的コマンド

コマンド目的備考
aplay再生aplay -D hw:1,0 sample.wav
arecord録音arecord -D plughw:1,0 -f S16_LE -r 44100 -c 1 test.wav
amixer音量設定(CLI)amixer set Master 70%
alsamixer音量設定(CUI)グラフィカルなTUI
alsactl設定保存/復元alsactl store/alsactl restore

ALSAの特徴と限界

観点特徴補足
軽量性PulseAudioより低負荷組み込み・軽量Linuxで主流
遅延非常に低レイテンシリアルタイム性に強い
共有単体では1デバイス1アプリ制約dmix により同時再生可
拡張性設定柔軟だが複雑PulseAudioで抽象化される傾向