关于Ubuntu系统的音频录制和播放以及bug解决

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

1.安装

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

2.查看音频设备

$ cat /proc/asound/cards

3.查看音频输入设备

$ arecord -l

4.查看音频输出设备

$ aplay -l

5.录音

$ 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

6.播放

$ aplay test.wav

=================

7.利用pyaudio模块来录音和播放

运行test.py

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时,通常会出现此问题。

解决方案:

方法一:

$ conda install nwani::portaudio nwani::pyaudio

方法二:

$ conda remove pyaudio

$ conda remove portaudio

$ pip install pyaudio

一般这俩种方法都可以解决问题。

你可能感兴趣的:(ASR)