Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 属性错误:';str';对象没有属性';原始数据&x27;(Python语音助手)_Python 3.x_Pyaudio_Pydub - Fatal编程技术网

Python 3.x 属性错误:';str';对象没有属性';原始数据&x27;(Python语音助手)

Python 3.x 属性错误:';str';对象没有属性';原始数据&x27;(Python语音助手),python-3.x,pyaudio,pydub,Python 3.x,Pyaudio,Pydub,大家好,我正在尝试为ubuntu做桌面语音助手。在我的程序中,我和t一起工作 os.system("mpg123 audio.mp3") ı如何使用pydub模块而不是此行 但ı不想用这个系统来播放音频文件和我聊天。我觉得它比较慢。我想要更快的程序,今天ı正在尝试pydub模块 这是我的计划 from gtts import gTTS import speech_recognition as sr import os import webbrowser import datetime impo

大家好,我正在尝试为ubuntu做桌面语音助手。在我的程序中,我和t一起工作

os.system("mpg123 audio.mp3")
ı如何使用pydub模块而不是此行

但ı不想用这个系统来播放音频文件和我聊天。我觉得它比较慢。我想要更快的程序,今天ı正在尝试pydub模块

这是我的计划

from gtts import gTTS
import speech_recognition as sr
import os
import webbrowser
import datetime
import time
import sys
import random
from pydub import AudioSegment
from pydub.playback import play

#sound = AudioSegment.from_mp3('hello.mp3')
#play(sound)


def talkToMe(audio):
    print(audio)
    tts = gTTS(text=audio, lang= "en")
    tts.save("audio.mp3")
    play("audio.mp3")  #os.system("mpg123 audio.mp3")


def OurCommands():
    r = sr.Recognizer()

    with sr.Microphone() as source:
        os("clear")
        print("Ready for next command")
        r.pause_threshold = 1
        r.adjust_for_ambient_noise(source, duration = 1)
        audio = r.listen(source)

    try:
        command = r.recognize_google(audio)
        print("You said: " + command + "\n")

    except sr.UnknownValueError:
        print("Your last command not understand")
        command = str(input("Command: "))
    return command

#if statements..

def asistan(command):
    if "open web browser" in command:
        talkToMe("İt\'s opening")
        webbrowser.open("www.google.com.tr")



    elif "play music" in command:
        mixer.init()
        mixer.music.load('/path/to/music/')
        mixer.music.play()
    elif "stop music" in command:
        mixer.music.stop()


    elif "thank you" in  command:
        talkToMe("You're welcome")

    elif "shutdown my computer" in command:
        talkToMe("I will close after five second")
        time.sleep(5)
        os.system("shutdown now -h")

    elif "open youtube" in command:
        webbrowser.open("youtube.com")


hour = int(datetime.datetime.now().hour)
if hour >= 1 and hour <12:
    talkToMe("Goodmorning")
elif hour >= 12 and hour < 16:
    talkToMe("Good afternoon")
else:
    talkToMe("Good night")


while True:
    asistan(OurCommands())
我试着在我的电脑上使用这个模块,并播放mp3文件。 那么,现在我们如何在我的程序中使用pydub模块让计算机与我对话呢。 我认为ı需要音频片段,但ı如何在我的程序中使用ı必须使用其他模块? 或者也可以在我的程序中使用pydub模块?提前感谢:)

来自文档:

从pydub导入音频段
从pydub.playback导入播放
声音=音频段。来自_文件(“mysound.wav”,format=“wav”)
播放(声音)
Play不需要文件名,它需要这样的输入。你想要

sound=AudioSegment.from_文件(“audio.mp3”,format=“mp3”)
播放(声音)
来自文档:

从pydub导入音频段
从pydub.playback导入播放
声音=音频段。来自_文件(“mysound.wav”,format=“wav”)
播放(声音)
Play不需要文件名,它需要这样的输入。你想要

sound=AudioSegment.from_文件(“audio.mp3”,format=“mp3”)
播放(声音)

此错误发生在哪一行?
文件“jarvis3.py”,第20行,在talkToMe play(“audio.mp3”)
中,以及当程序试图与您通话时<代码>文件“jarvis3.py”,第75行,在talkToMe(“午安”)这一错误发生在哪一行?
文件“jarvis3.py”,第20行,在talkToMe play(“audio.mp3”)
中以及当程序试图与您通话时<代码>文件“jarvis3.py”,第75行,在talkToMe(“午安”)Ups。。修复这个问题真的很容易,很抱歉,我的问题很简单,但在尝试修复错误时,没有修复。谢谢,它工作得很好。Ups。。修复这个问题真的很容易,很抱歉,我的问题很简单,但在尝试修复错误时,没有修复。谢谢你,它工作得很好。
AttributeError: 'str' object has no attribute 'raw_data'