USB 免驅動音效卡 - 產品介紹

Language

JuxiTechnology USB免驅聲卡是一款即插即用的音頻設備,支持UAC (USB Audio Class) 標準,無需額外安裝驅動程序即可在Windows、Linux、macOS等主流作業系統上使用。該聲卡支持音頻錄製與播放功能,適用於嵌入式開發、語音識別、音頻採集等多種應用場景。

核心功能

  • 即插即用:符合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
  • F6選擇USB聲卡
  • 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

相關鏈接

 

這篇文章是摘要。請在維基上閱讀完整的技術文件。

在維基百科上閱讀全文 →

在飛書知識庫中開啟