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
    
  • 相关阅读:
    [CF451E] Devu and Flowers
    [CF1038E] Maximum Matching
    [CF825E] Minimal Labels
    [CCPC2020绵阳L] Lottery
    [CCPC2020绵阳K] Knowledge is Power
    [CCPC2020绵阳J] Joy of Handcraft
    [CCPC2020绵阳G] Game of Cards
    [CCPC2020绵阳D] Defuse the Bombs
    [CF1082E] Increasing Frequency
    [CF301B] Yaroslav and Time
  • 原文地址:https://www.cnblogs.com/nanmi/p/15069248.html
Copyright © 2011-2022 走看看