2009年7月11日 星期六

Polyphonic Computer Music Authoring Tool

2009/07/11

不免俗的,先來說一下故事。



由於維城、文森及冠廷近年來在polyphonic music的研究上有了卓越的成果,Cuda的普及正好可解決合成上計算量過高的問題,因此老師便計畫著如何利用它來呈現大家的研究成果。此外,電機系有個同學願意幫我們完成電腦動畫,使其可在畫面上呈現提琴演奏的樣子,還有師大音樂系同學的加入,他們願意幫我們修正分析完錯誤的部份結果,並標記提琴的弓法。最後也最重要的,是冠廷跟小聽加入實作的行列。在天時、地利、人和的條件都滿足的情況下,這個編曲工具的專案便問世了。

昨天跟冠廷和小聽已討論出大概的系統架構、初步實作之資料格式及功能等等,因此開條Thread來紀錄一下工作事項及進度。目前工作的分配如下:

冠廷:

先實作資料格式的I/O,也就是先將文森的結果,按照以下格式紀錄在程式中,輸出的格式暫定為 XML 與 Binary,時間的最小單位是 10ms。註: Track外還會包一層 Group,來代表是同一組 partial group。

class Track

{

int 樂器id;

float[] 頻率;

float[] 能量;

int 起始單位時間;

int 持續單位時間;

Control[] control;

}

class Control

{

int type; //紀錄 control種類, ex: vibrato 就填1

int subType; //紀錄 是哪一個子類, ex: vibrato有三種,如果要第二種,就填2

string tablePath; //如果type是user define, 會由使用者指定這個路徑

int 起始單位時間; //在這個Track的單位時間多少時發生

int 持續單位時間;

}

小聽:

使用Java Swing製作GUI,先尋找一下網路上是否已有寫好的函式庫有提供我們所需要的功能。需要的功能細項待補。(我寫的字條放在 Lab …)

1. 畫waveform的panel (time domain、FFT)

2. 在波形圖上選取區段,變色效果。

3. 經由畫筆改變waveform

4. 可以自由配置視窗的功能

5. 隨不同視窗,改變工具列。

6. 屬性頁

7. midi檔的note number用樂譜形式呈現

showmin:

實作擷取一段聲音的 partials 並另存成樂器庫及 OLA additive synthesis。

2 則留言:

SCREAMLab 提到...

太感謝了, 我把相關的計劃開了其他串, 技術部分就由該管同學來維護. 這一串就只是這authoring tool的開發吧!

SCREAMLab 提到...

Hi:

我想變更一下工作的分配, 因為我想請仕偉加入, 所以原來小聽的工作可能要做一下變更, 而仕偉可以接原來assign給小聽的工作, 因為仕偉的古琴軟體很快就會需要這功能, 詳情就請見小聽與仕偉的串子. 另外要督促D.N.A.快一點把文森的東西弄玩以便整合進來. 我也想開始monitor這個工作的進行以便它早一點可以給師大的同學用.

So, 我們需要來一個meeting來確認嗎?