基于Arduino Micro或Leonardo的简单USB转MIDI适配器,可以过滤MIDI数据(可选)。 硬件部件: Arduino Micro × 1个 6n137光耦合器× 1个 1N4148 –通用快速开关 × 1个 电容100 nF × 1个 电阻220欧姆 × 3 电阻10k欧姆 × 1个 通孔电阻,470欧姆 × 1个 LED(通用) × 1个 LED支架× 1个 DIN音频/视频连接器,5触点 × 2个 一块通用PCB× 1个 PCB安装座× 1个 软件应用程序和在线服务: Arduino IDE 我在网上搜索了如何使用Arduino构建USB转MIDI适配器的方法,但不幸的是,我只找到了效果不佳的解决方案(不良的MIDI软件或硬件实现)。因此,我决定自己构建一个并将结果放在hackster.io上。 我使用带有面包板的Arduino Leonardo构建了第一个原型。一切正常后,我改用Arduino Micro构建了焊接版本。两者均基于ATmega32u4,后者具有本地USB,可将其作为USB MIDI接口呈现给您所连接的PC。 MIDI使用光耦合器和一些电阻器来创建完全隔离的电流环路。该电路是非常标准的电路,我使用了6n137,因为它的速度很快且广泛可用。如电路图所示,只有MIDI OUT连接器的引脚2接地,这是MIDI的标准配置。 最终结果的一些照片: 在软件方面,我决定使用出色的Control Surface库。与某些其他库或手动编码的实现不同,Control Surface可以正确处理稍微复杂的MIDI协议的所有不同方面。 Control Surface还允许您添加各种附加功能。例如,您可以添加一些电位计,踏板或连接到模拟/数字输入的按钮,以添加额外的MIDI控件。只需在Control Surface网站上查看更多信息,它就很容易做到! 您还可以注册回调,以便可以在从MIDI传递到USB或其他方向之前处理数据。就我而言,我使用它来修复Roland D50合成器的MIDI实施损坏。每次按下最后一个键时,D50都会发送“关闭所有音符”命令。现代实现(例如我使用的大多数VST乐器)都将其解释为所有运行中音符延音的立即硬性中断。通过过滤掉“所有音符”,D50可以再次用作主键盘。 我在Control Surface库中遇到的一个问题是,它不能很好地处理大型SysEx软件包。尝试使用D50编辑器/图书管理员时,这会导致错误,因为它发送了相当大的SysEx软件包。我在源代码的注释标题中添加了有关如何解决此问题的说明。编写该库的人表示,一旦2.x版本问世,此问题将得到解决。 我提供了基本的USB到MIDI接口的源代码,以及带有“所有音符已关闭”过滤功能的版本。 当然,您也可以使用其他库或编写自己的MIDI实现,该硬件应与任何具有USB MIDI和串行MIDI支持的MIDI库一起使用。
2022-08-23 08:40:36 287KB 适配器 USB 电路方案
1
MIDITools-JS MIDITools-JS 是一个简单的脚本,用于与大多数不受支持的网络音频 api 交互。 通过此 API 与 MIDI 设备交互非常容易。 包括 要将此脚本包含在您的项目中,请将其放在 Web 文档中包含的任何其他脚本之前。 midiStart 事件 该midiStart当MIDITools准备开始监听MIDI事件的事件被调用。 midiStart 的唯一参数是status 。 如果status为 true,则 MIDI 已准备好收听。 注意事件 noteEvents 在音符被按下或释放时被调用。 noteEvent 回调可以通过调用midi.noteEvent来创建,第一个参数是回调函数,第二个可选参数是您希望调用回调的音符(默认所有音符)。 noteEvent 回调被传递一个事件对象,包含布尔值on (如果音符被按下,则为 true,如果它被释放,则为 f
2022-08-01 16:14:03 9KB JavaScript
1
mp3 to midi是一个可以把mp3转成midimidi可以用在支持mid格式的音乐播放器上播放。就像win95自带的媒体播放器(自带注册机)
2022-07-13 19:18:45 1.61MB MP3 midi MP3 to
1
LMD-full 数据集全称为 The Lakh MIDI Dataset v0.1 完整版,该数据集有超过 17 万个独一的 MIDI 文件,其中 4 万 5 千个文件匹配到了百万歌曲数据集。该数据集的目标是促进大规模音乐信息检索,包括符号(仅使用 MIDI 文件)和基于音频内容(使用从 MIDI 文件中提取的信息作为匹配音频文件的注释)
2022-07-13 16:05:25 1.65GB 数据集
WadJS 一个用于处理音频的Javascript库。 您的耳朵就像jQuery。 目录 音频听众 播放标签 外部FX 预设值 杂种 压缩 记录 音频计 音高检测 MIDI输入 访问音频上下文 跨浏览器兼容性 致谢 如何贡献 API文档 展示柜 安装 要在项目中使用WadJS,只需在HTML文件中包含脚本即可。 < script src =" https://unpkg.com/web-audio-daw " > </ script > WadJS也可以作为npm模块使用。 npm install web-audio-daw import Wad from 'web-audio-daw' ; 介绍 要使用WadJS进行任何操作,您首先需要创建一个wad,它可以代表任何发出声音的东西,例如mp3文件,振荡器甚至是现场麦克风输入。 最简单的用例是加载和播放单个音频文件。 let
2022-07-01 01:06:35 1.42MB audio javascript midi midi-device
1
atm-cli是一个用于生成和处理 MIDI 文件的命令行工具。它是为 All the Music, LLC 专门打造的,以协助其完成使命,使音乐家能够制作他们所有的音乐,而不必担心无聊的版权诉讼。所有代码均在 知识共享署名 4.0 国际许可协议下免费提供。如果你正在寻找一个 Rust 库来生成和处理 MIDI 文件 入门 要从旋律生成单个 MIDI 文件,请使用gen single指令: atm gen single 'C:4,D:4,E:4,F:4,G:4,A:4,B:4,C:5' test.mid 要从一组音符和给定长度蛮力生成一系列旋律,请使用其中一个gen *指令。下面的示例将旋律输出到一个 Gzip 压缩的 Tar 文件,其目录结构保证每个目录不超过 4,096 个文件。 atm gen tar-gz -p 2 'C:4,D:4,E:4,F:4,G:4,A:4,B:4,C:5' 8 C4_D4_E4_F4_G4_A4_B4_C5.tar gen *使用其中一个指令(旁边)生成一系列旋律后gen single,使用该partition指令确定特定旋律被写入哪个目录。
2022-06-17 19:05:40 12.4MB 软件/插件 rust
用于将 MIDI 音轨转换为 3D 打印机的 M300 扬声器 gcode 的 Web 工具。经测试与 Marlin 固件兼容
2022-06-17 19:05:37 38KB 3d 软件/插件 html
lisp语言的音乐工具包,其中包括midi与五线谱的转换,音乐的一些列变化。这个是在复现电脑作曲的算法论文过程中所需的一些操作。
2022-06-16 18:05:20 2KB lisp 软件/插件
MIDI到按键 接收MIDI事件并将其转换为按键。 主要设计用于FFXIV中的“ Perform”。 有关列表,请参见发行。 正在安装 您只需要下载。 下载它,解压缩,然后从cmd.exe运行它。 建造 该程序需要Rust。 从下载。 要运行,请进入该目录并键入: cargo run 用法 要列出可用设备,请运行“ miditran --list”。 要指定要用作输入的设备,请运行“ miditran --device [设备名称]”。 当前,没有外部配置。 该程序将搜索名为MIDI_DEV_NAME的设备,并将监视来自该设备的键事件。 对于通道0(即主键),它将把键40-61转换为以下键盘钢琴: 2 3 5 6 7 Q W E R T Y U I 对于C-4以下一个八度的键,它将另外按Ctrl键。 对于C-4上方八度的键,它将按Shift键。 对于通道9(即上面的鼓
2022-05-27 14:13:48 25KB Rust
1
永久免费!这是来自日本的一个音乐人制作的 GM 波表音源,大部分采样是从罗兰 Roland JV-1080 录制而来。听起来效果还很不错,可以用音源宿主等软件加载它。
2022-05-25 14:09:11 235.92MB 音乐 合成器 midi sf2
1