[問題] 如何寫parser程式來讀取midi音樂檔

看板C_and_CPP (C/C++)作者 (kid1412)時間15年前 (2011/04/24 19:18), 編輯推噓0(0011)
留言11則, 2人參與, 最新討論串1/1
我現在想要做的是想寫出一個parser的程式 接著讀入midi音樂檔 經過這個parser的程式後 從parser的程式裡取出MIDI裡面的音跟節奏就可以 現階段我們有在網路上找到可以幫我們parser檔案的網址 所以現在我們是懂midi經parser出來的編碼的意思 然後教授就說我們可以直接寫程式了 可是我們不知道如何下手寫 想問看看說我們可以參考什麼的資料 或著C語言書籍的什麼章節 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.229.37

04/24 19:42, , 1F
沒有很難吧...通常有header,照著header parser就好了....
04/24 19:42, 1F

04/24 19:43, , 2F
把檔案用binary格式讀進來,fopen("path","rb") windows用
04/24 19:43, 2F

04/24 19:43, , 3F
"rb", linux用"r"就好,linux都是當binary在讀的
04/24 19:43, 3F

04/24 19:44, , 4F
變數照header,自己設一個struct存放parse進來的data
04/24 19:44, 4F

04/24 19:45, , 5F
mini沒讀過...不過有parser過.mp3檔的header(id3v1/2.x)
04/24 19:45, 5F
我c只有學過比較基礎的 就是書本前面幾個章節的 所以你講的這些我有點看不太懂= =a 如果想讀你說的東西 我需要看那些部份才可以懂

04/24 21:19, , 6F
先看檔案存取的章節吧
04/24 21:19, 6F

04/24 21:22, , 7F
重點是 fopen 與 fread 這兩個函式的使用
04/24 21:22, 7F

04/24 21:23, , 8F
先看file的部分, fopen,fread,fseek之類的都會派上用場
04/24 21:23, 8F

04/24 21:24, , 9F
先用ultraedit打開midi檔,裡面會顯示16進位格式,這就是整
04/24 21:24, 9F

04/24 21:25, , 10F
個檔案,你要照midi的header來決定要讀取哪幾個byte長
04/24 21:25, 10F
※ 編輯: wayne78117 來自: 140.120.229.37 (04/25 19:47)

04/25 19:49, , 11F
有疑問可以站內信,或許可以給點幫助...
04/25 19:49, 11F
文章代碼(AID): #1Dj0SQOo (C_and_CPP)
文章代碼(AID): #1Dj0SQOo (C_and_CPP)