作者

analogsketchbook

YouTube:
7
收件箱 查看配置文件
3.赋予者 3221年意见 8评论 旧金山海湾地区
视觉特效艺术家,画家,音乐家,制造者

成就

  • 琶音合成器(蚊子I)

    都更新了,现在应该是正确的。

    查看教程”
  • 琶音合成器(蚊子I)

    太棒了,很高兴它(大部分)起作用了。至于LED,我很高兴你说了些什么。我刚注意到我的原理图有个错误。在原理图中,我有LED错误地将引脚2的Nano,而它应该引脚4。两个按钮应该是引脚2和3,因为这两个引脚是唯一的引脚内置中断。(我怀疑钮扣脱落的引脚4只是偶尔为你作为一个结果,同样的问题)。在Arduino代码中,引脚的指定是正确的,所以切换LED引脚和按钮上的线路应该会让一切都运转起来。我很快会在github上更新原理图。谢谢你指出这一点。

    查看教程”
    • 琶音合成器(蚊子I)
      80的观点
      2最喜欢的
      0评论
  • Keytar Hero(使用Wii吉他控制器作为合成器)

    好了!我没有鼓,所以我不能自己试,但看起来你必须做很多工作来让它工作。有趣的是,这些“我想知道我是否可以”的小项目如何带我们进入兔子洞:)我希望人们可以利用它。

    查看教程”
  • Keytar Hero(使用Wii吉他控制器作为合成器)

    是的,它应该,但是,因为每个GH控制器使用一个稍微不同的数据结构,你需要自定义wiiGHController.py来理解鼓点。但我认为这并不太难,至少对于i2c部分来说是这样,特别是人们已经解决了映射问题。首先,你可以检查字节是如何构成的,通过观察表上这个网站:http://wiibrew.org/wiki/Wiimote/Extension_Controll...The表显示你的细节来自鼓,数据包的样子还有其他信息,以帮助设置。大多数东西已经在我的python代码中完成了与鼓的整体连接(因为他们看起来或多或少与吉他相同),所以你只需要改变一些东西,以与鼓特定的工作……

    看到更多»

    是的,它应该,但是,因为每个GH控制器使用一个稍微不同的数据结构,你需要自定义wiiGHController.py来理解鼓点。但我认为这并不太难,至少对于i2c部分来说是这样,特别是人们已经解决了映射问题。首先,你可以检查字节是如何构成的,通过观察表上这个网站:http://wiibrew.org/wiki/Wiimote/Extension_Controll...The表显示你的细节来自鼓,数据包的样子还有其他信息,以帮助设置。大多数内容已经在我的Python代码中工作,以便与鼓的总体连接(因为它们看起来或更少与吉他相同),因此您只需要更改与鼓式特定的映射工作的东西。这是一个关于I2C的东西发生的事情的一般想法。从控制器获取数据基本上有三件事:1)解密I2C信号,2)读取六个字节,3)从所需的那些字节内获取特定位中的值。解密非常简单,我认为您不需要更改任何现有代码。但只是为了清楚起见,这是从Python代码的第51行开始完成的。我们将值0x55发送到设备0x52上的0x40,然后我们发送0x00的值。然后,这允许发送解密的数据。查看该网页,这些行仍然应该在没有任何变化的情况下为鼓工作,因为就可以告诉我的所有页面似乎都是相同的。第二步,读取字节是在名为read()的函数中完成的 at line 63. This simply reads 6 bytes of the data and returns those as a list with each item being one byte. I think this should work for the drums as-is also without any modifications.The last thing to do is to extract out the specific bits you need from each byte. That is done in the various functions after the # Guitar Hero Mappings comment on line 73. For these, you'll need to change these functions (or make new ones) to suit the drum data based on the table from the website. Each function follows the same general pattern, for example the red button function at line 99 first reads the 6 bytes with the self.read() call. On the guitar, the red button is in byte 5 in the 6th bit so to get that data the next line looks like :br = (data[5] >> 6) & 0x01So basically, when you're trying to access a specific single bit in the table, you change the data index to be the row from the table you need (5 in this case) and you shift the bits by the column you need (6 in this case). Looking at the drum's table, they're close to the guitar mappings (red and orange are in exactly the same spot, the others are also on bytes 4 and 5 just in different bit positions) so those should be fairly straightforward to modify.Some of the data uses more than one bit, for example on the guitar the whammy bar needs 5 bits and the joystick x and y values each use 6 bits, so getting the data is slightly different. For the joystick x, for example, I only need the last six bits of byte 0. So I cast that bit as binary and then grab the last six digits using the lastSix = fullbyte[4:]. Finally, in the return statement, I cast the value as a two digit integer which can then be used in the rest of the program as needed.While overall accessing the data is the same, it looks like, from that website, the drums have a lot of extra functionality that manages the velocity each drum is struck. I think it basically works like, if there is velocity, it sets byte2, bit 6 to a value of zero. Then it uses some bits on bytes 2 and 3 to indicate which drum the velocity is for, an how hard it was hit. So you'd probably have to add some functions to read those bits and return velocity values. That webpage lists the details on what bits are for what, and what values they send back. When working this out it'd probably be helpful to reference the table I'm using for the guitar to see how my code compares to the table for the guitar: https://wiibrew.org/wiki/Wiimote/Extension_Control...Sound like this could be a cool approach for driving a synth or drum module. I'd be curious to see how it turns out. Maybe if you get new controller code, we could add it to the git hub repository for others to benefit from.Hope this helps.

    查看教程”
  • 令人敬畏的模拟合成器仅使用离散组件

    好项目!特别感谢你贴出了元件选择的所有细节,以及你是如何得到电阻值的,等等。我发现大多数原理图和教程并没有真正涉及到这一点,当你是新手时,这可能会令人沮丧,所以非常感谢。

    查看教程”
  • Synth Moog风格

    不错的工作!我真的很喜欢琶音的加入。非常适合穆格式的声音。我在尝试构建我的第一个模拟合成器时,也偶然发现了Pete McBennett的原理图……多么棒的一条赛道。我不完全理解他在里面做的一切,但这很有趣,也相对容易搞混。在我的作品中,我只是在两个RC弛豫振荡器后面使用他的LDR作品。但现在你让我想重新审视它至少再加上你的琶音。感谢发帖!

    查看教程”