Questions tagged «midi»

4
制作定制的塑料盒
我从事过许多电子DIY项目,例如MIDIbox(http://www.ucapps.de/),它总是很有趣并且可以正常工作,但是最后,问题是我以凉爽的装备结束了,但是外壳很差,例如:木材被砍得很粗(我自己!)。 为了制造带有标签,一些圆孔和方孔的定制塑料盒,2014年最好的解决方案是什么? 范例: 3D打印是否适合此目的?还有其他解决方案吗? 由于所需数量= 1个单位,是否有一些公司建议这种服务?

9
实时读取大量的模拟传感器
我正在尝试构建一个像吉他一样脖子的类MIDI控制器。在那个脖子上,有巨大的压力传感器矩阵。控制器将模拟3个字符串。 它的工作方式是:有3条长条状的双面铜带(宽度为0.5厘米,与脖子长一样),它们与电源(可能是3.3V或5V,暂时无关紧要)相连。在这些条带上是一层Velostat,可根据压力改变电阻率。在速凝器的顶部将是另一层连接到某物的铜带行或单元,其通过速凝器层吐出电压读数。由于脖子长约40厘米,因此将至少有80行。 如果您将底部的3条铜带想象成沿着脖子的图表列,则传感器将是单元格还是行,具体取决于测量方法(我认为一个人也可以多路复用这些列,然后有一些特殊条件可能会使此操作变得更容易:由于这是一个类似吉他的控制器,因此不需要测量每个交互!只有最接近控制器主体的触摸才重要。8位的分辨率也应该足够准确。255个压力水平可能仍然超出了需要。 现在的困难点: 测量必须足够实时,以检测锤击等。(不知道需要多高的采样率-为了获得良好的测量和可玩性,需要以几kHz的频率估算),并且控制器的数字输出应为MIDI(在3个单独的通道上-每个字符串一个)或可以用Raspberry Pi处理的数字信号。 现在,由于我的知识真的很有限,所以我想不出合适的工具来完成这项工作。我所知道的是:有可能。有一个相似但不同的控制器,它使用了非常相似的技术(我实际上对其进行了逆向工程,直到我注意到他们拥有专利,并且关于其操作方式的信息并不像我想的那样神秘),这称为ROLI海岸。 TL; DR: 大约240个传感器 可以分成80组,由同一条线路供电 这是一个实时应用程序,我需要从触摸的每个传感器获取压力(某些条件适用,请参见上文) 在此先感谢您,我知道这里有很多书。我很感谢您的任何建议,如果您能帮助我完成我打算制造的可怕混乱,我将非常高兴! 到目前为止,我想到的是: 多行和多行复用,使用MCP3008或更大的ADC读取每个单元并链接(菊花链或类似树的)ATmega,这只会将位置最低的交互作用推向最终信号,但是从我的计算来看,这可能会成为瓶颈通讯开销。还有一个较早的型号包括带状电位器,由于设计不好(多次尝试,效果还不够好),我已将其丢弃。 编辑/更新: 感谢到目前为止的好建议!多亏了他们,我现在能够更清楚地表达我的问题: 我有一个80行* 3列的压力传感器矩阵。当人与传感器矩阵进行交互时,附近的多个传感器将仅沿一列进行触摸。列是机械分离的。传感器的电阻介于100 Ohm和1 kOhm之间。所有这些传感器都需要以8位的深度进行读取,处理并以至少1 kHz的速率发送结果。因此,一次读取/处理所需的时间不到一毫秒。每列的最终输出需要为:对于float32为4个字节,对于uint8为1个字节。float32将指示沿该列的第一次互动的平均位置。交互被定义为压力高于某个阈值的连续传感器簇。这是处理混在一起的地方:色谱柱将向下移动,直到读数超过阈值。然后将其视为交互的开始。存储每个传感器的压力和位置,直到第一个传感器下降到阈值以下(最多(可能)有四个)连续传感器为止。从记录的交互的所有传感器中,将只处理两个传感器-读取最高压力(最低电阻)的传感器,而直接读取最高压力或最高压力的传感器。浮点位置是通过将两个传感器位置的压力加权平均后得出的。交互的总压力将只是两个夹在0和255之间的压力之和(将unit8的两个压力相加到uint16中并除以2而不舍入,丢弃不需要的位-这应该很快)。这需要在每一列上进行。然后将15字节大小的结果通过SPI发送到充当合成器的小型计算机(Raspberry Pi B3)。我对传输的方法没有兴趣。如果SPI不是适合该工作的工具,我愿意采用Raspberry Pi可以处理的任何通信方法。由于这是一种音乐互动应用程序,因此延迟至关重要。 我的确切问题是:可以用一个微控制器解决这个问题而又不会花很多钱吗?我买不起价值数百美元的集成电路用于一个业余项目。您会推荐什么硬件?我需要警惕一些非显而易见的警告吗? 到目前为止,我从答案中得出的方法是分别给每一列供电,然后用5个通过SPI连接到Arduino的16通道ADC(ADS7961)读出行。我担心这可能不是最简单/最便宜的方法,或者不够快而无法达到> 1 kHz的速率。 免责声明:在电气工程方面,我通常是一名理论化学家,并且是一名糟糕的业余爱好者,我所知道的一切都是自学成才的,并且没有任何专业背景(这又是我寻求知识渊博的人的帮助的原因)。我确实知道围绕软件的方式。关于软件的任何事情,我都会花足够的时间解决。另外,我是德国人,所以请原谅语法缺陷。

4
使用Arduino的MIDI音序器定时精度
我制作这些音序器。 只是它不完全是一个音序器,它是音序器的物理接口。音序器是一种在音序器连接到的便携式计算机上运行的应用程序,它使用户可以快速制作鼓循环。这很有趣,但是它需要一台笔记本电脑,因为音序器不是“板载”的。 我想要在设备上进行测序。 现在让我们假设我知道如何解决USB MIDI连接的类合规性,并且还假设我可以弄清楚如何连接arduino以从5针DIN端口发送MIDI音符。我最担心的是由于事件循环每次运行的分钟量计时不一致,导致速度随时间变化。 我知道一些事情: 您不应该依赖于delay()控制速度循环。延迟会停止固件的所有操作,并且无法运行,因为我需要在序列运行时轮询物理用户界面以查找更改。 基于的计算millis()会更好,因为固件可以在经过一定次数后继续运行并起作用。 即使我的物理控件都没有触发中断例程,但是某些操作可能会延迟主程序loop()的运行。如果我设计了一个等待用户输入的函数,那么很明显,如果millis()计数超出范围,可能会导致缺少“最后期限”来执行的问题。我知道这个问题是我自己设计的。 问题: A.基于AVR的arduino是否适合用于轮询用户界面并运行关键任务定时循环的微控制器?我知道现在有一个基于ARM的Arduino,速度要快得多。Teensy 3.0会是更好的选择吗?这两个都是3.3V电路板,所以这是另一个需要解决的问题...但是我暂时将其忽略。 B.我应该把任务分成两个微处理器吗?一种用于轮询和更新用户界面,另一种用于关键任务时序循环。 C。还有吗 我的主要目标是根本不必使用计算机。我也想计算挥杆,但在这种情况下,如果我没有锁定且计时准确的速度,挥杆就没有任何意义。谢谢你的建议!
11 arduino  timing  midi 

1
MIDI IN:许多电路
我正在使用6N138光电隔离器将MIDI IN构建为串行端口RX cicruit(适用于Raspberry Pi,Arduino或其他任何产品)。 但是我发现有很多不同的电路,我不知道为什么会有如此不同,以及选择哪一个: 这些正确吗? 首先,这其中一个470欧姆和1kΩ的电阻器 (来源:electro-tech-online.com) 另一个分别带有1KOhm和3.3KOhm的电阻 (来源:dernulleffekt.de) 官方上的midi.org,具有不同的电阻值,但不是基于6N138 ... http://www.midi.org/images/midihw.gif 最后一件事(可能不在这里):如果我想连接到Raspberry Pi的GPIO的RX,我应该使用3.3V的光电隔离器代替5V,以防止与GPIO的RX断开吗?

1
Arduino串行通信协议设计
我为电子音乐制作了一个鼓音序器接口。 它使用arduino mega作为微处理器,目前与我编写的用于串行通信的处理程序接口。从那里,OSC消息被发送到我的合作伙伴编写的Max / MSP程序以创建Midi数据流。 所以: 我的物理界面-> Arduino Mega->串行I / O->处理-> OSC-> Max / MSP-> Midi(->音乐应用程序) 我之所以选择此路径,部分原因是它不够聪明,无法删除任何步骤,而且还能够适应我们想要的方式来更新物理接口,能够使物理接口具有多种用途(推子,旋钮和语音选择按钮),并能够确保关键任务的定时和节奏修改(也称为“摇摆”)。 我的串行消息设置如下: PL,1; // transport control: play PL,0; // transport control: stop SW,30; // swing value 30 TM,130; // tempo value 130 SD,1,8,04,0; // Step sequencer data, pattern 1, voice 8 (of 8), step …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.