变频器不那么智能的语音控制代码

本篇代码是用谷歌智能语音识别库和上篇《变频器的python用法》代码调用,实现的智能语音操作变频设备的案例,因需要连接外网原因功能测试的效果并不理想,好在都能跑起来。

关于意图识别的库与模型训练问题,有没有大神可以指教一二啊

必须声明:用本篇代码进行调试时需要注意调试对象的品牌型号,并查阅其使用手册关于485通讯内容的说明。

import re
import speech_recognition as sr
from pyttsx3 import init
import time
import 变频器的用法

# 初始化语音识别器
recognizer = sr.Recognizer()
# 初始化语音播报器
语音播报 = init()
#

# 定义一个函数来获取语音输入
def get_speech_from_mic():
    with sr.Microphone() as source:
        print("请说话...")
        recognizer.adjust_for_ambient_noise(source)  # 调整环境噪声
        audio = recognizer.listen(source)
        try:
            # 使用Google的Web API进行语音识别
            command = recognizer.recognize_google(audio, language='zh-CN')
            print("你说的话是: " + command)
            return command
        except sr.UnknownValueError:
            语音播报.say("抱歉,我没有听清楚。")
        except sr.RequestError as e:
            语音播报.say("抱歉,google服务无法访问。")
            print(e)


# 主循环
while True:   # 这里是个死循环收到“老铁再见”指令后退出,google 录音的时长是1分钟,1分钟没退出程序会报错。
    
    try:
        command = get_speech_from_mic()
        if "老铁再见" in command.lower():
            语音播报.say("老铁再见")
            time.sleep(2)
            break
        if "你好老铁" in command.lower():
            语音播报.say("我在,你说")        # 这里的播报没成功貌似录音阶段麦克风和音响冲突
            time.sleep(2)
        slave_Name = ['升降机', '大车', '小车'] # 案例以起重设备的3台电机为控制对象的
        for i in slave_Name:
            if i in command.lower():
                x = slave_Name.index(i) + 1

        H = re.findall(r"\d{2}", command)
        if "频率" in command.lower() and H[0] in command.lower():
            赫兹 = int(H[0])   #
            变频器的用法.三科变频器(x,赫兹).频率设置()
        正转 = ['提升', '升高', '前进', '往前','向上','正转']
        反转 = ['降落','下落','后退','往下','往后','反转']
        停止 = ['停','停机','关闭','关机','好了','站住']
        for cor in 正转:
            if cor in command.lower():
                变频器的用法.三科变频器(x,None).正转启动()

        for bac in 反转:
            if bac in command.lower():
                变频器的用法.三科变频器(x,None).反转启动()

        for stp in 停止:
            if stp in command.lower():
                变频器的用法.三科变频器(x, None).自由停车()


    except sr.RequestError as e:
        print(e)

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值