→ uranusjr:C++ 使用 Python 函式庫是很困難的事情(甚至不可能), 12/20 23:49
→ uranusjr:一般都是反過來用 C++(或比較常見是用 C)擴充 Python 12/20 23:50
→ uranusjr:至於需要什麼...你需要完整的 Python 環境(官網安裝包裝 12/20 23:50
推 chchwy:反過來python用C函式庫則不難 關鍵字ctypes 12/20 23:51
→ uranusjr:下去就差不多了), 以及一個把 C++ 包起來送給 Python 的 12/20 23:51
→ uranusjr:工具 -- Boost.Python 是個常見的選擇 12/20 23:52
http://docs.python.org/2/extending/embedding.html
這個網頁應該是 C++ 使用 Python 吧? 所以這是很困難的事情囉... orz
困難的地方在於哪裡呢?例如環境設定之類的?
→ legnaleurc:... 為什麼不直接找 C++ 的工具就好了 12/21 00:09
因為 C++ 沒有內建相關函式庫,沒有統一標準,
而 python audio api 似乎是官方統一標準的?(不太確定)
因為我想寫教學文件,可能會有滿多人閱讀、動手做,所以有個統一標準可循會比較好!
另外也聽說 python 比較容易上手,適合非本科系學生,
國外一些計算機概論課程也是教 python,所以就想試看看 python!
→ uranusjr:Python.h 是 C API(當然 C++ 本來就可以用 C 是沒錯..) 12/21 10:57
→ uranusjr:除非你之前有寫過 C 的物件導向, 不然整個用起來就是很卡 12/21 10:58
我沒有寫過 C 的物件導向耶,老實說我對 C/C++ 都不是很熟...
如果這種方式,各位專家認為它會卡卡的,
那麼我應該會改用 python call c++ 而不是 c++ call python ~
推 rodion:應該就是看妳自己貼的官方文件吧 我晚點也要試試C++連py 12/21 14:44
如果有試出來麻煩也教我一下怎麼做 >"<
推 retard:google 一下就有了 12/21 16:40
→ retard:hmm 12/21 16:42
→ retard:我會錯意了 12/21 16:42
→ retard:我猜你要的是 cython 之類的 12/21 16:43
這個好像是另一種神奇的語言???
推 plover:可能要先確定你的需求 12/21 21:15
我的需求:就如正文所述,可以讀/播放聲音檔案就好了。有官方標準API就更好!
程式碼主要是用來教學/推廣用的。
我想了解看看,如果用 python 的話,會有哪些比較好的做法,
看看哪一種比較方便、比較容易操作,再決定用哪一種方式。
最後也可能決定直接整支程式都用 python 寫 XD
→ legnaleurc:要給非本科系教學那就別用 C++ 吧,嚇走一堆人 12/22 03:00
真的嗎?我一直以為一般民眾對 C/C++ 的接受程度應該是最高的了。
程式語言補習班也都有 C/C++ 的課程,python 相對之下比較小眾。
http://www.csie.ntu.edu.tw/train/course_program.php
http://www.pcschool.com.tw/learnservice/courselist.aspx?id=31
正因為聽說 python 很強大卻不流行,才想說也許可以試試 python。
推 flarehunter:要做訊號處理的話 matlab也是一個不錯的選擇 12/22 10:37
我一開始學聲音訊號處理就是看 matlab 的程式碼!!! 推薦下面這網頁:
http://mirlab.org/jang/books/audioSignalProcessing/
最大缺憾就是 matlab 要錢 XD
還有一個缺憾就是 matlab 很多東西都已經包好好,沒辦法呈現太多細節。
至於好處是畫圖表很方便!
另外想偷偷問一下 openAL 好不好用 (這個問題好像不適合在這個板問 XD)
※ 編輯: DJWS 來自: 36.225.136.125 (12/22 10:54)
→ legnaleurc:知名度和上手度是兩回事 12/22 18:23
→ DJWS:有道理! 12/23 16:59
→ Reylod:matlab要錢就用octave,幾乎compatible 12/24 00:01
→ kdjf:不過速度真的有差... XD 12/24 09:47
→ uranusjr:除非有向後相容需求, 不然與其用 Octave 不如乾脆就用 12/24 10:00
→ uranusjr:Python 就好啦... 12/24 10:00
我也覺得直接用 python 比較單純一點~
推 marksmanz:swig應該可以滿足你的需求 12/25 00:33
→ marksmanz:但是最快的方式應該還是用python import openal ... 12/25 00:37
→ marksmanz:要畫圖的話可以用 matplotlib 12/25 00:39
感謝!長了很多知識!
swig 看起來超猛,什麼語言通通都可以黏在一起,竟然有這麼神奇的工具...
另外一方面,既然要 python import openal,那我其實也可以 c++ import openal !?
我想我得研究一下 openal 到底好不好用,再來做決定。
※ 編輯: DJWS 來自: 36.225.134.173 (12/25 23:48)