-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dynamic channel allocation function #119
Comments
So you want something like this? |
In fact, this is not complicated, only a simple algorithm is needed to use these channels in turn. In general, the new notes directly overwrite the old ones. In addition, it is also necessary to calculate the actual length of the note. Longer notes have a higher priority to be covered. . Something like that. |
In practical examples, Windows comes with OPL3/OPNA MIDI driver with this algorithm, which can play MIDI in FM sound source (usually there are more MIDI channels than FM hardware channels) |
申し訳ありませんが、その形式をサポートする予定はありません。 OPLの様に短時間での大量の書きこみに耐えられるCHIPなら問題ないでしょうけども、 また、Chip毎に発音するためのアルゴリズムを組むのも大変で複雑だからです。 更に、MDPlayerで鍵盤表示が見にくい状態になるという理由もあります。 データを作成するユーザーは常に発音数を意識する必要があります。 |
For algorithmic issues, there are currently two projects that have implemented this function. I suggest you refer to their code. In fact, the OPL series chips are very suitable for dynamic channel allocation. https://github.com/Wohlstand/libADLMIDI |
作り方がわからないという問題だけではありません。 |
The dynamic channel allocation function allows me to compose music with more audio tracks than the actual number of channels. In fact, in most cases, the channels of YM2612 are not fully used all the time, and there are always idle channels. If this function is available, the channel utilization can be improved a lot, and there are fewer restrictions when composing tracks. .
The text was updated successfully, but these errors were encountered: