导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    录音和播放—R329智能语音开发板入门

    A Series
    1
    1
    1208
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • miumiu
      WOW LV 5 最后由 编辑

      转发自:https://aijishu.com/a/1060000000191888

      R329 EVB5开发板背面贴了3颗麦克风,可组成麦克风阵列,
      配合降噪算法调试语音识别类产品。

      496f13ca-d17e-45e2-af65-b5d68a499ec4-image.png

      同时接出了SPK L/R,可以接喇叭进行音频相关的调试。
      c1f851e9-784a-491b-b3ae-609979cb2b4b-image.png

      *另需注意图中所示的跳线帽需要接上,否则喇叭播放会不出声音

      录音
      Tina Linux中的音频子系统采用ALSA架构实现。ALSA全称 Advanced Linux Sound Architecture,是目前主流的Linux音频体系结构。

      ALSA在内核设备驱动层提供了驱动框架alsa-driver,同时在应用层提供了音频接口库alsa-lib,应用程序只要调用alsa-lib提供的API,即可以完成对底层音频硬件的控制。

      内置的固件中,已经封装好了音频相关模块,可以直接使用demo录音和播放。

      root@TinaLinux:/# arecord test.wav
      [ 53.158988] sunxi-codec-machine sndcodec: sunxi_hifi_sndcodec_startup
      [ 53.166483] sunxi-codec-machine sndcodec: sunxi_hifi_sndcodec_hw_params
      [ 53.173967] sunxi-internal-cpudai cpudai: ======== hw_params ========
      [ 53.181212] sunxi-internal-cpudai cpudai: pcm_params->format:2
      [ 53.187771] sunxi-internal-cpudai cpudai: pcm_params->channels:5
      [ 53.194529] sunxi-internal-cpudai cpudai: pcm_params->rate:16000
      [ 53.201281] sunxi-internal-cpudai cpudai: pcm_params->period_size:1024
      [ 53.208622] sunxi-internal-cpudai cpudai: pcm_params->periods:4
      [ 53.215276] sunxi-internal-cpudai cpudai: pcm_params->pcm_frames:1024
      [ 53.222513] sunxi-internal-cpudai cpudai: pcm_params->buffer_size:4096
      [ 53.229849] sunxi-internal-cpudai cpudai: ===========================
      [ 53.253756] sunxi-internal-cpudai cpudai: sunxi_hifi_pcm_hw_params
      Recording WAVE 'test.wav' : Unsigned 8 bit, Rate 8000 Hz, Mono
      ^CAborted by signal Interrupt...
      [ 64.045853] sunxi-internal-cpudai cpudai: sunxi_hifi_pcm_hw_free
      arecord: pcm_read:2072: read error: Interrupted system call
      [ 64.090576] sunxi-codec-machine sndcodec: sunxi_hifi_sndcodec_shutdown
      root@TinaLinux:/# ls
      44100-mono-s16_le-10s.wav rdinit
      base rom
      bin root
      dev sbin
      etc sys
      lib test.wav
      lib64 tmp
      mnt usr
      overlay var
      proc www

      19289140-12a0-4f31-a78a-b7503b34532c-image.png

      播放
      使用命令aplay +音频文件即可播放该文件,如:

      root@TinaLinux:/# aplay test.wav
      [ 125.270510] sunxi-codec-machine sndcodec: sunxi_hifi_sndcodec_startup
      [ 125.278025] sunxi-codec-machine sndcodec: sunxi_hifi_sndcodec_hw_params
      [ 125.285477] sunxi-internal-cpudai cpudai: ======== hw_params ========
      [ 125.292722] sunxi-internal-cpudai cpudai: pcm_params->format:2
      [ 125.299283] sunxi-internal-cpudai cpudai: pcm_params->channels:2
      [ 125.306043] sunxi-internal-cpudai cpudai: pcm_params->rate:48000
      [ 125.312797] sunxi-internal-cpudai cpudai: pcm_params->period_size:1024
      [ 125.320138] sunxi-internal-cpudai cpudai: pcm_params->periods:4
      [ 125.326795] sunxi-internal-cpudai cpudai: pcm_params->pcm_frames:1024
      [ 125.334034] sunxi-internal-cpudai cpudai: pcm_params->buffer_size:4096
      [ 125.341369] sunxi-internal-cpudai cpudai: ===========================
      [ 125.490383] sunxi-internal-cpudai cpudai: sunxi_hifi_pcm_hw_params
      Playing WAVE 'test.wav' : Unsigned 8 bit, Rate 8000 Hz, Mono
      [ 136.190698] sunxi-internal-cpudai cpudai: sunxi_hifi_pcm_hw_free
      [ 136.370445] sunxi-codec-machine sndcodec: sunxi_hifi_sndcodec_shutdown

      6d19d303-8611-458b-9881-5a0284507dfe-image.png

      查看音频文件
      把文件拉到电脑上
      我们可以通过adb将音频文件拉到电脑上查看。

      adb pull test.wav
      51964461-ae17-4451-8212-039766580f91-image.png

      Audacity
      查看音频文件可以使用音频处理软件,如Audacity。

      这是一个常用的音频处理软件,免费,开源,遵循GNU协议,可以到网上搜索下载。Windows和Ubuntu版本均有。

      3946401c-4d8d-47b5-a091-2a8b4fae2385-image.png

      上图就是我们用Audacity打开刚刚录下的音频文件的样子。图中只有一个声道,如果是用三麦克风的阵列录得声音,我们可以看到有三个音轨。如果还有一路或者两路回路(AEC),我们一根可以看到四个或者五个音轨。

      录三个声道
      录三个声道可以使用命令:
      ”-D:”代表设备,“-f”代表格式(采样深度和大小端),“-c”代表声道数。这里我们录了3个声道,如果3个声道的麦克风都是好的,拉到电脑用Audacity上查看可以看到如图所示的三个音轨:

      fc7bb804-e375-4932-b6ec-a005762e7301-image.png

      温馨tips:如想了解更多R329相关开发信息,点击查看 全志科技R329智能语音开发板详细资料
      https://r329.docs.allwinnertech.com/zh_CN/latest/

      1 条回复 最后回复 回复 引用 分享 0
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策