目录
- 一.利用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 pygame
def 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 threading
def 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("录音结束!")