Well, sounds effect related with special keys (hehe, like in Kraftwerk ), is a very good idea for concerts, yes.
(For now I use a micro-synth Korg Monotron for it http://tiny.pl/gl9f7 but change of used devices brings an interesting diversity indeed. Or even adding something new. And good-looking, like Arduboy).
For now, however, I was thinking more about making full songs for Arduboy and be able to record them from it.
the existing software is that far from Protracker or Famitracker that it’s not achievable for me, still - other methods are probably possible to construct - as long as we have the sound on the USB.
Hence my question.
Might be a bit difficult.
Since the Arduboy doesn’t have many buttons it would either have to be fairly menu-heavy or very simplified.
Timing would also be a bit of an issue.
Anything can be sent over USB but you’d need something suitable for receiving it at the other end and something that can play what you send.
So you’ll need to think about how the sound data will be formatted.
There’s also not much RAM on the Arduboy so there would be a limit to how big the piece of music could be.
It’s doable but I hope your friends are experienced because it’ll be a fiddly task.
Before you go any further I’d suggest looking at how the Arduboy does sound in-depth and looking at existing sound libraries so you have an idea of what they do and what sound formats they use.
I just came up with the following untested idea for audio out. You’ll need some fine soldering skills though to add it to Arduboy.
You could make a 2 bit R-2R DAC by soldering resistors to the speaker pads as shown in the diagram below and connect it to the unused pin 4 of the micro usb connector. This pin is not connected on normal USB cables (iirc its used on OTG cables for ID) so you have to get a male micro USB plug to make your own special audio cable. I think the piezo will also give some unique distortion to the sound.
Cool. I recommend to first solder wires to the pads and tinker with regular resistors and capacitor around first as you may want to try different values to get the sound you want. Here’s an updated diagram. I’ve added a small decoupling capacitor in the audio USB cable. You may wan’t to increase the value if there’s too much noise.
In case you had not seen it there is a small footprint derivative of Squawk made by Team ARG ATMlib. It doesn’t use a popular tracker format in order to reduce program memory usage.
Work is being done (by me and others) to fix bugs and improve it here ATMlib2 (no idea what we will call it, it depends on what Team ARG tell us when we are done). In the latter repo there is a new demo MIDI sketch showing how to turn the arduboy into an USB midi synth. An experimental (but already working ) effort to implement phase distortion synthesis as in Casio CZ series synths is also under way.
As for the audio via USB thing, even if it may not be what you were after, a few years ago I made a LUFA based Arduino “USB sound card” synth which would be seen as an USB audio class input device. The idea was to send commands in via serial or MIDI and get audio out via USB into a PC. If I can find the code I’ll try to mash it with the MIDI demo at some point.
The MIDI idea is most tempting but for different purposes (for instance as an instrument to play live).
Trackers/MODs are another thing. To make some Arduboy album would be really cool.
Do You guys think anybody could help such old Amiga guys like me and make some PC/Win converter from original Arduino’s *.sqm song (Squawk engine) into Arduboy’s *.hex or *.arduboy auto-starting file with playing song?
I thought about implementing something like this but I was too afraid of messing up USB communications. However, in the future it is interesting to look at USB-C because within the profile is support for an analog output for sound. So any standard USB-C to audio out cable could work.
This product in particular is interesting because it gives a subsystem that isn’t actually doing USB-C negotiation access to some of the features. So you could pair this chip with a microchip like what we are using and get all the cool bells and whistles. http://www.microchip.com/wwwproducts/en/UTC2000