Re: [問題] 錄音 & call c function

看板Python作者 (lozb)時間18年前 (2006/06/29 22:40), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/5 (看更多)
沒想到要考慮這麼多 orz 我之前都是用matlab錄音的 用wavrecord()這個函式 這個函式給他sample frequency 和 bit等參數 他就會開始錄音 變成wav檔 現在想在python上找一個像這種功能的函式 我也寫了很多信號處理的c程式 都是針對wave檔做處理的 所以希望寫一個python的視窗程式 把這些c程式做一個好用的介面 我不懂API 能達到錄音的功能 並存成 *.wav 格式的檔案 linux 或 windows都可以 因為已經有的c程式 在這二個系統下都可以跑 如果是可以錄音 但出來的檔案不是*.wav的話也是可以 只要是像wav檔一樣 只記錄波形大小等振幅資料 我都可以接受 反而這樣我可以更省力 直接把錄到的資料丟到寫好的程式即可。 請問這樣有解嗎? ※ 引述《Freak1033 (金が信念! XD)》之銘言: : ※ 引述《lozbwlmnxu (lozb)》之銘言: : : 因為專題要寫gui的程式 並且還要錄音 : : 請問一下python要怎麼做到錄音功能 : : 以及如果以經有寫好的c函式 : : 要怎麼用python去呼叫呢 : : 可否告知詳細的步驟 : : 感謝 : 你問得不夠詳細又希望別人給你詳細步驟... 很困擾啊. XD : 我得先反問你幾個問題: : 1. 你用的錄音 API? : 如果你是在 win32 底下, 你可能會想用 MCI? DirectSound? : 如果你是在 linux 底下, 你可能會想用 OSS? ALSA? : 還是你有跨平台需求, 想用 SDL? OpenAL? : 2. 你錄好的東西需不需要壓縮? : 你也許會需要 lame/musepack/flac/... 之類的 codec? : 3. 可以考慮的細節太多了, 先只把這兩項列出來. orz : --- : 至於呼叫 c function... 有兩個選擇啦, : 1. 你可以把你的 c function 包一個 wrapper 弄成 python extension module, : 這個動作你可以用手做, 也可以考慮用 swig 之類的輔助工具. : http://www.swig.org/ : 2. ctypes module : http://starship.python.net/crew/theller/ctypes/ : 我自己是覺得如果你對 calling convention 有點認識的話, 用 ctypes 是方便得多, : 除非你想在你的 c code 裡面處理很多 python object, : 甚至要管理一些 object reference, 不然我都建議你用 ctypes. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.64.149.113
文章代碼(AID): #14e-POYQ (Python)
文章代碼(AID): #14e-POYQ (Python)