问题标签 [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.
php - 将 MIDI 转换为 mp3
我有一个 midi 文件,我想在网页上播放该文件,目前我正在使用 midi.js 播放器播放,但它不适用于移动浏览器。
请指导我如何播放该文件,否则我如何播放 midi 或将其转换为 mp3
这是我的代码
最后将 base64 值传递给 midi.js
java-me - 我无法更改 JSR-135 上的 MIDI 频道程序
我告诉他们我正在使用 MIDlet,我无法更改任何乐器的 midi 通道。我试过有无.shortMidiEvent(0xC0 + channel, program, 0);
结果setProgram(channel, -1, program)
。在我的手机上是诺基亚X3-02 仪器更改不起作用,只有midlet 的模拟器。这是代码片段
是你可以改变仪器,因为我知道你使用这样的player
情况下的数组。我尝试并没有奏效。萨卢多斯
c++ - 主机中相同 VST 乐器的多个实例播放相同的 MIDI 声音
我用 C++ 制作了 VST2.4 乐器,一切正常,但是如果我将乐器加载到主机的多个通道中,它们都会互相播放彼此的 midi 文件。如果我复制我的 dll 并更改 dll 副本的名称,那么我可以加载两个实例并按照它们应该的方式分别播放它们。但只要我加载多个相同的dll,它们都会播放相同的midi。
在我的 dll 中,当处理 midi 事件时,我确实忽略了通道,我只是在处理笔记,这是我能想到的代码中唯一可能导致这种情况的部分。我需要知道什么才能使其与同一 VST 仪器的多个实例一起工作吗?
我使用的 midi 事件函数取自 VST.SDK V2.4 中包含的合成器示例
我知道这与唯一 ID 无关。
问候,摩根
java - 你如何在 java 中访问 MIDI IN 流中的数据?
我想利用来自设备中 MIDI 的数据。当某些事件发生时,我需要得到通知,以便我可以做一些事情,比如即时转调某些音符或调用方法或任何你能想到的东西。
虽然我对一般编程特别是 java 还是很陌生,但我已经能够使用 javax.sound.midi 使用音序器播放序列。我什至可以添加一个侦听器,告诉我音序器何时播放某些事件。现在我希望能够用 MIDI IN 流做类似的事情,但我不知道怎么做。
欢迎任何想法或解决方法,因为我现在很困惑。
c++ - VST SDK 2.4 Instrument - processReplace and processEvents
Example: If I want to play a sound in my soon to be homemade VST instrument, and this note in the sequencer is 15000 samples long and the note is set to ON by the processEvents, the processReplace function starts to play the sound from 0 to sampleFrames (that is 10000 in my example here). Then there will be 5000 samples left to play of the note the next time it enters the loop in processReplace, but still the loop will play from 0 to 10000 which is 5000 more than samples to play from the note. There will be 5000 samples of silence that are going to be played and that means that this note will not be turned off until 5000 samples later!?
If a new sound in the sequencer is placed directly after the first one the processReplace function will not see the short period of OFF set by the processEvents and see the next sample as a continous sound of the first one because it will only see the new notes ON when the loop is entered again.
How can I prevent this from happening? How can I stop the processReplace loop if the note ends in the middle of the loop?
android - 启用 android-midi-lib 频道
我已经下载了https://code.google.com/p/android-midi-lib/以尝试长时间播放纯弦声音。我想了解如何使用默认三角钢琴以外的 MIDI 通道。渠道应该是答案。更改它们似乎没有效果。所有 16 个通道听起来都像 Android 中的三角钢琴吗?还是我错过了什么?!?
我已经改编了引用项目中的示例文件写入例程。我尝试了 5 个 MIDI 通道。它们听起来都像频道 0。我在 Droid 2 和 S3 上得到了一致的结果。
我没有发现我的 MIDI 文件格式。但是,似乎认为频道正在写入稍后由 MediaPlayer 读取的文件。我已验证将通道信息写入文件时是否正确。我看到了两个嫌疑人:MediaPlayer 和系统 MIDI 引擎。我不知道该把重点放在哪里...
这是应该将通道信息 (ChannelEvent) 写入 MIDI 文件的代码:
有什么想法吗?
ios - 播放多乐器 MIDI 文件 IOS
我正在尝试编写一个具有高质量声音库的简单 MIDI 播放器,但我遇到了播放 MIDI 文件的问题。问题是所有 MIDI 音轨(鼓、垫、贝司、合成器等)都播放,但它们只演奏一种乐器。我找到了适用于 OS X 的解决方案,但我需要适用于 iOS 的解决方案。
我必须为每种乐器创建audioUnit
吗?kAudioUnitSubType_Sampler
或者是否可以实时更改所选通道上的仪器?如何实施?
这是我的代码,它不能正常工作:
openframeworks - 任何可编程的 USB/midi 控制表面,我可以在其中对焊盘的颜色进行编程以进行反馈控制?
我正在寻找一个在表面上提供反馈的 USB/midi 控制表面,现在大多数表面都有一些滑块/旋钮/垫,通常垫按钮是彩色的。
理想情况下,我希望能够控制这些颜色,以便从我编写并由表面控制的应用程序中获得一些反馈。
有没有这样的设备?
就可编程输入而言,这是一款非常理想的控制器,但焊盘颜色不可分配。
您是否知道/使用过其他一些设备?
audio - 从 Kontakt 补丁渲染 MIDI 的命令行
我有一堆 MIDI 文件要使用相同的 Kontakt 补丁进行渲染。我想用命令行自动渲染这些 MIDI 文件,而不需要手动加载任何程序或手动将 kontakt 补丁分配给 MIDI 轨道。我想编写自己的程序“MyProgram”并按如下方式使用它:例如
这会将 MIDI 文件呈现为带有我分配的特定 Kontakt 补丁的 Wav 文件。我没有任何平台限制,但是,由于 VST 上下文,我猜 Windows 将是最好的。如果有人有想法,我不知道如何实现这一目标?干杯