问题标签 [sysex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1723 浏览

midi - Alesis QS MIDI Sysex 数据转换

我的目标是将来自 Alesis 合成器的字节码流转换为人类可读的格式。我需要能够获取“程序转储”并读取组成补丁名称的 10 个字符串。

为了从合成器接收“程序转储”,我通过 MIDI-OX 向合成器发送了以下命令:

我要求它向我发送程序 73 的转储。

我收到了这个:

MIDI-OX 告诉我它收到了 408 个字节。

这符合规范:

“单个程序转储发送了 400 个数据字节,对应于 350 个字节的程序数据。加上标头,与程序转储一起传输的总字节数为 408。显示了每个参数在程序转储中的位置在下一节中。”

“程序转储”应由以下值组成:

这意味着数据应以“00 60”开头并以“07 F7”结尾。

现在我应该能够将这 400 字节转换为该程序的“350 字节的打包参数数据”。遵循“程序数据格式”,程序名称的 10 位数字应位于打包数据中的某处。补丁 73 被称为“BlowDeTune”或“PanBristle”,不完全确定它是从 0 开始还是从 1 开始。

那么你如何进行转换呢?规范的第1页给出了传输格式,但我不明白如何解压。

任何人都可以帮忙吗?

Alesis QS MIDI Sysex 规范在这里:

http://www.midiworld.com/quadrasynth/qs_swlib/qs678r.pdf

MIDI-OX 可以在这里找到:

http://www.midiox.com/

0 投票
3 回答
1638 浏览

c# - .Net 中的 Midi 实现

有人对在 C# Winforms 中编写基于 MIDI 的应用程序有任何指导或建议吗?我最近购买了一个具有完整 MIDI 实现的新效果踏板(或者我被引导相信),但制造商认为不发布图书管理员/补丁编辑应用程序是合适的。

除了将键盘插入另一个 MIDI 设备之外,我几乎没有 MIDI 经验,但这不会那么难,对吧?;-)

提前致谢。

0 投票
3 回答
1769 浏览

cocoa - MIDIPacketList,numPackets 总是 1

我正在 iPad 上处理 Midi,一切正常,我可以记录所有进入的内容,一切都按预期工作。但是,在尝试接收长消息(即 Sysex)时,我只能得到一个最大 256 字节的数据包,之后什么也没有。

使用 Apple 提供的代码:

packetList->numPackets始终为 1。在我收到第一条消息后,在发送“新”sysex 消息之前不会调用其他回调方法。我不认为我的 MIDI 处理方法会被完整的 packetList 调用(可能是任何大小)。我原以为我会以流的形式接收数据。这个对吗?

在挖掘之后,我唯一能找到的是: http: //lists.apple.com/archives/coreaudio-api/2010/May/msg00189.html,其中提到了完全相同的事情,但没有太大帮助。我知道我可能需要实现缓冲,但我什至看不到前 256 个字节之后的任何内容,所以我不知道从哪里开始。

0 投票
2 回答
531 浏览

macos - 将 win32 MIDI SysEx 应用程序移植到 MacOSX

将 win32 MIDI SysEx 应用程序(配置程序)移植到 MacOSX 的最简单方法是什么?

该应用程序本身是用 Qt 编写的,但我没有使用 OSX MIDI API 的经验。是否有足够好的直接替代电话,例如:

  • midiInOpen
  • midiOutOpen
  • midiOutPrepareHeader
  • midiOutLongMsg

还有几个?对于从未在 MacOSX 下编程以开发 MIDI SysEx 应用程序的人来说,有没有像样的信息来源?核心音频?

0 投票
1 回答
785 浏览

android - 在 Java 中发送 sysex 消息

我正在尝试制作一个将 sysex 消息发送到 Roland 设备的应用程序。我找到了一个示例并尝试根据自己的需要对其进行一些修改:

byteString 是一个包含以下十六进制消息的字符串:F0411000004F1200020201070272F7 但是,我在 textView.setText(message) 行的控件打印输出返回以下字符串:15410041000000715

不太确定哪里出错了,textView消息不应该和输入消息一样吗?

问候/米

0 投票
1 回答
385 浏览

arduino - 为什么 Arduino Midi 库将十六进制 F7 读取为 0

我已将我的效果处理器 midi 连接到 shield 中的 arduino midi,我正在尝试使用 arduino 的 Midi 库读取来自我的效果处理器的 sysex 消息,一切运行正常,但是当涉及到十六进制数 F7 时,我的 arduino 读取 0。我知道F7 是 247 有人知道为什么会这样吗?

我使用此代码

0 投票
2 回答
419 浏览

ios - 如何将 sysex 数据添加到 MusicTrack?(音频工具箱)

我正在尝试用二十一点等编写我的小型 midi 音序器,但坚持将 sysex 数据写入 MusicTrack。我使用以下代码插入 sysex 事件

模式数据是

我做错了什么,因为在调用 MusicSequenceFileCreate 之后我得到了损坏的文件。有人有如何将 sysex 数据添加到音乐曲目的示例吗?

0 投票
2 回答
1309 浏览

java - 使用 Java 发送 sysex 消息

我想向 MIDI 端口发送一条 Sysex 消息。不幸的是,当我发送它时根本没有任何回应。发送常规MIDIShortMessage消息(ShortMessageSysexMessage

为什么端口没有收到消息或为什么没有发送?

0 投票
0 回答
1568 浏览

javascript - Electron - 通过 Web MIDI API 发送 Sysex 消息会导致渲染器崩溃

我正在开发一个可以将 sysex(系统专有)MIDI 消息发送到 MIDI 设备的 Electron 应用程序,每次我尝试发送 sysex 消息时,渲染器都会崩溃。我可以毫无问题地向设备发送非 sysex 消息(noteOn、noteOff 等)。

这是我正在做的一些事情:

在网络浏览器(仅限 Chrome)中,您需要安全连接并请求用户许可才能发送 sysex 消息。我想知道这两个 Web MIDI sysex 要求是否导致了这次崩溃,因为我不清楚如何在 Electron 应用程序的上下文中满足这些条件。

0 投票
1 回答
195 浏览

java - Java midi SysEx 消息,流卡住,可能的错误?

当我一个接一个地以不同的字节长度实时发送 sysex 消息时,midi 流被卡住了。如果我只坚持一个字节长度,但我有 2 条不同的 sysex 消息要传递:一条用于实时参数更改,一条用于完整补丁(备份)。
我已经通过 javaFX 编写了一个示例测试用例来演示这种行为。