通过 USB 入口和 C++ 与 Blackstar ID Core 吉他放大器通信

Communicating with a Blackstar ID Core Guitar Amplifier through its USB Entrance and C++

我目前拥有一台 Blackstar ID Core 10w 放大器。它有很多内置的吉他效果,如混响、延迟和调制,所有这些都有不同的深度和级别。通过将 USB 电缆从放大器连接到我的电脑,我可以使用 Blackstar 的 Insider 软件,它允许我保存这些效果设置并只需双击即可切换到其中任何一个。但是,双击的需要使您无法在歌曲中弹奏吉他和改变效果(这是踏板的作用)。

但是,我想知道是否有可能使用 C++ 做一些比制造商允许的更雄心勃勃的事情:我想创建一个软件来播放歌曲的伴奏曲目(人声+鼓,但没有吉他)并允许用户设置在那首歌中他希望他的效果改变的位置,以及改变什么。这样就可以从头到尾播放一首歌,而不用担心必须改变效果器。

这也是一个学校项目,所以它不可能真的是 "mouse manager" 或任何类似的项目。它需要更强大的东西。

仅供参考,据我所知,Blackstar 没有给我们任何 API 我们可以合作的东西。所以我想知道这个项目是否可行,如果可行,我应该从哪里开始。

谢谢!

我感受到你对 Blackstar 糟糕的 Insider 软件的痛苦。

回答你的问题,这个项目是否可行,当然可以,Insider 软件显然可以通过 USB 控制放大器。你只需要弄清楚它的协议是什么。

您可以使用像 this one 这样的 USB 嗅探器来查看 Insider 在您执行操作时向放大器发送了哪些命令。通过足够的实验,您应该能够对协议进行逆向工程。

这可能比您想象的要容易。作为证据,我提供了 Insider 软件本身,它不是很复杂。这些设置可能或多或少地建模为一个结构。

这个现有项目可能会帮助您提供线索,以对 Insider 所做的事情进行逆向工程并用 C++ 重写它。

https://github.com/jonathanunderwood/outsider