跳到主要内容

3.5mm 耳机接口

1. 简介

RK3506B 通过 I2S 和 I2C 接口连接外部音频编解码器 ES8311,实现音频录音与播放功能,支持麦克风输入和耳机输出,满足高质量音频处理需求。

2. 声音配置

  1. 查看声卡设备

    root@luckfox:~# arecord -l
    **** List of CAPTURE Hardware Devices ****
    card 0: rockchipes8311s [rockchip,es8311-sound], device 0: ff310000.sai-ES8311 HiFi ES8311 HiFi-0 [ff310000.sai-ES8311 HiFi ES8311 HiFi-0]
    Subdevices: 1/1
    Subdevice #0: subdevice #0

    root@luckfox:~# aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: rockchipes8311s [rockchip,es8311-sound], device 0: ff310000.sai-ES8311 HiFi ES8311 HiFi-0 [ff310000.sai-ES8311 HiFi ES8311 HiFi-0]
    Subdevices: 1/1
    Subdevice #0: subdevice #0

    • card0:ES8311 音频编码器
  2. 声卡的驱动目录

    root@luckfox:~# ls /dev/snd/
    by-path controlC0 pcmC0D0c pcmC0D0p timer
    • controlC0:用于声卡控制,C0 表示声卡0,对应上文的 es8311 的声音输出。 pcmC0D0c:用于录音的 pcm 设备,最后面的“c”是 capture 的缩写,表示录音
    • pcmC0D0p:用于播放的 pcm 设备,最后面的“p”是 playback 的缩写,表示放音。
    • by-path: 保存着设备的对应关系
    root@luckfox:~# ls -l /dev/snd/by-path/
    total 0
    lrwxrwxrwx 1 root root 12 Jan 1 00:00 platform-es8311-sound -> ../controlC0

3. 录制

  1. 使用采样率16kHz/2ch/16bit的 WAV 格式录音

    arecord -D hw:0,0  -t wav -d 10 -f S16_LE test.wav
    • -f S16_LE:指定PCM格式为16位小端(16-bit Little Endian),常见采样大小有 8 BIT、16BIT、32BIT(FLTP)
    • -r 16000:指定采样率为 16 kHz
    • -D hw:0:指定音频设备为 card0,device0
    • -d 30:指定录制时间为10秒
    • test.wav:指定输出文件名为test.wav
  2. 如果没有指定采样率参数,arecord 将使用默认的采样率。通常,arecord 的默认采样率是44100 Hz(44.1 kHz),这是 CD 音频标准的采样率。

    arecord -f cd -Dhw:0 -d 30 test.wav

4. 播放

  1. 播放 WAV 格式的音频。

    aplay test.wav

5. 音量调整

  1. 调节耳机音量(推荐)

    amixer -c 0 sset 'DAC VOLUME' 50%  
    • 建议调节范围40%~70%
    amixer -c 0 cset name='DAC VOLUME' 150
    • 建议调节范围100~180
  2. 使用 sox 调节音量

    #查看音量可以最大调整值倍数——Volume adjustment
    # sox anheqiao.wav -n stat
    Samples read: 22058820
    Length (seconds): 250.100000
    Scaled by: 2147483647.0
    Maximum amplitude: 0.891235
    Minimum amplitude: -0.891266
    Midline amplitude: -0.000015
    Mean norm: 0.153542
    Mean amplitude: -0.000068
    RMS amplitude: 0.206771
    Maximum delta: 1.232666
    Minimum delta: 0.000000
    Mean delta: 0.060496
    RMS delta: 0.092891
    Rough frequency: 3153
    Volume adjustment: 1.122

    #设置音量因子,生成另一个文件
    sox -v 0.2 anheqiao.wav output.wav
    • SoX是一个强大的音频处理工具,但是它的某些功能,比如MP3编码,可能需要特定的编译选项和依赖库才能支持。