溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python3從零開始怎么搭建一個(gè)語音對(duì)話機(jī)器人的示例

發(fā)布時(shí)間:2021-02-18 09:27:06 來源:億速云 閱讀:197 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下Python3從零開始怎么搭建一個(gè)語音對(duì)話機(jī)器人,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

01-初心緣由

目前來說最流行的語音識(shí)別算法主要是依賴于深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)算法,其中RNN扮演了非常重要的作用,深度學(xué)習(xí)的應(yīng)用真正讓語音識(shí)別達(dá)到了商用級(jí)別。然后我想動(dòng)手自己做一個(gè)語音識(shí)別系統(tǒng),從GitHub上下載了兩個(gè)流行的開源項(xiàng)目MASR和ASRT來進(jìn)行復(fù)現(xiàn),發(fā)現(xiàn)語音識(shí)別的效果沒有寫的那么好,其中如果要從零來訓(xùn)練自己的語言模型勢(shì)必會(huì)非常耗時(shí)。

因此,就有了一個(gè)新的想法,借助一些開源的語音識(shí)別SDK來實(shí)現(xiàn)語音識(shí)別,來看看他們語音識(shí)別的效果如何。于是想到了百度和科大訊飛,然后就百度了一下,百度搜索舉賢不避親的給我推薦了百度AI開放平臺(tái)!然后查看了百度語音識(shí)別的技術(shù)文檔,發(fā)現(xiàn)對(duì)python的支持非常友好,而科大訊飛好像沒有提供對(duì)python的接口支持,因而選定了百度。

Python3從零開始怎么搭建一個(gè)語音對(duì)話機(jī)器人的示例

雖然百度目前槽點(diǎn)很多,但是不得不說百度在AI方面的投入和開放是值得點(diǎn)贊的!百度的AI開放平臺(tái)確實(shí)為開發(fā)者們帶來很多的便利性,開放了非常多的AI服務(wù),大家自行去注冊(cè)使用,百度大腦AI開放平臺(tái)地址:http://ai.baidu.com/ (PS:我確實(shí)沒收廣告費(fèi)?。?/p>

經(jīng)過體驗(yàn)發(fā)現(xiàn)百度的語音識(shí)別準(zhǔn)確率高的嚇人,完爆了GitHub上的開源項(xiàng)目N條街,然后在CSDN瀏覽各位博主的博客時(shí)發(fā)現(xiàn),用百度語音識(shí)別的API和圖靈機(jī)器人的API可以做一個(gè)實(shí)時(shí)語音對(duì)話的機(jī)器人,感覺特別興奮,從而決定搭建一個(gè)自己的語音對(duì)話機(jī)器人。目前,我已經(jīng)實(shí)現(xiàn)了我的語音對(duì)話機(jī)器人,因此特意來分享一下整個(gè)的實(shí)現(xiàn)過程和遇到的坑,讓大家可以快速的構(gòu)建你們的語音對(duì)話機(jī)器人。好啦,我們開始吧!

02-準(zhǔn)備工作

(1)準(zhǔn)備python開發(fā)環(huán)境

需要準(zhǔn)備的python包包括:speech_recognition(語音識(shí)別包)、pyaudio(錄音接口)、wave(打開錄音文件并設(shè)置音頻參數(shù))、pyttst3(文本轉(zhuǎn)語音)、json(解析json串)、requests(get/post)、baid_aip(百度語音識(shí)別的aip)。

(2)準(zhǔn)備百度API

登錄百度AI開放平臺(tái)語音識(shí)別:https://ai.baidu.com/tech/speech/asr ,如果沒有賬號(hào)自己注冊(cè)即可,免費(fèi)試用哦。

點(diǎn)擊技術(shù)文檔:閱讀語音識(shí)別的技術(shù)文檔,重點(diǎn)查看API文檔和Python SDK,了解如何在python中調(diào)用API接口。

Python3從零開始怎么搭建一個(gè)語音對(duì)話機(jī)器人的示例

點(diǎn)擊立即使用:進(jìn)入到服務(wù)界面,創(chuàng)建應(yīng)用。記住最重要的App ID、API Key、Secret Key,后面調(diào)用時(shí)需要用到。

Python3從零開始怎么搭建一個(gè)語音對(duì)話機(jī)器人的示例

(3)準(zhǔn)備圖靈機(jī)器人:

圖靈機(jī)器人大腦具備強(qiáng)大的中文語義分析能力,可準(zhǔn)確理解中文含義并作出回應(yīng),是最擅長(zhǎng)聊中文的機(jī)器人大腦,賦予軟硬件產(chǎn)品自然流暢的人機(jī)對(duì)話能力。圖靈機(jī)器人是中文語境下智能度最高的“機(jī)器人大腦”,是全球較為先進(jìn)的機(jī)器人中文語言認(rèn)知與計(jì)算平臺(tái),圖靈機(jī)器人對(duì)中文語義理解準(zhǔn)確率已達(dá)90%,可為智能化軟硬件產(chǎn)品提供中文語義分析、自然語言對(duì)話、深度問答等人工智能技術(shù)服務(wù)?!从诎倏疲ê冒?,又和百度扯上點(diǎn)關(guān)系了。)

總之,就是需要你去圖靈機(jī)器人官網(wǎng)http://www.turingapi.com/注冊(cè)成功后,構(gòu)建一個(gè)屬于你的圖靈機(jī)器人,用于后續(xù)將翻譯后的文本內(nèi)容對(duì)圖靈機(jī)器人提問獲取回答,然后我們通過TTS處理就可以獲取語音輸出了。

注冊(cè)后創(chuàng)建自己的機(jī)器人,然后在機(jī)器人設(shè)置的終端設(shè)置中查看自己的apikey(這個(gè)key非常重要),另外一定要把密鑰開關(guān)關(guān)閉,不然后面在調(diào)用api時(shí)會(huì)報(bào)3001錯(cuò)誤,無法調(diào)用圖靈機(jī)器人(此處有坑,已填)!

Python3從零開始怎么搭建一個(gè)語音對(duì)話機(jī)器人的示例

圖靈機(jī)器人未進(jìn)行身份認(rèn)證時(shí),是不能夠進(jìn)行調(diào)用的,如果調(diào)用會(huì)出現(xiàn)“請(qǐng)求次數(shù)超限制”的問題,通過個(gè)人身份認(rèn)證后,每天能夠調(diào)用100次,這是免費(fèi)版。100次當(dāng)然是不夠用的,如果你想要更多的服務(wù),就只能購買會(huì)員了,99和299每月的套餐,具體看下圖。如果是自己玩,那就免費(fèi)版,如果是開發(fā),可以考慮99的,如果是做一個(gè)產(chǎn)品,那就得企業(yè)采購了,咱們沒那么土豪!

Python3從零開始怎么搭建一個(gè)語音對(duì)話機(jī)器人的示例

03-語音機(jī)器人的搭建思路

1、首先明確我們要實(shí)現(xiàn)的目標(biāo),是要實(shí)現(xiàn)純語音對(duì)話聊天,不需要輸入文字交流。我們實(shí)時(shí)說,機(jī)器人實(shí)時(shí)回復(fù),真正實(shí)現(xiàn)語音交互對(duì)話。

2、整個(gè)過程的實(shí)現(xiàn)流程是這樣的,我們說一句話,通過錄音保存為語音文件,然后調(diào)用百度API實(shí)現(xiàn)語音轉(zhuǎn)文本STT,再然后調(diào)用圖靈機(jī)器人API將文本輸入得到圖靈機(jī)器人的回復(fù),最后將回復(fù)的文本轉(zhuǎn)成語音輸出TTS,就這樣我們就實(shí)現(xiàn)了和機(jī)器人的語音對(duì)話了!是不是有點(diǎn)繞,來個(gè)流程圖吧!

3、語音對(duì)話機(jī)器人的構(gòu)建具體流程圖,就是各種掉API,千萬不要覺得頭暈哦,思路清晰才能走下去。

Python3從零開始怎么搭建一個(gè)語音對(duì)話機(jī)器人的示例

04-語音生成音頻文件

語音生產(chǎn)文件就需要進(jìn)行錄音,將我們說的話保存下來,至于保存的格式我一般都是保存為wav,其他格式支持pcm,不太建議mp3,因?yàn)樾枰啻无D(zhuǎn)換?!景俣确?wù)端會(huì)將非pcm格式,轉(zhuǎn)為pcm格式,因此使用wav會(huì)有額外的轉(zhuǎn)換耗時(shí),但是windows自帶播放器識(shí)別不了pcm格式的,所以我還是喜歡用wav格式】

第一種錄音方式:使用speech_recognition包進(jìn)行錄音,這個(gè)錄音出來的效果比較好,而且代碼量非常少。

import speech_recognition as sr
 
# Use SpeechRecognition to record 使用語音識(shí)別包錄制音頻
def my_record(rate=16000):
  r = sr.Recognizer()
  with sr.Microphone(sample_rate=rate) as source:
    print("please say something")
    audio = r.listen(source)
 
  with open("voices/myvoices.wav", "wb") as f:
    f.write(audio.get_wav_data())
  print("錄音完成!")
 
my_record()

第二種錄音方式:使用wave和pyaudio包進(jìn)行錄音,在python中直接使用pip install即可。

import wave
from pyaudio import PyAudio, paInt16
 
framerate = 16000 # 采樣率
num_samples = 2000 # 采樣點(diǎn)
channels = 1 # 聲道
sampwidth = 2 # 采樣寬度2bytes
FILEPATH = 'voices/myvoices.wav'
 
 
def save_wave_file(filepath, data):
  wf = wave.open(filepath, 'wb')
  wf.setnchannels(channels)
  wf.setsampwidth(sampwidth)
  wf.setframerate(framerate)
  wf.writeframes(b''.join(data))
  wf.close()
 
 
#錄音
def my_record():
  pa = PyAudio()
  #打開一個(gè)新的音頻stream
  stream = pa.open(format=paInt16, channels=channels,
           rate=framerate, input=True, frames_per_buffer=num_samples)
  my_buf = [] #存放錄音數(shù)據(jù)
 
  t = time.time()
  print('正在錄音...')
 
  while time.time() < t + 10: # 設(shè)置錄音時(shí)間(秒)
  	#循環(huán)read,每次read 2000frames
    string_audio_data = stream.read(num_samples)
    my_buf.append(string_audio_data)
  print('錄音結(jié)束.')
  save_wave_file(FILEPATH, my_buf)
  stream.close()

05-音頻文件轉(zhuǎn)文字STT

我們已經(jīng)在上面獲取到了音頻文件,那要怎么把音頻文件轉(zhuǎn)化為文字呢?在這里,我們就需要調(diào)用百度的語音識(shí)別API接口,同時(shí)我們需要安裝這個(gè)接口包,導(dǎo)入模塊:pip install baidu_aip。導(dǎo)入我們需要的模塊名,然后將音頻文件發(fā)送給出去,返回文字。

# 音頻文件轉(zhuǎn)文字:采用百度的語音識(shí)別python-SDK
# 百度語音識(shí)別API配置參數(shù)
from aip import AipSpeech
 
APP_ID = 'your app_id'
API_KEY = 'your api_key'
SECRET_KEY = 'your secret_key'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
path = 'voices/myvoices.wav'
 
 
# 將語音轉(zhuǎn)文本STT
def listen():
  # 讀取錄音文件
  with open(path, 'rb') as fp:
    voices = fp.read()
  try:
    # 參數(shù)dev_pid:1536普通話(支持簡(jiǎn)單的英文識(shí)別)、1537普通話(純中文識(shí)別)、1737英語、1637粵語、1837四川話、1936普通話遠(yuǎn)場(chǎng)
    result = client.asr(voices, 'wav', 16000, {'dev_pid': 1537, })
    # result = CLIENT.asr(get_file_content(path), 'wav', 16000, {'lan': 'zh', })
    # print(result)
    # print(result['result'][0])
    # print(result)
    result_text = result["result"][0]
    print("you said: " + result_text)
    return result_text
  except KeyError:
    print("KeyError")

06-與圖靈機(jī)器人對(duì)話

上一步我們已經(jīng)成功將我們的聲音轉(zhuǎn)化為文字了,然后我們?cè)僬{(diào)用圖靈機(jī)器人的API接口,做自動(dòng)應(yīng)答。圖靈機(jī)器人對(duì)中文的識(shí)別準(zhǔn)確率高達(dá)90%,是目前中文語境下智能度最高的機(jī)器人。有很多在Python中使用圖靈機(jī)器人API的博客,但都是1.0版本,本博客介紹的是在Python中使用圖靈機(jī)器人API v2.0的方法,1.0版本的調(diào)用方式已失效。

代碼如下(這里需要導(dǎo)入requests、json模塊):

# 與機(jī)器人對(duì)話:調(diào)用的是圖靈機(jī)器人
import requests
import json
 
# 圖靈機(jī)器人的API_KEY、API_URL
turing_api_key = "your turing_api_key"
api_url = "http://openapi.tuling123.com/openapi/api/v2" # 圖靈機(jī)器人api網(wǎng)址
headers = {'Content-Type': 'application/json;charset=UTF-8'}
 
 
# 圖靈機(jī)器人回復(fù)
def Turing(text_words=""):
  req = {
    "reqType": 0,
    "perception": {
      "inputText": {
        "text": text_words
      },
 
      "selfInfo": {
        "location": {
          "city": "北京",
          "province": "北京",
          "street": "車公莊西大街"
        }
      }
    },
    "userInfo": {
      "apiKey": turing_api_key, # 你的圖靈機(jī)器人apiKey
      "userId": "Nieson" # 用戶唯一標(biāo)識(shí)(隨便填, 非密鑰)
    }
  }
 
  req["perception"]["inputText"]["text"] = text_words
  response = requests.request("post", api_url, json=req, headers=headers)
  response_dict = json.loads(response.text)
 
  result = response_dict["results"][0]["values"]["text"]
  print("AI Robot said: " + result)
  return result

07-文字轉(zhuǎn)語音

我們得到了圖靈機(jī)器人的回復(fù)之后,就需要把結(jié)果轉(zhuǎn)化為語音輸出,從而實(shí)現(xiàn)語音交互。在python中我們?nèi)绾螌⑽淖洲D(zhuǎn)為語音并輸出呢?這里就需要用到另一個(gè)模塊pyttsx3,它會(huì)將文字轉(zhuǎn)為語音。

import pyttsx3
 
# 初始化語音
engine = pyttsx3.init() # 初始化語音庫
# 設(shè)置語速
rate = engine.getProperty('rate')
engine.setProperty('rate', rate-50)
# 輸出語音
engine.say("你好,很高興認(rèn)識(shí)你!") # 合成語音
engine.runAndWait()

使用python進(jìn)行編程就是有很多好處,比如音頻的輸出我們就可以采用多種方式,下面提供一種更加簡(jiǎn)便的音頻輸出方式:

import win32com.client
 
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak("我是語音助手,小靈!")

好了,至此,我們語音機(jī)器人的所有元素都已經(jīng)準(zhǔn)備妥當(dāng),接下來進(jìn)行組裝!

08-語音對(duì)話機(jī)器人的完整代碼

經(jīng)過我的努力,已經(jīng)將代碼優(yōu)化到了100行左右哦,按照我的步驟來,你就可以快速復(fù)現(xiàn)構(gòu)建你的語音機(jī)器人了!

# -*- coding: utf-8 -*-#
# -------------------------------
# Name:SpeechRobot
# Author:Nieson
# Date:2019/7/19 16:31
# 用python3實(shí)現(xiàn)自己的語音對(duì)話機(jī)器人
# -------------------------------
 
from aip import AipSpeech
import requests
import json
import speech_recognition as sr
import win32com.client
 
# 初始化語音
speaker = win32com.client.Dispatch("SAPI.SpVoice")
 
 
# 1、語音生成音頻文件,錄音并以當(dāng)前時(shí)間戳保存到voices文件中
# Use SpeechRecognition to record 使用語音識(shí)別錄制
def my_record(rate=16000):
  r = sr.Recognizer()
  with sr.Microphone(sample_rate=rate) as source:
    print("please say something")
    audio = r.listen(source)
 
  with open("voices/myvoices.wav", "wb") as f:
    f.write(audio.get_wav_data())
 
 
# 2、音頻文件轉(zhuǎn)文字:采用百度的語音識(shí)別python-SDK
# 導(dǎo)入我們需要的模塊名,然后將音頻文件發(fā)送給出去,返回文字。
# 百度語音識(shí)別API配置參數(shù)
APP_ID = 'your app_id'
API_KEY = 'your api_key'
SECRET_KEY = 'your secret_key'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
path = 'voices/myvoices.wav'
 
 
# 將語音轉(zhuǎn)文本STT
def listen():
  # 讀取錄音文件
  with open(path, 'rb') as fp:
    voices = fp.read()
  try:
    # 參數(shù)dev_pid:1536普通話(支持簡(jiǎn)單的英文識(shí)別)、1537普通話(純中文識(shí)別)、1737英語、1637粵語、1837四川話、1936普通話遠(yuǎn)場(chǎng)
    result = client.asr(voices, 'wav', 16000, {'dev_pid': 1537, })
    # result = CLIENT.asr(get_file_content(path), 'wav', 16000, {'lan': 'zh', })
    # print(result)
    # print(result['result'][0])
    # print(result)
    result_text = result["result"][0]
    print("you said: " + result_text)
    return result_text
  except KeyError:
    print("KeyError")
    speaker.Speak("我沒有聽清楚,請(qǐng)?jiān)僬f一遍...")
 
 
# 3、與機(jī)器人對(duì)話:調(diào)用的是圖靈機(jī)器人
# 圖靈機(jī)器人的API_KEY、API_URL
turing_api_key = "your turing_api_key"
api_url = "http://openapi.tuling123.com/openapi/api/v2" # 圖靈機(jī)器人api網(wǎng)址
headers = {'Content-Type': 'application/json;charset=UTF-8'}
 
 
# 圖靈機(jī)器人回復(fù)
def Turing(text_words=""):
  req = {
    "reqType": 0,
    "perception": {
      "inputText": {
        "text": text_words
      },
 
      "selfInfo": {
        "location": {
          "city": "北京",
          "province": "北京",
          "street": "車公莊"
        }
      }
    },
    "userInfo": {
      "apiKey": turing_api_key, # 你的圖靈機(jī)器人apiKey
      "userId": "Nieson" # 用戶唯一標(biāo)識(shí)(隨便填, 非密鑰)
    }
  }
 
  req["perception"]["inputText"]["text"] = text_words
  response = requests.request("post", api_url, json=req, headers=headers)
  response_dict = json.loads(response.text)
 
  result = response_dict["results"][0]["values"]["text"]
  print("AI Robot said: " + result)
  return result
 
 
# 語音合成,輸出機(jī)器人的回答
while True:
  my_record()
  request = listen()
  response = Turing(request)
  speaker.Speak(response)

09-結(jié)束語

至此,我們就構(gòu)建了一個(gè)完整的語音對(duì)話機(jī)器人,它可以在你無聊、寂寞、有壓力、想開心的時(shí)候出現(xiàn)在你身邊,哄你開心喲!這個(gè)機(jī)器人太聰明了,你可千萬不要被她調(diào)戲了!

對(duì)了,你可以在圖靈機(jī)器人官網(wǎng)里面進(jìn)行人物設(shè)置,設(shè)置她的姓名、年齡和星座,我的機(jī)器人叫做小橘子,她具有十八般武藝,它能夠閑聊、做數(shù)字計(jì)算、中英互譯、講故事、笑話、腦筋急轉(zhuǎn)彎、歇后語、繞口令、順口溜、玩成語接龍游戲,天氣和日期查詢,功能還是比較強(qiáng)大的!如果開通

付費(fèi)版本就會(huì)擁有更多功能哦,可以訓(xùn)練自己的語料庫,目前免費(fèi)版只支持每天100次的調(diào)用,真真是不夠用呀!

附帶一下我和小橘子的聊天視頻吧,有心的小伙伴可以做個(gè)前端頁面哦!

優(yōu)酷視頻:https://v.youku.com/v_show/id_XNDI3OTYyMTgwNA==.html?spm=a2h4j.8428770.3416059.1

10-有問必答

博客一經(jīng)發(fā)出,兩天多的時(shí)間,閱讀量就已經(jīng)突破5000了,得到了眾多博友的關(guān)注點(diǎn)贊和評(píng)論,說明大家對(duì)于語音對(duì)話機(jī)器人的熱情和興趣度都非常高,大家都在積極的搭建自己的語音對(duì)話機(jī)器人了!相信百度和圖靈機(jī)器人最近的API調(diào)用量會(huì)蹭蹭的上漲,我在考慮要不要收點(diǎn)推廣費(fèi)了(哈哈,開個(gè)玩笑)!百度AI開放平臺(tái)你注冊(cè)調(diào)用他們的API后,過兩天百度就會(huì)有客服給你打電話問題的體驗(yàn)感,大家看到一個(gè)北京號(hào)碼標(biāo)記為詐騙電話的那個(gè)就是了哈哈!圖靈機(jī)器人公司則是通過會(huì)員收費(fèi)模式來賺大家的錢,就看你能否攥緊自己的口袋了!

第10個(gè)模塊有問必答是為了來解答一下大家在復(fù)現(xiàn)語音對(duì)話機(jī)器人過程中可能會(huì)遇到的問題,根據(jù)大家的提問,我有針對(duì)性的把一些常見問題在此給各位進(jìn)行一下解答,也非常歡迎博友們之間積極回復(fù),畢竟博主的精力也是有限的,還要投入到無限的AI能力研究中去(可能也是因?yàn)閼邪?。剛好,十個(gè)模塊湊齊了十全十美,處女座看起來也舒心一些!閑話少敘,進(jìn)入正題:

(1)問:我直接執(zhí)行你全部代碼的時(shí)候?yàn)槭裁磁懿煌兀?/strong>

答:首先強(qiáng)調(diào)一點(diǎn),各位在復(fù)現(xiàn)代碼的時(shí)候,一定要把百度和圖靈機(jī)器人的相關(guān)api_id, api_key等替換成自己的!另外圖靈機(jī)器人記得要身份驗(yàn)證,通過后才能調(diào)用圖靈機(jī)器人!

(2)問:我在運(yùn)行之后輸出please say something,然后我說了話,之后隔一段時(shí)間才輸出KeyError,AI Robot said: 請(qǐng)求次數(shù)超限制!這是什么原因?

答:因?yàn)樵?5-音頻文件轉(zhuǎn)文字STT中,為了避免有時(shí)候錄音文件出現(xiàn)問題,特別是在不帶耳機(jī)直接對(duì)著筆記本說話時(shí),如果周圍環(huán)境嘈雜,會(huì)導(dǎo)致錄音質(zhì)量不佳,或者是長(zhǎng)時(shí)間不說話,這些情況就會(huì)報(bào)Key Error的問題;另外最重要的一個(gè),那就是圖靈機(jī)器人如果你注冊(cè)后未進(jìn)行身份認(rèn)證,或者身份認(rèn)證未通過,那么你能調(diào)用API的次數(shù)為0次,也就是說圖靈機(jī)器人不會(huì)給你回復(fù),就會(huì)出現(xiàn)“請(qǐng)求次數(shù)超限制”。通過認(rèn)證后,目前能夠每天調(diào)用100次,也就是聊天100次也會(huì)出現(xiàn)“請(qǐng)求次數(shù)超限制”了。

(3)問:Mac電腦上沒有win32com怎么辦?。?/strong>

答:如果win32com不行,那你就用可以嘗試安裝一下pyttsx3包,用前文中提到的第一種語音輸出方式。我為了代碼整潔,所以沒有把第一種方式寫到完整代碼中(其實(shí)也寫了,寫博客的時(shí)候刪了而已,別問我為啥,為了整潔好看,lol!)。

(4)問:為什么我的with open那里說文件找不到?

答:那是因?yàn)槲宜械匿浺粑募ㄈ鏼yvoices.wav)都在voices目錄下,所以要記得創(chuàng)建一下自己的文件夾目錄voices。

(5)問:不會(huì)python,有沒有Java版本?

答:大家看完python版本,可以嘗試用Java來復(fù)現(xiàn)一下,畢竟你都會(huì)Java了,百度API也支持Java調(diào)用哦,看官網(wǎng)哈!

(6)問:安裝包出現(xiàn)問題,主要是from aip import AipSpeech、import speech_recognition as sr中的aip、speech_recognition包為啥安裝不成功?

答:這兩個(gè)包比較特殊,在import的時(shí)候是aip和speech_recognition,但在install安裝的時(shí)候分別是baidu-aip和SpeechRecognition,這樣就能安裝成功啦!

以上是“Python3從零開始怎么搭建一個(gè)語音對(duì)話機(jī)器人”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI