code:
"""
資料來源:https://www.analyticsvidhya.com/blog/2021/10/build-a-voice-recorder-using-python/
pip install sounddevice
pip install scipy==1.8.0 #'1.11.1' 也可
"""
import sounddevice # 匯入sounddevice
from scipy.io.wavfile import write # 匯入 scipy.io.wavfile.write
fs= 44100 # 設定聲音採樣頻率 DVD中的採樣頻率 HZ
second = int(input("輸入要錄音的秒數: ")) # 輸入要錄音的秒數 要打整數
print("Recording.....")
# https://pypi.org/project/sounddevice/0.3.2/
record_voice = sounddevice.rec(
frames=int ( second * fs ) , # 錄音秒數 * 採樣頻率
samplerate = fs , # 採樣頻率
channels = 2 ) # 錄音兩個聲道
sounddevice.wait() # 等待錄音完成 才會執行到下一行, Ctrl+C可以中斷錄音
write("out.wav",fs,record_voice) # 寫入檔案
print("完成, 輸出到 out.wav") # 完成輸出到 out.wav輸出結果:

sounddevice.rec?



from scipy.io.wavfile import write
write?


推薦hahow線上學習python: https://igrape.net/30afN
![Python: List[ pandas.Series ] 轉DataFrame技巧:正確理解row和column的關係,同 concat( List[ pandas.Series ], axis=1 ).T Python: List[ pandas.Series ] 轉DataFrame技巧:正確理解row和column的關係,同 concat( List[ pandas.Series ], axis=1 ).T](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2025/04/20250422150133_0_1cfa94.png?quality=90&zoom=2&ssl=1&resize=350%2C233)


![Python: pandas.Series如何只保留str,去除重複值?#isinstance(x:Any, str) -> bool #.drop_duplicates() #Series.apply( function )逐元素應用function運算 #DataFrame.apply( function )逐Series應用function運算 .drop_duplicates() 跟.unique()有何差別? df.drop_duplicates() 等效於 df[~df.duplicated()] Python: pandas.Series如何只保留str,去除重複值?#isinstance(x:Any, str) -> bool #.drop_duplicates() #Series.apply( function )逐元素應用function運算 #DataFrame.apply( function )逐Series應用function運算 .drop_duplicates() 跟.unique()有何差別? df.drop_duplicates() 等效於 df[~df.duplicated()]](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2024/11/20241123194900_0_5218de.png?quality=90&zoom=2&ssl=1&resize=350%2C233)
![Python如何串接OpenAI /Claude /Gemini API自動將大量維修紀錄JSON轉自然語言描述(並避免中斷資料遺失)response = client.chat.completions.create() ; reply = response.choices[0].message.content Python如何串接OpenAI /Claude /Gemini API自動將大量維修紀錄JSON轉自然語言描述(並避免中斷資料遺失)response = client.chat.completions.create() ; reply = response.choices[0].message.content](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2025/07/20250716084059_0_c5b368.png?quality=90&zoom=2&ssl=1&resize=350%2C233)





近期留言