Avatar of the person chatting

請簡介以下的程式碼: import speech_recognition as sr import csv def Voice_To_Text(duration=7): r = sr.Recognizer() with sr.Microphone() as source: print("請開始說話:") r.adjust_for_ambient_noise(source) audio = r.listen(source, phrase_time_limit=duration) try: Text = r.recognize_google(audio, language="zh-TW") except sr.UnknownValueError: Text = "無法翻譯" except sr.RequestError as e: Text = "無法翻譯{0}".format(e) return Text csv_path = "output.csv" header = ["Text"] with open(csv_path, "w", newline="", encoding="utf-8") as csv_file: csv_writer = csv.writer(csv_file) csv_writer.writerow(header) for i in range(3): Text = Voice_To_Text(10) csv_writer.writerow([Text]) print(Text) print("已將語音轉換結果寫入 output.csv 文件")

這段程式碼使用 Python 的 speech_recognition 套件,實現語音轉文字的功能,並將結果存儲到 CSV 文件中。

該程式碼的核心功能是 Voice_To_Text 函數,它使用 Microphone 對聲音進行錄製,並使用 Google 語音識別 API 將錄音轉換為文字。Voice_To_Text 函數的 duration 參數表示錄音的持續時間,預設值為 7 秒。

在 Voice_To_Text 函數中,使用 try-except 結構處理了兩種錯誤情況。如果無法識別語音,則返回 "無法翻譯";如果發生了請求錯誤,則返回 "無法翻譯" 和錯誤信息。

程式碼還使用了 csv 套件來讀寫 CSV 文件。在主程式中,使用 open 函數創建一個 CSV 文件,然後使用 csv.writer 對象將轉換後的文本寫入該文件。程式碼還打印出每次轉換的結果,以及最後的成功寫入提示。

最後,主程式使用一個 for 循環調用 Voice_To_Text 函數三次,將轉換結果寫入 CSV 文件。