问题标签 [midi-instrument]

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 投票
3 回答
534 浏览

silverlight - Silverlight 可以与 MIDI 乐器通信吗?

Silverlight 可以与连接到运行 Silverlight 应用程序的机器的 MIDI 乐器通信吗?进出浏览器。

0 投票
1 回答
2024 浏览

keyboard - 免费软件物理建模钢琴?

是否有任何在线免费代码可用于物理建模(即不是基于样本)的钢琴声音?商业软件的例子包括 Pianoteq 和 Roland 的 V-Piano 的固件。这是我正在从事的一个开源数码钢琴项目。

0 投票
1 回答
524 浏览

ruby - 从 Ruby 控制 VST 乐器

我最近买了一份 EZDrummer,一个充当虚拟鼓组的 VST 插件。我真的很想从 Ruby 代码中连接到它,这样我就可以通过编程方式创建循环和鼓模式。老实说,我什至不确定从哪里开始。大概我必须创建一个可以加载插件然后以某种方式连接到它的 VST 主机。我是一名 Ruby 开发人员,所以这就是我想要实现的语言。任何指向正确方向的指针?

0 投票
5 回答
2301 浏览

java - Java sound api - 扫描 MIDI 设备

我正在开发一个使用 javax.sound.midi 库从 midi 硬件接收 midi 事件的 java 项目。在文档中,它说MidiSystem.getMidiDeviceInfo()返回所有连接的 MIDI 硬件的列表。它对我有用,但问题是,它只能工作一次。第一次实际扫描设备需要一点时间,但此后每次它都会立即返回相同的列表,即使已连接新设备也是如此。有没有办法强制它重新扫描?如果应用程序重新启动,它将重新扫描,但我不希望我的用户在连接新的 midi 设备时必须重新启动。

顺便说一句,我使用的是 Mac OS X ......有人指出,不同操作系统的行为可能不同。

0 投票
3 回答
10921 浏览

java - Java MIDI 合成器 - 无法更改乐器

我似乎无法改变乐器。我切换了仪器的值,但输出没有任何不同。无论我尝试什么价值,我都只能得到一个钢琴乐器来演奏。这是下面的简单代码。有没有人有什么建议?还是我错过了仪器对象的基本原理?

0 投票
1 回答
428 浏览

flash - 迷笛 | 如何区分不同的弦乐工具(小提琴、大提琴、贝斯)

我正在尝试在 flash midi 文件中可视化(使用外部 midi-to-flash 库)

有没有办法在 MIDI 文件中区分小提琴、中提琴、大提琴和低音提琴。我得到了仪器的这些值(忽略数字):

1 长笛 13

2 双簧管 15

3 单簧管 14

4 巴松管 16

5 圆号 18

6 小号 17

7 定音鼓 26

8 弦乐合奏 1 3

9 弦乐合奏 1 3

10 弦乐合奏 1 3

11 弦乐合奏 1 3

12 弦乐合奏 1 3

13 原声三角钢琴 5

14 原声三角钢琴 5

15 原声三角钢琴 5

16 原声三角钢琴 5

如您所见,所有字符串都获得相同的“字符串合奏”值......

一种方法是询问每个音符是高(65>)还是低(50<)等,然后大致确定乐器类型(针对特定音符)。但由于这些值是随机的且不准确 - 这并不能正确地将它们分开(特别是因为不同的工具仍然具有共享的音符高度值)。

  1. 它是在 MIDI 文件的某处写的(大提琴、小提琴……)吗?

  2. 有没有办法假设它?

  3. 我有 5 个音轨。是否可以假设(例如)前两个是小提琴,第三个是大提琴等?或者他们都是混合的?

0 投票
2 回答
314 浏览

android - Class similar to javax.microedition.media.control.MIDIControl in Android API?

Does the Android API have a class similar to javax.microedition.media.control.MIDIControl? I want to generate midi sounds as drums, notes and chords.

0 投票
2 回答
8443 浏览

java - MIDI 乐器列表?

我最近用Head First Java中的代码实现了一个 MIDI Beatbox,我真的很想用 Java 的 MIDI 功能做更多事情。我想我可能会先在现有代码中添加更多的非打击乐器,但我似乎无法找到可用乐器及其int键的简单列表。

SoundbankJDK 附带的任何地方都存在这样的列表吗?

0 投票
2 回答
336 浏览

midi - 替换 0xC0用 0xC000 “重置” MIDI 乐器?

我有一些由 Sibelius (v.4?..) 制作的 MIDI 文件,其中包含“不寻常”的乐器;我听不见旋律。我决定我需要将乐器“重置”为 0(我相信原声三角钢琴)。

因此,我使用python-midimingus编写了一个 Python 程序;这些程序可以改变 MIDI 乐器,但它们都极大地改变了节奏。

Rosegarden很好地完成了这项工作,但我不能批量使用它。

接下来,在阅读了一些 MIDI 格式信息(例如herehere)之后,我编写了一个简单的 Python 脚本(见下文),它只是将一些字符串替换为另一个字符串 --- 将 0xC0[byte] 替换为 0xC000 等等。

现在那些 MIDI 文件听起来不错,我可以听到所有的声音。

所以,我的问题是——这样做是否“安全”(在任何意义上)?我怎样才能更好地更换乐器?如何更好地“检测” MIDI 文件中的 0xCx 命令?

谢谢!

0 投票
1 回答
4498 浏览

embed - 使用 chrome 播放 MIDI 文件

我正在使用嵌入播放器播放 MIDI 文件。它在 mozilla 和资源管理器中播放,我如何在 chrome 中播放该 midi 文件,是否有任何扩展或插件可以让我在 chrome 中播放 midi。

这是我的代码

它正在开发 Mozilla 和资源管理器。