2
最近我一直在玩haskell ALSA接口,我不得不注意,我並不真正理解節奏和PPQ的概念。Alsa節奏與PPQ
早些時候,我已經寫了一大口,Python接口ALSA,並在那裏我找到了下面這段代碼(可能是從別的地方複製):
1 void AlsaMidiIfc::setTempo (int bpm) {
2 int queue = this->getOutQueue();
3 snd_seq_queue_tempo_t *tempo;
4 snd_seq_queue_tempo_alloca (&tempo);
5 snd_seq_queue_tempo_set_tempo(tempo, 60 * 1000000/bpm);
6 snd_seq_queue_tempo_set_ppq(tempo, PPQ);
7 snd_seq_set_queue_tempo (mySeq, queue, tempo);
8 }
當我把事件放進一個隊列中,時間總是用蜱指定,對吧?所以唯一需要回答的時間問題是「多久是一個滴答聲?」。
什麼是指定值,即節奏和PPQ的點?
改變速度會有什麼影響,但是離開PPQ 是?
如果我沒有設置PPQ,但只有速度, 的結果是什麼?
這是否意味着一個tick是節奏/ ppq useconds long? –
是的。 ♩♬♬♩♪♫♪♩♩♫ –