Posts | Comments

Planet Arduino

Archive for the ‘synthesizer’ Category

This one goes out to anyone who loves music and feels it in their soul, but doesn’t necessarily understand it in their head. No instrument should stand in the way of expression, but it seems like they all do (except for maybe the kazoo).

[FrancoMolina]’s hybrid synth-MIDI controller is a shortcut between the desire to play music and actually doing it. Essentially, you press one of the buttons along Synthfonio’s neck to set the scale, and play the actual notes by pressing limit switches in the controller mounted on the body. If you’re feeling blue, you can shift to minor scales by pressing the relative minor note’s neck button at the same time as the root note, e.g. A+C=Am. Want to change octaves? Just slide the entire controller up or down for a total of three.

All of these switches are muxed to two Arduinos — an MKR1010 for USB MIDI control, and a bare ‘328 to provide the baked-in synth sounds. Power comes from a stepped-up 18650 that can be charged with an insanely cheap board from that one site. [Franco] has all the code and files available, so go have fun making music without being turned off by a bunch of theory. Push that button there to check out the demo.

If ‘portable’ means pocket-sized to you, then let this mini woodwind MIDI controller take your breath away.

Unless you’re very good, personal synths are fun for you — though often quite annoying for onlookers. After making his own wristwatch-based synth in 2016, Clem Mayer decided to build a new version that’s larger and louder than ever, and programmable via an Arduino controller.

Mayer chose the MKR WiFi 1010 here to take advantage of its LiPo charging abilities. This enables the device to be entirely self-contained in its custom housing, with a variety of switches and sliders for an interface. 

Users can program their own “tune” to be played back, or even take advantage of a random sequence generated on startup, then modify the sound as it plays live.

There are a wide variety of ways to create electronic music. For a capable machine that fits in the palm of your hand and is loud enough to use outdoors, however, it’s hard to imagine a battery-powered device cooler than Bitty from Curious Sound Objects. 

The pocket-sized drum machine and synthesizer, currently on Kickstarter, was prototyped using an Arduino Nano and will be fully Arduino-compatible when released. This means that in addition to changing the sound and interface around with readily-available sound packs—which include Theremin Bitty, Techno Bitty, Basement Bitty, Trap Bitty, Lofi Bitty, and Beach Bitty—it can be programmed with the Arduino IDE. The device can even run sound software written for other Arduino boards.

Bitty features four sample trigger buttons, a pair of knobs, and a speaker. Designed for entry-level EDM enthusiasts and studio musicians alike, you can play the drums and melodies manually, as well as trigger patterns to produce dance music or hip hop beats. These can be chosen via the left knob, while the right knob handles pitch, note selection, and arpeggiation.

Check it out in action below!


This model satellite is both strange and mesmerizing with folding solar panels and a FM transmitter.

Media artist Dmitry Morozov, aka ::vtol::, is back with his latest kinetic sound object, this one resembling a satellite. The Orbitalochka hangs from the ceiling and broadcasts sound via an FM transmitter and a built-in speaker. These noises are based on the position of the satellite in space, and it can even transmit a pre-recorded lecture by Sergev Kasich, who appears to reside in the satellite’s clear bubble.

::vtol:: bases the sound signals on the generative sound processes created with Patchblocks, a modular mini-synth kit. The signals also react to a light intensity sensor, which responds to how the satellite’s position in space changes.

This happens due to mass redistribution as the solar cell changes location. The solar cells operate as sensors and produce CV (control voltage) to change sound program parameters.

Aside from its unusual sounds, what is really interesting about this synthesizer are the solar panels, which autonomously move around via four servo motors. The Orbitalochka is equipped with an Arduino Nano as well.

You can see the apparatus in action below, and read all about it on ::vtol::’s page here.

(Photos: ::vtol::)

vintageSynt

Electronic musical instruments are fun for Makers. With some cheap tools, know-how and passion, anyone can become a real synth geek. Just ask software developer Liam Lacey, who happens to also be a sound coder and freelance hacker. He recently won element14’s Open Source Music Tech design challenge for his Vintage Toy Synthesizer project — it’s an acoustic wooden toy piano converted into an open-source, standalone polyphonic digital synthesizer running on a BeagleBone Black and an Arduino Pro Mini.

Playing an instrument is about a lot more than just the sound you create – the way you play it; the physical feedback; and the overall feel and aesthetics of the instrument also play a big role in the overall experience, with these elements also helping to nurture inspiration, and can even affect your perception of the sound created.

Lacey developed the voice engine using the C++ audio DSP library Maximilian, and the keyboard mechanism uses homemade pressure sensors made out of Velostat. The instrument has 18 keys, though players able to alter scales using the knobs on top of the mini piano’s lid. Other dials are used to toggle dedicated waveform oscillators, filters and onboard distortion effects, and there’s even vintage parameters for replicating old or broken analog synth voices. What’s neat is that the converted toy can also act as a MIDI controller to send velocity-sensitive note messages and polyphonic aftertouch to Logic Pro, Ableton Live and various music software programs.

Here’s a diagram of the software architecture of the synth:

software_architecture_diagram

You can read more about the hack here, as well as listen to some quick and rough sound/patch demos:

The project took three and a half months to bring to fruition, and let us just say, the final result is quite impressive! Check out the video below to learn more about its specs and explore the complete documentation on GitHub.

 

Hackaday reader [Jan Ostman] has been making microcontroller-based DIY synthesizers for quite a while now. Recently, he’s opened up the source for a lot of them so that you can play along at home. All of these virtual-analog synths and soundmakers can be realized on an Arduino or AVR ATmega328 if you happen to have one lying around.

Extra parts like a keyboard, some pushbuttons, or some potentiometer knobs to twiddle won’t hurt if you’d like to make something more permanent or more obviously playable, like [Jan] does. On the other hand, if you’d just like to get your feet wet, I’ve tweaked his code to be more immediately plug-and-play. The code is straightforward enough that it’s a good learning platform. So let’s take a quick tour through three drum machines and a string synth, each of which you can build on a breadboard in just a few minutes.

To install on an Arduino UNO, fetch the zip file from this GitHub repository, and move each subfolder to your Arduino sketch directory. You’re ready to play along.

Simple Drum Machines

[Jan] has two sample-playback~based drum machines that he’s published the code for: the dsp-D8 with straight-ahead drum samples and the dsp-L8 loaded with Latin percussion. They’re essentially the same code base, but with different samples, so we’ll treat them together.

Working through [Jan]’s code inspired me to write up a longer article on DDS playback, so if you want to brush up on the fundamentals, you can head over there. The short version is that you can change the pitch of playback of a sample by using a counter that’s much larger than the number of data points you’re going to play.

dds.sch[Jan]’s drum machines all use the AVR’s hardware pulse-width modulation (PWM) peripherals to play the samples back out. You could use something fancier, but this gets the job done with just an optional resistor and capacitor filter on the output, bringing the total parts count to three: Arduino, 1 KOhm resistor, and a decent-sized (0.1 uF?) capacitor. An interrupt service routine (ISR) periodically loads a new sample value into the PWM register, and the AVR’s peripheral hardware takes care of the rest.

One nice touch is the use of a circular buffer that holds the playback sample values until the ISR is ready for them. In the case of the drum machines, there’s not much math for the CPU to do — it just combines the samples from all of the different simultaneous voices — but in his more complicated modules this buffer allows the CPU to occasionally take more time to calculate a sample value than it would otherwise have between updates. It buys [Jan]’s code some breathing room and still allows it to make the sample-playback schedule without glitching.

dsp-l8-shot0001[Jan] adds individual pitch control for each sample, which is great for live playing or tweaking, and you can watch him use them in his two videos: one for the dsp-D8 and another for the dsp-L8. Wiring up so many knobs is a breadboard-salad, though, so I’ve gone through the code for you with a fine-toothed chainsaw, and hacked off [Jan]’s button-and-knob interface and replaced it with the Arduino’s built-in serial I/O.

To play my version of [Jan]’s drum machines, each sample is mapped to a key in the home row: “asdfjkl;”. If you’ve got a proper serial terminal program that transmits each keystroke in real-time, you’ll be tapping out rhythms at 9600 baud in no time. Note that the Arduino IDE’s built-in terminal only sends the keystroke after you hit “enter” — this makes playing in tempo very difficult. (I use screen /dev/ttyACM0 9600 or the terminal that’s built-in with Python’s pyserial library myself. What do Windows folks use for a real-time terminal?)

If you haven’t already, download this zip file, move each sub-folder to your Arduino sketch directory, and connect an amplified speaker either directly to your Arduino’s pin 11 and ground, or include an RC filter. It’ll only take a second before you’re playing. When you want the full version with all the knobs, head on over to [Jan]’s site.

O2 Minipops

[Jan]’s O2 Minipops machine mimics an old-school rhythm box: the Korg mini pops 7. Whether this primitive drum machine is horribly cheesy or divinely kitschy is in the ear of the beholder, but it’s a classic that has been used all over. [Jan]’s named his after an epic album Oxygene by Jean-Michel Jarre. You’ll hear them starting around 1:40 into the clip. Jarre famously used to press multiple buttons on the Minipops, making more complex drum patterns by playing more than one at a time.

The nice thing about having your own Minipops in minipops-shot0001firmware is that you can add the features you want to it. Instead of having to mash down multiple plastic buttons live on stage like poor Mr. Jarre, you can just tweak the firmware to suit. Need longer patterns? You’ve got the RAM. Emphasis? Swing? Tap tempo? It’s all just a matter of a few lines of code.

The sound playback code is just like the simpler drum machines above, so we won’t have to cover that again. The only real addition is the sequencer, but that’s where the real magic lies. After all, what’s a drum machine without some beats? Because there are eight possible drum sounds, each beat is a byte and so four bars of 4/4 time is just sixteen bytes stored in memory. I broke the data out into its own header file O2_data.h, so have a look there for the pre-programmed rhythms, and feel free to modify them to suit your own needs.

In order to make the O2 Minipops immediately playable, I stripped out the potentiometer code again (sorry [Jan]!) and passed off control over the serial port. The “user interface” has five controls. Press j and k to switch between patterns and f and d to speed up or slow down. (They’re under your first two fingers in the home row.) The space bar starts and stops the drum machine.

Try switching between the patterns on the fly with j and k — it’s a surprisingly fun way to create your own, slightly less cheesy, patterns. You need to download this code and give it a try. Trust me.

The Solina

[Jan] has also built up a full-fledged string synthesizer keyboard out of just an Arduino Nano. It’s patterned on the Eminent Solina String Ensemble, and we’ve got to say that it gets the sound spot on.

solina6
Solina — the Original

[Jan]’s Solina is a “virtual analog” in the sense that it builds up sawtooth waveforms in the microcontroller’s RAM and then outputs the corresponding voltage through PWM. And that’s a good start for a string synthesizer, because a filtered sawtooth waveform is a good first stab at the sound put out by a violin, for example.

solina1
Solina — the clone

The secret to the sound of the string section of an orchestra (and to string synthesizers that mimic it) is that it’s a combination of many different bowed instruments all playing at once. No matter how precise the players, they’re each slightly differently tuned, and none of the strings are resonating exactly in phase. The Solina mimics this by detuning each oscillator, naturally, and by moving them in and out of phase with each other. If you want to dig into the details of how exactly [Jan]’s Solina works, he explains it well in this blog post.

Again, I’ve converted it for direct-serial control, and you can control the envelope, detune, LFO speed, and modulation depth over the serial port. Press the spacebar once to simulate a keypress, and again to let go. Try the Solina with detune and pitch modulation around twenty, and play with the LFO rate and other parameters. That’s a lot of useful noise for just some sawtooth waves.

Keyboards and What’s Next

swissonic49[Jan]’s builds are much more than what we’re demonstrating here, of course. His blog kicks off (in 2009!) with a project that essentially shoe-horns a PC into a keyboard enclosure, and the Solina and others get their own keys too. We’ve just presented the kernel of any such project — there’s a lot of labor-of-love left in wiring up all of the diodes necessary to do detection on a keyboard matrix, to say nothing of building enclosures, wiring up potentiometers, and making nice-looking front panels. But if you want to start down that path, you’ve at least got a good start.

[Jan]’s current project is the Minimo miniature monophonic synth that takes the Solina a step further and adds a lowpass filter with (digital) resonance to it. The resulting sounds are great, so we’re excited to see where [Jan] takes this one in the future.

Thanks again, [Jan], for opening the code up. And if any of you build something with this, be sure to post in the comments and let us all know. Since I started playing around with these, I’ve got the hankering to modularize the code up a bit and make it into something that’s even easier to adapt and modify. Maybe we’ll have to start up a Hackaday.io project — these little simple synths are just too much fun!


Filed under: Arduino Hacks, Hackaday Columns, musical hacks

ns1

We’ve been playing with NS1 Nanosynth in the last few weeks, when it first appeared under our radars on the Christmas’ Gift Guides (while going sold out in few days, after Synthopia blessed it with this interesting review).  It’s a hackable and customizable analog synthesizer coupled with an Arduino Micro platform.

Personally, it was one of my first steps into modular synthesizers. Nice sounds, easy approach. Peter Kirn is perfectly picturing this amazing compromise here!

Synths: they’re fun to tweak and play. Modulars: they’re fun to patch. Arduinos: they’re fun to hack. Small things: they’re fun to carry around.

But how to track patches? How to share sounds with friends? I was playing mainly with my son, and managed to print out a paper sketch depicting all the different pinout of the synth. I wasn’t satisfied with that, I needed more!

I started writing Sound Machines, about new patches, more sounds. It turned out I made a Fritzing part out of the Nanonsynth, and we started sharing each other patches. This repository holds them, and this is a short review of the best. Enjoy!

 

Here you can listen to the envelope Generator (ADSR) in action:

 

Want to add your very own sounds? You can either add it to their repository or comment here!

DSC01696_670

There’s a mineral called pyrite with a interesting nickname, fool’s gold, because it has a superficial resemblance to gold and it’s by far the most frequently mineral mistaken for gold. Even if it’s pretty abundant, there’s a rare form of pyrite which is crystallised in radial shape (as unusual disc spherulites), taking the shape of a disc. The amazing fact is that the only deposit where pyrites of such morphology are found is in Illinois (USA) and the discs are dated around 300 million years ago!

Dmitry Morozov (aka ::vtol::), a media artist living in Moscow, had the chance to use a pyrite disc and created Ra,  a sound object / synthesizer running on Arduino Nano. Ra uses laser for scanning the irregularities of the surface of the disc and further transforms this data to produce sound:

This project originated as a result of an interesting set of circumstances – a pyrite disc was given to me as a gift by a mineral seller in Boulder city (USA). Upon hearing about my works, she asked to do something with such crystal, and refused to take payment for getting it. In the same period, I was reading articles on various ways of archiving and preservation of sounds from the first, historical sources of the recorded sound – wax discs and other fragile carriers. All technologies were based on the usage of lasers. Inspired by these projects, I set out to create a self-made laser sound reader which would be able to produce sound from various uneven surfaces, using minimal resources to achive it. Thus emerged the idea to construct an instrument using the pyrite disc and a self-made laser sound reader.

The production of the object was possible thanks to the commission of the Sound Museum in St.-Petersburg which now has Ra in its collection.

Check the bill of materials and other details on Dmitry’s website. Explore other projects by Dmitry featured on Arduino Blog.

DSC016533_670

DSC01696_670

There’s a mineral called pyrite with a interesting nickname, fool’s gold, because it has a superficial resemblance to gold and it’s by far the most frequently mineral mistaken for gold. Even if it’s pretty abundant, there’s a rare form of pyrite which is crystallised in radial shape (as unusual disc spherulites), taking the shape of a disc. The amazing fact is that the only deposit where pyrites of such morphology are found is in Illinois (USA) and the discs are dated around 300 million years ago!

Dmitry Morozov (aka ::vtol::), a media artist living in Moscow, had the chance to use a pyrite disc and created Ra,  a sound object / synthesizer running on Arduino Nano. Ra uses laser for scanning the irregularities of the surface of the disc and further transforms this data to produce sound:

This project originated as a result of an interesting set of circumstances – a pyrite disc was given to me as a gift by a mineral seller in Boulder city (USA). Upon hearing about my works, she asked to do something with such crystal, and refused to take payment for getting it. In the same period, I was reading articles on various ways of archiving and preservation of sounds from the first, historical sources of the recorded sound – wax discs and other fragile carriers. All technologies were based on the usage of lasers. Inspired by these projects, I set out to create a self-made laser sound reader which would be able to produce sound from various uneven surfaces, using minimal resources to achive it. Thus emerged the idea to construct an instrument using the pyrite disc and a self-made laser sound reader.

The production of the object was possible thanks to the commission of the Sound Museum in St.-Petersburg which now has Ra in its collection.

Check the bill of materials and other details on Dmitry’s website. Explore other projects by Dmitry featured on Arduino Blog.

DSC016533_670

Dec
19

TouchSynth – A high school senior project

arduino, arduino mega, Digital Audio Workstation, mega, synthesizer, Touchpad Comments Off on TouchSynth – A high school senior project 

touchsynth

Steve Mostovoy and his partner Tim Boy Jr, worked for over 9 months to  create a TouchSynth and share all the documentation about it.

touchsynth

 

It was hard but they learnt  a lot about how not to organize code, how to think in terms of data, and how many amazing things you can do on a 16MHz processor:

This project uses an Arduino Mega, a resistive touchpad, and an 8×8 LED matrix to create a simple digital audio workstation and synthesizer. You can compose and play songs in real time and use different types of sounds. It was a nine month process between me and my partner during our senior year of high school to create this. The result is a really nifty Arduino project that showcases the flexibility of Arduino devices, and it sounds good as well!

Take a look at the video to see how it works:



  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook