iT邦幫忙

2024 iThome 鐵人賽

DAY 1
1

.前言

米娜桑~在看完主題小劇場後,都可以理解老闆的需求了吧!

兩週提交一個 簡單、陽春版的語音聊天機器人 ,Demo 給老闆看

可以想像成鋼鐵人的 Jarvis 網頁版

接著就讓我們邊勾勒產品的模樣,邊進行分析

這個語音聊天機器人,到底會需要用到哪些技術吧!


.核心技術介紹

首先,這個語音聊天服務流程會是這樣:

  1. 使用者對聊天室中的機器人講話
  2. 機器人大、聲、回、話! (大聲什麼啦)

所以跟平常打字聊天不一樣的地方是:

1. 網頁要能夠接收使用者的聲音

  • 透過 getUserMedia(),可以取得使用者麥克風輸入的即時音訊,再利用 Web Audio API搭配MediaStream Recording API 的 MediaRecorder,可以將音訊轉錄成檔案,用以傳送至後端。

2. 使用者講的話,機器人要能夠理解分析 (後續簡稱 chatGPT 吧,不演惹 AI)

  • AI 要能夠判斷你說什麼,其實不是透過音訊,而是透過文字字串,所以我們必須藉由 Google 的 Speech-to-Text API(簡稱 STT),將音訊檔轉成字串餵給 AI。

3. AI 分析完,要能用語音回覆

  • 其實 AI 分析返回的結果也是字串,所以我們必須再藉由 Google 的 Text-to-Speech API(簡稱 TTS),將字串轉成音訊檔,並透過 Web APIs 中的 Audio 來播放。

總結一下後續文章會使用的技術:

  • Google Speech-to-Text:語音轉文字
  • Google Text-to-Speech:文字轉語音
  • OpenAI API:生成對話
  • Web Audio API:音頻處理
  • MediaRecorder:錄製音訊
  • MediaDevices:獲取用戶麥克風輸入
  • WaveFile:轉換音檔格式

系列文
可以幫我做一個簡單的語音聊天機器人嗎?類似chatGPT,功能陽春一點沒關係,希望兩週內好。「好ㄉ勞闆」1
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言