# 打开歌曲时的 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 文件（单轨）。所有指令将同时发送，而不考虑时间。因此无法发送音乐，只能发送用于配置环境的指令。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.songbookplus.com/zhong-wen/readme/midi-features-verwenden/midi-befehle-beim-offnen-von-songs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
