难难难于上青天 2022-07-11 14:03
浏览 13
已结题

树莓派使用中录取音频问题

问题遇到的现象和发生背景

使用树莓派时,其只能录取到树莓派本身发出的声音(即打开树莓派的输出声音被其视为麦克风输入声音),但是这个代码在笔记本中是完全正常的,可以接收到麦克风接收的声音

问题相关代码,请勿粘贴截图

pip install baidu-aip

from aip import AipSpeech
import speech_recognition as sr
from win32com.client import Dispatch
import datetime
import time

speaker=Dispatch('SAPI.SpVoice')

APP_ID = '26601831'
API_KEY = 'kmN2ewIzpw8zLaD6S5gZ4Tyi'
SECRET_KEY = 'RUfN09FhKVYG1zVHsjmcL7NXe1XKqXeZ'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

def get_text(wav_bytes):
result = client.asr(wav_bytes, 'wav', 16000, {'dev_pid': 1537, })
try:
text = result['result'][0]
except Exception as e:
print(e)
text = ""
return text

r = sr.Recognizer()
mic = sr.Microphone()
print("请说话")

while True:
with mic as source:
r.adjust_for_ambient_noise(source)
# speaker.Speak('请说话')
audio = r.listen(source)

audio_data = audio.get_wav_data(convert_rate=16000)
print("\n正在分析")

text = get_text(audio_data)
arealist = [text]
# 随便打的一个list想检查其中元素是否含有 '经验' 这个内容
for i in arealist:
    # print('i=',i)
    print("i.find(u'大咩')", i.find(u'大咩'))
    if i.find(u'大咩') != -1:
        print('yes')
    else:
        print('no')
    print('-----')
    print('时间:', time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))

#print(text)

运行结果及报错内容

运行一切正常,但只是识别到了树莓派本身的输出声音

我想要达到的结果

要识别出麦克风接收到的声音(即输入声音)

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 7月19日
    • 创建了问题 7月11日

    悬赏问题

    • ¥15 访问url时不会自动调用其 Servlet的doGet()
    • ¥15 用白鹭引擎开发棋牌游戏的前端为什么这么难找
    • ¥15 MATLAB解决问题
    • ¥35 哪位专业人士知道这是什么原件吗?哪里可以买到?
    • ¥15 关于#c##的问题:treenode反序列化后获取不到上一节点和下一节点,Fullpath和Handle报错
    • ¥15 一部手机能否同时用不同的app进入不同的直播间?
    • ¥15 没输出运行不了什么问题
    • ¥20 输入import torch显示Intel MKL FATAL ERROR,系统驱动1%,: Cannot load mkl_intel_thread.dll.
    • ¥15 点云密度大则包围盒小
    • ¥15 nginx使用nfs进行服务器的数据共享