自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用GPT和Whisper打造個(gè)性化語(yǔ)音助手

譯文 精選
人工智能
本文旨在指導(dǎo)您創(chuàng)建一個(gè)簡(jiǎn)單而強(qiáng)大的語(yǔ)音助手,以滿足您的喜好。我們將使用兩個(gè)強(qiáng)大的工具——Whisper和GPT來(lái)實(shí)現(xiàn)這一點(diǎn)。你可能已經(jīng)知道GPT及其功能,但你知道Whisper是什么嗎?

譯者 | 朱先忠

審校 | 重樓

簡(jiǎn)介

本文旨在指導(dǎo)您創(chuàng)建一個(gè)簡(jiǎn)單而強(qiáng)大的語(yǔ)音助手,以滿足您的喜好。我們將使用兩個(gè)強(qiáng)大的工具——Whisper和GPT來(lái)實(shí)現(xiàn)這一點(diǎn)。你可能已經(jīng)知道GPT及其功能,但你知道Whisper是什么嗎?

其實(shí),Whisper是OpenAI公司開(kāi)發(fā)的一種高級(jí)語(yǔ)音識(shí)別模型,可提供準(zhǔn)確的音頻到文本轉(zhuǎn)錄。

我們將帶您完成示例工程構(gòu)建的每一步,包括編碼說(shuō)明。最后,您將擁有一款可啟動(dòng)并正常運(yùn)行的語(yǔ)音助手。

準(zhǔn)備工作

打開(kāi)AI API密鑰

如果你已經(jīng)有了OpenAI API密鑰,你可以跳過(guò)這一節(jié)。

Whisper和GPT API都需要訪問(wèn)OpenAI API密鑰。與ChatGPT的訂閱需要支持固定費(fèi)用不同,API密鑰是根據(jù)您使用服務(wù)的數(shù)量進(jìn)行支付的。

價(jià)格還算是比較合理的。在撰寫(xiě)本文時(shí),Whisper的價(jià)格為0.006美元/分鐘,GPT(模型為GPT-3.5-turbo)的價(jià)格為0.002/1K代幣(代幣約為0.75個(gè)單詞)。

OpenAI的網(wǎng)站(作者自己的圖片)

要獲取密鑰,請(qǐng)首先在OpenAI網(wǎng)站上創(chuàng)建一個(gè)帳戶。登錄后,單擊右上角的姓名并選擇查看API密鑰。單擊按鈕“創(chuàng)建新密鑰(Create new secret key)”后,將顯示您的密鑰。請(qǐng)確保保存此密鑰,因?yàn)槟鷮o(wú)法再次看到它。

示例工程依賴的第三方庫(kù)

本小節(jié)介紹項(xiàng)目所需的開(kāi)源代碼庫(kù)。本文示例項(xiàng)目包括使用OpenAI開(kāi)發(fā)的Python庫(kù)執(zhí)行各種AI任務(wù),以及使用pyttsx3生成語(yǔ)音,使用SoundDevice錄制和播放音頻,使用numpy和scipy進(jìn)行數(shù)學(xué)運(yùn)算等。和往常一樣,在啟動(dòng)新項(xiàng)目時(shí),您應(yīng)該在安裝包之前創(chuàng)建一個(gè)新的虛擬環(huán)境。

示例工程代碼結(jié)構(gòu)

我們的代碼將圍繞一個(gè)類構(gòu)建,總共占用大約90行代碼。在此,假設(shè)您對(duì)Python類語(yǔ)法知識(shí)已經(jīng)有了基本的理解。整個(gè)類結(jié)構(gòu)如下:

其中,Listen方法負(fù)責(zé)捕獲用戶的語(yǔ)音輸入,并使用Whisper將其轉(zhuǎn)換為文本。Think方法負(fù)責(zé)將文本發(fā)送到GPT,然后由GPT生成自然語(yǔ)言響應(yīng)。speak方法負(fù)責(zé)將響應(yīng)文本轉(zhuǎn)換為可播放的音頻。

注意:上圖中最右邊代表系統(tǒng)中的GPT助理部分(負(fù)責(zé)給出自然語(yǔ)言響應(yīng))。

下面這個(gè)過(guò)程是可以重復(fù)執(zhí)行的,即用戶可以通過(guò)發(fā)出另一個(gè)請(qǐng)求在對(duì)話中進(jìn)行交互。

示例類對(duì)應(yīng)的代碼結(jié)構(gòu)(作者自己的圖片)

__init__函數(shù)

此函數(shù)負(fù)責(zé)初始化歷史記錄和設(shè)置API密鑰。

我們需要一個(gè)歷史記錄來(lái)跟蹤以前的消息。這基本上對(duì)應(yīng)于我們助理的短期記憶,可以讓它記住你在談話中早些時(shí)候說(shuō)的話。

listen函數(shù)

listen函數(shù)工作流程

這個(gè)方法相當(dāng)于我們助理的耳朵功能。

listen函數(shù)允許接收來(lái)自用戶的輸入。此函數(shù)負(fù)責(zé)記錄麥克風(fēng)中的音頻并將其轉(zhuǎn)錄為文本。

listen函數(shù)的具體作用如下:

  • 錄制音頻時(shí)打印出“Listening…”信息。
  • 使用聲音設(shè)備以44100 Hz的采樣率錄制3秒的音頻(或您想要的任何持續(xù)時(shí)間)。
  • 將錄制的音頻保存為臨時(shí)WAV文件中的NumPy數(shù)組。
  • 使用OpenAI API的轉(zhuǎn)錄方法將音頻發(fā)送給Whisper,由Whisper將其轉(zhuǎn)錄。
  • 將轉(zhuǎn)錄后的文本打印到控制臺(tái),以確認(rèn)轉(zhuǎn)錄成功。
  • 以字符串形式返回轉(zhuǎn)錄后的文本。

在本例中,助理的監(jiān)聽(tīng)時(shí)長(zhǎng)為3秒鐘,但您可以根據(jù)需要更改時(shí)間。

think函數(shù)

think函數(shù)工作流程

其實(shí),我們系統(tǒng)中助理的大腦是由GPT驅(qū)動(dòng)的。think函數(shù)負(fù)責(zé)接收助理聽(tīng)到的內(nèi)容,并詳細(xì)闡述回應(yīng)內(nèi)容。

值得注意的是,響應(yīng)內(nèi)容不是在您的本地計(jì)算機(jī)上創(chuàng)建的。文本需要發(fā)送到OpenAI的服務(wù)器,以便通過(guò)API進(jìn)行處理。然后,響應(yīng)內(nèi)容被保存在響應(yīng)變量中,用戶消息和響應(yīng)都被添加到歷史記錄中,即助手的短期記憶,負(fù)責(zé)為GPT模型提供上下文以生成響應(yīng)。

speak函數(shù)

speak函數(shù)工作流程

speak函數(shù)負(fù)責(zé)將文本轉(zhuǎn)換為語(yǔ)音,并將其回放給用戶。此函數(shù)只接受一個(gè)參數(shù):text。此參數(shù)應(yīng)該是一個(gè)字符串,表示要轉(zhuǎn)換為語(yǔ)音的文本。

當(dāng)用文本字符串作為參數(shù)調(diào)用函數(shù)時(shí),它會(huì)用命令engine=pyttsx3.init()初始化pyttsx3語(yǔ)音引擎。這個(gè)對(duì)象是引擎用來(lái)將文本轉(zhuǎn)換為語(yǔ)音的主要接口。

然后,該函數(shù)指示語(yǔ)音引擎使用命令引擎將提供的文本轉(zhuǎn)換為語(yǔ)音。這會(huì)將提供的要speak(由引擎讀出)的文本排隊(duì)。命令engine.runAndWait則負(fù)責(zé)告訴引擎處理排隊(duì)的命令。

值得注意的是,Pyttsx3是在本地處理所有文本到語(yǔ)音的轉(zhuǎn)換,這在系統(tǒng)的延遲方面是一個(gè)顯著的優(yōu)勢(shì)。

最后的潤(rùn)色

到此,系統(tǒng)中助理部分已經(jīng)準(zhǔn)備好了。接下來(lái),我們只需要?jiǎng)?chuàng)建一個(gè)輔助對(duì)象,然后開(kāi)始對(duì)話。

對(duì)話是一個(gè)無(wú)限循環(huán),當(dāng)用戶說(shuō)出包含“Goodbye(再見(jiàn))”的句子時(shí),對(duì)話就結(jié)束了。

個(gè)性化體驗(yàn)技巧

總體來(lái)看,自定義GPT助手是輕而易舉的事情!我們構(gòu)建的代碼是極具模塊化的,它允許您通過(guò)添加各種功能進(jìn)行自定義。以下是一些幫助您進(jìn)行定制的參考想法:

  • 給助理一個(gè)角色:改變最初的提示,讓你的助理扮演你的英語(yǔ)老師、勵(lì)志演說(shuō)家或你能想到的任何其他角色!這方面定制,請(qǐng)查看Awesome ChatGPT Prompts了解更多想法。
  • 更改語(yǔ)言:想使用另一種語(yǔ)言嗎?沒(méi)問(wèn)題!只需將代碼中的英語(yǔ)更改為您想要的語(yǔ)言即可。
  • 構(gòu)建應(yīng)用程序:您可以輕松地將助手集成到任何應(yīng)用程序中。
  • 添加個(gè)性:通過(guò)添加自定義回復(fù)或使用不同的語(yǔ)調(diào)和語(yǔ)言風(fēng)格,讓你的助手擁有獨(dú)特的個(gè)性。
  • 與其他API集成:將您的助手與其他API進(jìn)行集成,以提供更高級(jí)的功能,如天氣預(yù)報(bào)或新聞更新等。

結(jié)論

在本文中,我們解釋了如何檢索OpenAI API密鑰,并提供了用于捕獲用戶輸入、生成響應(yīng)以及將文本轉(zhuǎn)換為語(yǔ)音以進(jìn)行播放的listen、think和speak等函數(shù)的代碼示例。

有了這些知識(shí),您可以開(kāi)始創(chuàng)建一款適合您自己特定需求的獨(dú)特語(yǔ)音助手??傊?,存在無(wú)限的可能性:從創(chuàng)建一個(gè)個(gè)人助理來(lái)幫助完成日常任務(wù),到構(gòu)建一個(gè)語(yǔ)音控制的自動(dòng)化系統(tǒng)……有關(guān)本文示例的所有代碼,您可以訪問(wèn)鏈接的GitHub存儲(chǔ)庫(kù)。

譯者介紹

朱先忠,51CTO社區(qū)編輯,51CTO專家博客、講師,濰坊一所高校計(jì)算機(jī)教師,自由編程界老兵一枚。

原文標(biāo)題:Creating Your Personalized Voice Assistant with GPT and Whisper,作者:Donato Riccio

責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2024-03-25 07:57:10

ChatGPTPromote人工智能

2018-10-25 14:21:22

Oracle數(shù)字化助手

2022-11-01 07:19:45

推薦系統(tǒng)非個(gè)性化

2011-08-18 18:53:30

win7

2020-06-28 07:00:00

推薦系統(tǒng)智能商務(wù)服務(wù)平臺(tái)

2023-05-17 15:01:04

iOS 17蘋(píng)果系統(tǒng)

2023-09-25 15:54:28

Canvas國(guó)慶

2023-10-17 08:42:13

ChatGPT定制指令

2023-10-10 15:21:51

人工智能

2025-02-11 10:30:00

2014-12-19 10:02:33

華為智慧城市

2011-01-20 10:19:21

PowerShell個(gè)性化

2012-03-28 14:58:37

手機(jī)推送移動(dòng)應(yīng)用

2015-04-17 15:36:50

Teradata數(shù)字化

2010-01-11 17:41:26

MXN旅游頻道

2019-09-20 09:06:27

物聯(lián)網(wǎng)個(gè)性化客戶體驗(yàn)

2014-06-03 17:11:39

FM數(shù)據(jù)挖掘數(shù)據(jù)處理

2018-05-14 12:48:04

大數(shù)據(jù)銷售企業(yè)

2013-11-07 16:42:34

Windows 8.1個(gè)性化

2011-05-04 14:38:53

海爾江山帝景一體機(jī)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)