USB Driverless Sound Card - Product Introduction

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

相关链接