目录 一.利用pygame(略显麻烦,有时候播放不太正常) 二.利用mpg123(简洁方便,但仅争对mp3) 三.利用sox(简单方便,支持的文件格式多) 四.语音识别(录音) (1)查看录音设备 (2)定时录音命令 (3)不定时录音命令 (4)python脚本控制
一.利用pygame(略显麻烦,有时候播放不太正常)
1.安装依赖库
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pygame == 2.5 .2
2.代码
import pygamedef play_audio ( audio_file) : pygame. mixer. init( ) pygame. mixer. music. load( audio_file) pygame. mixer. music. play( ) while pygame. mixer. music. get_busy( ) : pygame. time. Clock( ) . tick( 10 ) if __name__ == '__main__' : audio_file = 'path/to/your/audio/file.mp3' play_audio( audio_file)
二.利用mpg123(简洁方便,但仅争对mp3)
1.安装依赖库
sudo apt-get install mpg123
2.代码
import os
os. system( 'mpg123 /home/pi/Desktop/music/爱你.mp3' )
三.利用sox(简单方便,支持的文件格式多)
1.安装依赖库
sudo apt-get install sox
2.代码
import os
os. system( 'play /home/pi/Desktop/music/爱你.mp3' )
四.语音识别(录音)
(1)查看录音设备
arecord -l
(2)定时录音命令
arecord -D "plughw:2,0" -f S16_LE -r 16000 -d 5 question1.wav
-D "plughw:2,0" 2,0 表示card2 device 0
-f S16_LE 指定录音格式
-r 16000 指定了采样率,单位时Hz
-d 指定录音的时长,单位时秒
question1.wav 文件名称及格式
(3)不定时录音命令
arecord -D "plughw:2,0" -f S16_LE -r 16000 question1.wav
(4)python脚本控制
import os
import threadingdef print_time ( t) : t= t+ 1 os. system( 'clear' ) print ( "times:" , t, "s, (Ctrl + C to Stop!)" ) timer = threading. Timer( 1 , lambda : print_time( t) ) timer. start( ) timer = threading. Timer( 1 , lambda : print_time( 0 ) )
timer. setDaemon( True )
timer. start( ) os. system( 'arecord -D "plughw:2,0" -f S16_LE -r 16000 question1.wav' )
print ( "录音结束!" )