# 打开歌曲时的 MIDI 指令

您可以设置 SongBook+ 在打开歌曲时发送 MIDI 指令。

一个典型的应用实例是将外部设备（如键盘）根据选定的歌曲进行设置。

发送 MIDI 指令有多种可能性：

## 发送配置的 BankSelect/ProgramChange 指令 <a href="#toc165549806" id="toc165549806"></a>

SongBook+ 会在“编辑歌曲详细信息”窗口中设置的 *BankSelect* 和 *ProgramChange* 指令，当“打开时发送 MIDI 指令”开关开启时发送。

SongBook+ 发送这些指令的 MIDI 通道与用来接收 MIDI 的通道是相同的。

<figure><img src="https://2214870883-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxDXucXNV7qSpSJKBhfII%2Fuploads%2Fgit-blob-0dc551190e885bfd46c943894ebd527df9a24a61%2Fimage%20(47).png?alt=media" alt=""><figcaption><p>发送 BankSelect 和 ProgramChange</p></figcaption></figure>

<img src="https://2214870883-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxDXucXNV7qSpSJKBhfII%2Fuploads%2Fgit-blob-c3c70a66b425e3516a639c4e49a63aca48a7e671%2Fbulletpoint-01.png?alt=media" alt="" data-size="line">通过这些设置，BankSelect 高位 1、BankSelect 低位 5 和 ProgramChange 16 指令将通过通道 1 发送到 MIDI 输出。

## 发送其他可配置的 MIDI 指令 <a href="#toc165549808" id="toc165549808"></a>

在歌曲的编辑窗口中，使用“打开时的操作”按钮可以定义打开歌曲时要发送的任意 MIDI 指令。

{% hint style="info" %}
如果您希望发送更多的 BankSelect MSB + BankSelect LSB + ProgramChange 组合来控制多个设备（如上节中所述的 “MIDI 小轮”），可以在此处进行设置。

BankSelect MSB 和 BankSelect LSB 只不过是具有特定编号的 ControlChange。\
一个 BankSelect MSB 是一个 ControlChange 0，而一个 BankSelect LSB 是一个 ControlChange 32。
{% endhint %}

<figure><img src="https://2214870883-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxDXucXNV7qSpSJKBhfII%2Fuploads%2Fgit-blob-e3a6ceaf4d2070ca4921d21f89e99948fa28aa8c%2Fimage%20(4).png?alt=media" alt=""><figcaption></figcaption></figure>

## 对所有歌曲发送相同的 MIDI 指令 <a href="#toc165549809" id="toc165549809"></a>

在“MIDI”->“MIDI-Makros”->“操作歌曲时的宏”中的 MIDI 设置中，您可以选择一个预先定义的 MIDI 宏，该宏将在打开每首歌曲时发送。还可以确定即使歌曲已经包含自己的“打开时的操作”时，是否仍然发送该宏。

<figure><img src="https://2214870883-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxDXucXNV7qSpSJKBhfII%2Fuploads%2Fgit-blob-bfd56c1d5c103a6a935a13a06c5e7509f119dbdb%2Fimage%20(3).png?alt=media" alt=""><figcaption></figcaption></figure>

## 当歌曲打开时发送 MIDI 文件的内容 <a href="#toc165549807" id="toc165549807"></a>

当存在与 .pdf 文件同名的 .mid 文件并扩展为“\_open.mid”时，SongBook 会在歌曲**打开**时发送该 MIDI 文件的内容。

（例如，MySong.pdf -> MySong\_open.mid）

仅允许类型 0 的 MIDI 文件（单轨）。所有指令将同时发送，而不考虑时间。因此无法发送音乐，只能发送用于配置环境的指令。
