USBドライバーレスサウンドカード – 製品紹介

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

関連リンク

 

この記事は要約です。完全な技術ドキュメントは Wiki でお読みください。

Wiki で全文を読む →

Feishu Wiki で開く