MIDI 转3.5mm音频接口连接方式

一、根据“TRS”(tip-ring-sleeve)接口用于MIDI设备时应当如何连线,并且描述了通过TRS接口连接实现MIDI通信所需的电路以及线缆规格。

近年来设备趋向于小型化,在此类设备上放置传统的MIDI DIN接口越来越困难。众多制造商选择用2.5毫米或3.5毫米的“TRS”接口替代。为了避免设备间不兼容的问题,所以需要为此制定规范。本规范通过定义TRS输出接口以及MIDI线缆连接规格,从而确保TRS-MIDI和传统的DIN- MIDI设备之间更好的交互性。

图1

图2

MIDI公对公线的引脚定义

 

MIDI Cable Wiring
First Connector    Cable    Second Connector

Pin 1    No Connection (不连接)    
Pin 2    Shield (接地)     
Pin 3    No Connection (不连接)     
Pin 4    Voltage Reference Line (参考电压)   
Pin 5    Data Line (数据,低电平有效)   
 

3、MIDI电路

光电耦合器可以用典型的6N137、6N138、6N139。

4、信号逻辑

上述原理图中的UART信号位于逻辑层。当它处于空闲状态时,它处于一个逻辑高的状态。每个字节都有一个起始位(总是0),然后是8个数据位,然后是一个停止位(总是高)。MIDI不使用奇偶校验位。

5、从输出到输入

发送逻辑高电平,在输出端,pin 4通过一个小电阻被拉高,而pin 5是缓冲的UART传输线路。在输入端,这些线与光电隔离器中LED的阳极和阴极相连。由于UART的输出在不传输时是高的,所以4和5都处于相同的电压,没有电流流过LED,因此没有被照亮。当LED暗时,光电晶体管关闭,而UART则通过拉升接收电压,从而产生一个逻辑电路。

当UART开始传输一个字节时,起始位将拉引脚5拉低,电流通过LED,照亮它。当LED灯打开时,光电晶体管打开,将其拉起,将UART的输入拉到地面,并发出一个零信号。

我们应该注意到LED是发射电路的一部分。电流从发射机流出,穿过LED,再回到发射机,形成电流回路(如图蓝色所示)。发射机与接收机之间没有实际的电气连接,只有光隔离器内的光路。这有助于避免地环路。

总结上文,我们可以搜索到很多MIDI相关的电路图,但是他们都没有说明究竟是公头还是母座,无论接公头还是母头,针脚标号都是一样的,4脚都是作为参考电压,5脚用于数据,有数据时电位下拉形成回路。

6、MIDI大5芯已经不能适应当下越做越小的电子设备,新的MIDI接口将由3.5mm耳机接口取代,最新公布的规范定义了3.5mm母座转MIDI大5芯母座的接法

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Arduino Micro或Leonardo的简单USBMIDI适配器,可以过滤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构建USBMIDI适配器的方法,但不幸的是,我只找到了效果不佳的解决方案(不良的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库一起使用。
单片机实现MIDI接口是指利用单片机进行MIDI信号的输入和输出。MIDI(Musical Instrument Digital Interface)是一种数字音频传输协议,用于音乐设备之间的通信和控制。 要实现MIDI接口,首先需要了解MIDI信号的传输协议。MIDI信号是通过串行通信方式传输的,使用标准的5针DIN接口。在单片机中,可以通过将MIDI信号连接到特定的引脚,然后使用串口通信或其他通信方式来读取和发送MIDI信号。 单片机接收MIDI信号时,可以通过实现UART(通用异步接收器/发送器)来接收来自MIDI设备的数据。UART可以通过硬件或软件方式实现,接收到的MIDI数据可以解析并进行相应的处理。例如,可以解析MIDI消息中的音符、音量、音色等信息,并根据需要控制相应的音乐设备。 单片机发送MIDI信号时,可以通过将相应的数据传输到UART发送缓冲区,然后通过UART发送至MIDI设备。发送的MIDI数据应按照MIDI信号的传输协议进行格式化,包括数据头、状态字节、数据字节等。 在实现MIDI接口时,需要参考MIDI信号的传输协议,并根据单片机的硬件和软件特性进行相应的编程。此外,还需要了解MIDI设备的功能和控制方式,以便实现相应的命令和功能。 通过单片机实现MIDI接口,可以实现MIDI设备和其他音乐设备之间的通信和控制。这为音乐爱好者和音乐制作人提供了更多的自定义和创作空间,并能够创造出更加丰富多样的音乐效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值