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) |
| 2 | USBヘッドセットの再生・録音確認 | 左右ステレオ再生、USBマイク録音 |
| 3 | 音量・ゲイン最適化 | 小音量・歪みを解消し実用レベルへ |
| 4 | Zoom導入と依存解決 | .deb 導入・依存インストール・起動確認 |
| 5 | 起動方式の最適化 | アイコンクリック/URLクリック運用、常駐不要 |
| 6 | 異常終了後のクリーンナップ | kill無しの掃除スクリプトをデスクトップアイコン化 |
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 |
# 再生テスト(左右確認)
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% |
# 再生は 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` で確認 |
# 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 |
alsamixer # ←/→ で項目移動、↑/↓ で音量、M でミュート解除、SpaceでCAPTURE
alsamixer -c 1 # USBカード側
| 項目 | 操作 |
| Master/PCM/Headphone | 再生側の音量を上げる |
| Mic/Capture | 入力ゲインを調整、CAPTUREフラグをON |
Linux の音声機能を理解する上で、ALSA(Advanced Linux Sound Architecture) は中核です。
以下では、初心者にも内部構造がわかるように、機能と役割を体系的に説明します。
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は大きく3層で構成されています。
| 層 | 構成要素 | 役割 |
| カーネル層 | ALSAドライバ(snd_* モジュール) | ハードウェアデバイスと直接通信(例:snd_hda_intel) |
| ライブラリ層 | libasound.so(ALSAライブラリ) | アプリケーションからのAPI呼び出しを抽象化 |
| ユーザー層 | aplay, arecord, alsamixer, amixer, alsactl など | 音声再生・録音・音量制御などの操作コマンド |
| 機能 | 説明 | 代表的コマンド/設定 |
| デバイス認識 | サウンドカード・USBヘッドセット・HDMI音声の自動検出 | aplay -l, arecord -l, /proc/asound/cards |
| ドライバ管理 | snd_hda_intel などのモジュールを通じてHW制御 | lsmod | grep snd |
| PCM再生・録音 | アナログ/デジタル音声データを送受信 | aplay, arecord |
| ミキサー制御 | 音量調整・ミュート・入力選択 | amixer, alsamixer |
| 構成管理 | デバイス優先順位・仮想デバイス定義 | /etc/asound.conf, ~/.asoundrc |
| 状態保持 | 再起動後も音量設定を保存/復元 | alsactl store, alsactl restore |
| デバイス種別 | 説明 | 例 |
| ハードウェアデバイス(hw) | 物理カードに直接アクセス | hw:0,0(card0, device0) |
| プラグデバイス(plughw) | 自動的にサンプリング変換やフォーマット調整 | plughw:1,0(USBで推奨) |
| デフォルトデバイス | asound.conf に定義された標準出力 | default |
| 仮想デバイス | ソフトミキサ(dmix等)を通じて複数アプリから共有 | default, dmix, pulse |
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を経由して出力しています。
| ファイル | 目的 | 主な内容 |
| /etc/asound.conf | システム全体の既定設定 | デフォルトデバイス指定、仮想デバイス定義 |
| ~/.asoundrc | ユーザー単位の上書き設定 | ユーザー独自の音量・デバイス設定 |
例:USBをデフォルト出力にする設定
defaults.ctl.card 1
defaults.pcm.card 1
| コマンド | 目的 | 備考 |
| 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 |
| 観点 | 特徴 | 補足 |
| 軽量性 | PulseAudioより低負荷 | 組み込み・軽量Linuxで主流 |
| 遅延 | 非常に低レイテンシ | リアルタイム性に強い |
| 共有 | 単体では1デバイス1アプリ制約 | dmix により同時再生可 |
| 拡張性 | 設定柔軟だが複雑 | PulseAudioで抽象化される傾向 |