Language
JuxiTechnology USBドライバーレスサウンドカードはプラグアンドプレイのオーディオデバイスで、UAC (USB Audio Class) 標準に対応し、Windows、Linux、macOSなどの主要OSでドライバーの追加インストールなしで使用できます。音声の録音と再生に対応し、組み込み開発、音声認識、音声収集などさまざまな用途に適しています。
主な機能
- プラグアンドプレイ: UAC標準準拠、ドライバーのインストール不要。USBポートに挿すだけですぐ使えます
- 音声録音: 16KHz/48KHzサンプリングレート、16ビット精度の音声録音に対応
- 音声再生: ステレオ出力に対応、ヘッドホンやスピーカーを接続可能
- クロスプラットフォーム互換: Windows、Linux、macOS、Jetson、Raspberry Pi、RDKなど複数のプラットフォームに対応
- 柔軟な設定: ALSA/PulseAudioなどのオーディオフレームワークに対応、サンプリングレートやチャンネル数などのパラメータをカスタマイズ可能
クイックスタート
1. デバイスの認識
USBサウンドカードを挿したら、次のコマンドでシステムに認識されているか確認できます:
# View USB device list
lsusb | grep -i audio
# View recording device list
arecord -l
# View playback device list
aplay -l
2. 基本的なオーディオテスト
2.1 録音テスト
次のコマンドを実行して5秒間の音声を録音します:
arecord -D plughw:X,0 -f S16_LE -r 16000 -d 5 -t wav test.wav
-
plughw:X,0: Xはarecord -lコマンドで表示されたサウンドカード番号 -
-f S16_LE: 16ビットリトルエンディアン音声形式を使用 -
-r 16000: 16KHzサンプリングレート -
-d 5: 録音時間5秒 -
test.wav: 出力ファイル名
2.2 再生テスト
録音が完了したら、次のコマンドを実行して録音した音声を再生します:
aplay -D plughw:X,0 -f S16_LE -r 16000 -c 1 test.wav
3. 音量調整
以下のalsamixerツールで音量を調整します:
alsamixer
- を押して、
F6USBサウンドカードを選択します - を押して、
F5録音と再生デバイスを同時に表示します - 上下矢印キーで音量を調整します
- を押して、
Mキーでミュートを解除します - を押して、
ESCキーで終了します
調整完了後、設定を保存します:
sudo alsactl store
システム互換性設定
1. Linuxシステムの基本設定
必要なツールをインストールします:
sudo apt update && sudo apt install alsa-base alsa-utils usbutils
カーネルのサポートを確認します:
# Check if snd_usb_audio module exists
modinfo snd_usb_audio
# Load module (if not loaded)
sudo modprobe snd_usb_audio
権限の設定:
# Add current user to audio group
sudo usermod -aG audio $USER
2. Jetson/Raspberry Pi/RDKプラットフォームの特別設定
2.1 デバイス占有問題の解決
デバイスが占有されている場合:
# View processes occupying audio devices
sudo lsof /dev/snd/*
# Kill the occupying process
kill -9
2.2 ノイズ問題の解決
Raspberry Piプラットフォームでは設定を変更することでノイズを低減できます:
sudo vi /boot/config.txt
# Add the following content
audio_pwm_mode = 2
# Save and reboot
sudo reboot
Python呼び出し例
Pythonを使用してUSBドライバーレスサウンドカードで音声を録音する例:
import sounddevice as sd
import numpy as np
import wave
# Configuration parameters
samplerate = 16000
duration = 5 # Recording duration in seconds
channels = 1
# Record audio
print("Recording started...")
recording = sd.rec(int(duration * samplerate), samplerate=samplerate, channels=channels, dtype='int16')
sd.wait()
print("Recording completed")
# Save as WAV file
with wave.open('output.wav', 'wb') as wf:
wf.setnchannels(channels)
wf.setsampwidth(2) # 16-bit = 2 bytes
wf.setframerate(samplerate)
wf.writeframes(recording.tobytes())
先に依存関係のインストールが必要です:
pip install sounddevice numpy
関連リンク

