自作サウンドフォントの動向についての相談。

• Oct 29, 2021 - 13:22

いつもお世話になっております。

さて、私は自作サウンドフォントをmusescore3に読み込ませて、譜表テキストでMSB⇒プログラムチェンジに変えるプログラムを作ってみたいです。
以下のような動きにさせるならinstruments.xmlをどのように書き換えればよろしいでしょうか?

MSBは以下の通りです。

スタッカート:40
レガート:21
デターシェ:34
サステイン:1
ポルタメント:31
スフォルザンド:28
トレモロ:11
ピチカート:56

Attachment Size
プログラムチェンジ.png 43.23 KB

Comments

In reply to by 安藤信十郎

何をどうしたいのかが読み取れないのですが,
「自作サウンドフォントには,奏法の異なる波形をバンクを変えて登録してある」
「譜表テキストによって,バンク切り替え(と同時にプログラムチェンジ)を行いたい」
ということでしょうか?

MidiAction の挙動や具体的な書き方をまったく知らないのですが,
ここ↓に「バンク 17 に切り替える」例がありました.

https://musescore.org/en/handbook/developers-handbook/references/instru…

To set bank 17

<controller ctrl="0" value="0" /> <!-- set sound bank number to 0 x 128 (MSB) -->
<controller ctrl="32" value="17" /> <!-- add 17 (LSB) to sound bank number -->

まずは,例にあるとおりにバンク切り替えの CC を MSB, LSB の順に両方とも送り,
その後にプログラムチェンジも送って試すとよいのではないでしょうか.

そもそも,MidiAction は仕様どおりにきちんと動いていないかもしれません.
現状がどうなっているのかまったく知らないのですが,
以前に調べたときにそのような印象を持ちました.
https://musescore.org/ja/node/296668

In reply to by 安藤信十郎

(Edited)
さきほどここに書いたコメントは,間違っているような気がしたので,削除しました.
MSB と LSB の両方を送るようにしたほうが無難だと思います.
あと,バンク切り替えの CC だけだと切り替わらず,
プログラムチェンジも送ったときにバンクごと切り替わるのかもしれません.

In reply to by knoike

ありがとうございました。
先ほどLSBとPCを挿げ替えてサウンドフォントを作ったらプログラムチェンジ情報で
奏法が変更できるようになりました。
お騒がせして申し訳ありません。

たびたび質問ですが、楽譜のアーティキュレーション(スタッカートやアップボウやスフォルツァンドなど)をノートの短さで表現せず
プログラムチェンジ単位で変更したいです。
どうしてもMIDIアクションが反映できなかったのですがご協力いただけませんでしょうか?

アーティキュレーションをMIDIアクションに変換できない.jpg

Attachment Size
MIDIACTION_TO_STACCATO.mscx 20.73 KB

Do you still have an unanswered question? Please log in first to post your question.