作者lozbwlmnxu (lozb)
看板Python
标题Re: [问题] 录音 & call c function
时间Thu Jun 29 22:57:38 2006
没想到要考虑这麽多 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