zoukankan      html  css  js  c++  java
  • Linux音频录制和播放

    Linux音频录制和播放

    目标:我想在Ubuntu系统上实现音频录制、播放或者甚至在线实时检测我的说话声音


    安装依赖

    $ sudo apt-get install alsa-utils alsa-tools alsa-tools-gui alsamixergui -y
    

    查看音频设备

    $ cat /proc/asound/cards
    

    查看音频输入设备

    $ arecord -l
    

    查看音频输出设备

    $ aplay -l
    

    录音

    $ arecord -D "plughw:0,0" -f S16_LE -r 16000 -d 5 -t wav test.wav
    
    指令 含义 本指令含义
    -D 选择设备名称 使用系统自带声卡plughw:0,0
    -f 录音格式 S16_LE代表有符号16位小端序
    -r 采样率 16000是16KHz采样
    -d 录音时长 录音X秒
    -t 录音格式 wav格式
    文件名,可以包含路径 文件名字叫test.wav

    播放

    $ aplay test.wav
    

    利用pyaudio模块来录音和播放

    import pyaudio
    
    audio = pyaudio.PyAudio()
    
    print(audio.get_default_output_device_info())
    

    但是会出现一个bug:IOError: [Errno -9996] Invalid input device (no default output device)或者OSError: No Default Output Device Available
    原因:是因为使用anaconda安装pyaudio和portaudio时,通常会出现此问题。
    解决方案1:

    $ conda install nwani::portaudio nwani::pyaudio
    

    解决方案2:

    $ conda remove pyaudio
    
    $ conda remove portaudio
    
    $ pip install pyaudio
    
  • 相关阅读:
    uniapp版本迭代
    上传图像裁剪功能
    uniapp 复制到剪切板
    uniapp吸顶功能
    地图导航到目的地
    uniapp视频图片上传
    获取昨天今天明天的时间
    【VUE】 前端面试题小结
    vue获取当前时间 实时刷新
    CSS linear-gradient() 函数
  • 原文地址:https://www.cnblogs.com/nanmi/p/15069248.html
Copyright © 2011-2022 走看看