# 音箱後端 ###### tags: `Speaker` `System` `Function` :arrow_right: 流程圖說明:https://hackmd.io/@XiaoRong/flowchart ## 系統功能 ## 功能 API 分配功能 組內分配功能,如何達成 用什麼工具開發 ### 10/7 討論事項 1. 講解網頁架構 2. 分配功能(請組員們研究) 1. 需要有相關文獻 2. 訂定期望輸入輸出、觸發的關鍵字 - 得到甚麼,輸出甚麼,什麼關鍵字會觸發功能,要串什麼軟體,怎麼串 - e.g. 播音樂: 收到「播音樂」去搜歌... 3. 需要什麼 外部 API 或 自行研發 4. 需要的資源(Ex. 電話:手機權限、日曆:Calendar) ### 功能分配 #### 功能 | Feature | 負責人 | 內容 | | ---------------------------------------------- | ------ | ------------------------------------- | | 呼叫別的音箱<br>連結其他音箱做雙聲道 | 蔡鳳駿 | https://hackmd.io/@XiaoRong/B1oxOZ34K | | 呼叫行程通知 <br>呼叫打電話 | 張芩 | https://hackmd.io/@XiaoRong/SJCQ_ZnEF | | 問答功能 | 威宇 | https://hackmd.io/@XiaoRong/rkyS_ZnVK | | 將錄音傳至手機備忘錄 <br> 將搜尋結果傳到手機 | 黃冠棠 | https://hackmd.io/@XiaoRong/BkEPdW3EF | | 播音樂 <br> 查詢天氣 <br> 音樂搜尋 | 盧萱 | https://hackmd.io/@XiaoRong/Sypdd-3EK | #### 系統 | Feature | 負責人 | 內容 | | -------------------- | ------- | ------------------------------------- | | 語音辨識、文字轉語音 | 何昀潔 | https://hackmd.io/@XiaoRong/ryXp_W2Nt | | 文字理解 | 毛 | https://hackmd.io/@XiaoRong/SyQAubhVY | | WIFI AP 連接導引 | TuPanda | https://hackmd.io/@XiaoRong/SyZ1YbnEY | | 重置 | 林廷威 | https://hackmd.io/@XiaoRong/HJbgF-hNY | | 資料庫、音量調整 | Sophie | https://hackmd.io/@XiaoRong/SkHWKb3NK || ### 10/12 討論事項 1. 用甚麼軟體(架構討論) 2. 伺服器 tag #### 資源連結 - [8 Popular Python Frameworks to Build API](https://geekflare.com/python-frameworks-for-apis) - [Web Audio API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Best_practices) - [Fast API Tutorial](https://www.youtube.com/watch?v=7t2alSnE2-I&ab_channel=Bitfumes) - [Cloudmersive Speech and Voice Recognition API](https://api.cloudmersive.com/docs/speech.asp) - 這個看起來是語音文字轉換的東西 - [用樹莓派玩轉藍芽](https://www.itread01.com/content/1546179151.html) ### 10/14 討論事項 1. 收分配功能 2. 整理大家要用的套件 - 支援套件、語言、版本...... | Feature | 套件名稱 | 支援語言 | 其他 | | ---------------------- | --------------------------------- | ------------ | ---- | | 語音辨識 | gtts, pyaudio, speech_recognition | python | | | 文字理解 | jieba, pypinyin | python | | | WIFI AP 連接導引 | hostapd dnsmasq | | | | 重置 | 軟、硬體相關 | | | | 資料庫 | mongoDB or mysql | python sql | | | 呼叫別的音箱 | pyaudio, pybluez | python | | | 連結其他音箱做雙聲道 | | | | | 呼叫行程通知 | | | | | 呼叫打電話 | | javascript | | | 問答功能 | duckduckgoapi wikiapi | | | | 將聲音傳輸到手機備忘錄 | | bluetoothctl | | | 播音樂 | kkboxapi youtubeapi | HTTP request | | | 將搜尋結果傳到手機 | | | | | 查詢天氣 | | | | | 音樂搜尋 | shazam | python | | | 文字轉語音 | | | | ### 10/19 1. 系統規格書 大致內容 ### 10/22 開會後討論的代辦事項 1. 斷電重新開機後的恢復功能 2. 整理需要在伺服器端、前端出現的功能 3. 跟蹤組員進度,了解組員們的進度和情況 4. 串接中間的實作(外部、內部) 5. API doc - 需要別人的哪些資料、格式 - 只會在內部被叫的直接用 function call - 如果會被外部叫的再開 route,開了的一律需要授權 - 再去查授權的部分 6. 架構圖(以下東西的步驟跟關係的圖) - 該功能如何被呼叫 - 過程該如何執行 - 需要哪些資訊或權限 - 需要在前端和伺服器做什麼? - 例如:前端網頁顯示文字之類的 7. 下周兩次軟工課程的會議各有 20 分鐘會與其他組的討論,此時須將 6. 的東西與他組討論 #### 等等要說的 1. 進度安排 - 架構圖大綱 時間:10/26 - 至少要做甚麼步驟要寫出來、外部 API 如何串接 - 架構圖細節 時間:10/28 - 實作細節補充、內部伺服器(功能)串接 - 完成 API doc 時間:11/02 - 需要別人的哪些資料、格式 2. 串接、跟其他組開會 - 下周兩次軟工課程的會議各有 20 分鐘會與其他組的討論 - 此時須將架構圖中跟其他組有關的跟他們討論 3. 預約時間小報告,說明遇到的問題以及進度 - 時間之後會再發