Pixie Dust Tinkerbell chime effect?

I am attempting to recreate an electronic version of an orchestral chime. This is the Tinkerbell, Pixie Dust chime effect. The musician wiggles their fingers in, or along the chimes. They can vary how high/low they go on the chime, as well as how intensely they agitate the chimes.

Here is one example, so you can hear what I am talking about.

Here is someone demonstrating the use of these kinds of chimes.

Note that there are several of the chimes ringing at the same time, and there is some randomness as chimes bump into each other.

All the chime effects I have heard on the Arduino have either very electronic-sounding beeps, or Door Bell chimes, going Ding-Dong. So, I don't know if a more realistic sound is possible. I wonder if it would require a separate sound synth chip, or perhaps it can somehow be handled with a MP3 player.

I suspect a MP3 player won't be viable, since the duration of the sound effect will vary, and needs to be controlled on the fly. So, I think I need a synth chip.

I think the kinds of inputs I will be using from the user playing is an analog input of the central pitch, and the intensity of agitation. That will affect how many adjacent pitches are triggered, and perhaps how many simultaneous rings are sounding. Finally, there should probably be a silence trigger that prevents any new chimes from sounding, but does not stop any ones that are already sounded, and lets them decay realistically.

Any recommendations? Especially about a simple synth chip that can do a good high-pitched chime sound? I imagine I would want a SPI or I2C interface.

Thanks for any recommendations or links.
-Joe

Hmm - tricky

So, I think I need a synth chip.

Yes you could use one. The VS10538 might work, not only is this chip able to play MP3 files it also contains a General MIDI synthesizer. The ability to play more than one note at a time is known as polyphony. You can get these chip as a breakout board or with an Arduino built in as well in the Bare Conductive board. Check the data sheet for the number of polyphony you get with the chip.

Another approach is to have a short sample of each individual chime in memory and play a selection of them simultaneously. This takes up a lot of memory but you could do such a thing on the new Teensy 3.5 or 3.6 along with the Teensy Audio Board for a 16 bit quality output sound. You might even be able to include enough samples into the Teensy 3.2 to do this, or even use the Arduino Zero or Due.

You will need samples of the individual chimes, so look at the free Audacity sampling application for all platforms. Not only can you make sample files but you can also do some sound processing to shift the pitch.

Thank you very much. This is the sort of recommendation I was hoping to obtain.

-Joe

And idea where samples of the individual chimes might be found? (creative commons or public domain...)

I might give this a try on Teensy.... if someone can provide the chime sound samples.

Hmmm.... maybe these can work?

Wow, I was surprised to see those samples individual chimes. But, for my application the highest of them would be on the low end of acceptable pitch.

Also, remember that it will need to be able to play a fairly large number of pitches. I don't actually know the proper pitches. I even came across some that mention a different tuning like pentatonic scale. Looking at pictures of professional chimes like this, and assuming that each chime is the same density, there seem to be a range of 16 to 18 per octave. This is vs 13 in a chromatic scale. So, I suspect they are deliberately not a specific scale.

I suspect that two octaves would be a good range. That size seems to be around 33 individual chimes. But, I suspect it is not that important to be an exact match. I imagine that the chromatic scale (i.e. half tone) is an easy choice, since midi is set up for that.

My reading on synths was back in the early 80's. So, sample memory was limited, and the keyboards with it would have a few samples of the instrument at perhaps different octaves. Then, it would just play back the sample at a different pitch. This had limits, and at some point the playback didn't sound right. Hence, the samples at other pitches.

On the Teensy, is it viable to change the pitch of a sample?

In regards to the sample, it may be better to have a sample of 3 closely-spaced chimes sounding with each other. Then, they are 3-note polyphonic within the sample. Oops, I just realized that we would get the audio equivalent of a visual screen-door moire effect.

I suspect the General Midi capability of the VS10538 chip would be the easiest for me to use. But, I don't have any idea how good a General Midi sound would be at simulating a chime if the chimes are not a normal chromatic scale.

-Joe

The general midi capability of that chip should work pretty well. Sending midi note numbers in order will produce a chromatic scale.

Ive been playing with SparkFun's midi breakout of this chip:
www.sparkfun.com/products/10587
I think the "glockenspeil" patch--number 10 according to the midi spec, but the board takes zero-relative numbers, so #9--should sound like what you want as long as you use high enough pitches/note numbers.

best,
Michael

edit: corrected patch numbers. Also, if you don't send the note number strictly in order--toss in a little randomness--it ought to sound more like the effect you describe.
--M

A second look at the GM spec shows other candidates for your tinkerbell sound too--don't have my hardware with me to audition, but if you go this route, it's worth poking around in both the melodic and percussive sound sets.

best,
Michael

But, I don't have any idea how good a General Midi sound would be at simulating a chime if the chimes are not a normal chromatic scale.

They don't sound any different, you can add a pitch bend to each note to get the ones you want. Or you can do it to the samples with Audacity. Shifting up by an octave is easy.

I'm considering adding arbitrary speed change (probably only decrease to slower) to the Teensy audio library sample player. This seems like an excellent test case.

@cadcoke5 - If those chime samples aren't good enough, can you find others? Or record some and publish as public domain or creative commons attribution (with commercial use allowed)? It's very unlikely I'll put my own coding time into this unless a good set of samples are available, with permission to publish them as an example for the library.

I think the General Midi feature of the VS10538 chip will be, by far, the easiest approach for myself. I experimented this evening using a simple MIDI editor and General Midi sounds on my Windows machine. The closest were the glockenspeil, and even came across one patch called "Tinkerbell".

Not 100% ideal, but I suspect that I will need to play a bit more with it. In particular, I need to try to send some pitch bends, but I don't know how to do that in Anvil Studio, or CakeWalk, which I am using as my MIDI editors.

Again, thank you all for your responses. I think I have a confident direction to go.

-Joe

Note that General MIDI is not a sound but a description of a sound. The actual sound depends on what is implementing it. However they will all sound roughly the same, just not identical.

Just to give you an idea I have just taken this video of my LED harp playing a Fairy Dust like effect.

It uses an MU10 sound generator, and I made it way back in 1999 using a Pic. It uses the Glockenspiel sound from GM, but as I said that is only a description.

The buttons on the harp control the octave and the sound mapping and the video shows various different octaves. This is a straight "all the MIDI notes" sort of scale, in other words not in any key.

From the MU10 manual:-

Featuring Yamaha’s high quality AWM2 tone generation technology, the MU10 has 676 Normal Voices and 21 Drum Voices (percussion sets), with full General MIDI compatibility — including Yamaha’s new XG-MIDI. It provides 16-Part multi-timbral capacity and full 32-note polyphony for playback of even the most sophisticated song data.

They stopped making them years ago but you can still pick them up on eBay for not very much money.

I think it should be possible to synthesize what you are asking. The book "Designing Sound" by Andy Farnell is an interesting exploration of the physics and synthesizing of sounds. He uses the free program puredata to demonstrate the construction of sounds such as alarms, bells, rolling, creaking, motors, birds, etc. I imagine it should be possible to craft sounds on the teensy graphical editor in a similar way that he does with the graphical editor of puredata. Here is his synthesis of a bell...
https://mitpress.mit.edu/designingsound/telephonebell/telephonebell.wav

Here is info on the book...

I imagine it should be possible to craft sounds on the teensy graphical editor in a similar way that he does with the graphical editor of puredata.

No PD is a graphics sound synthesizing language, where as the teensy graphical editor is about digital sound manipulation and playing samples.

Puredata (PD) provides 2 types of connections. The thin lines transport events and scalar data. The thick lines are audio streams.

The Teensy audio library design tool only connects audio streams. In that respect, it's similar to PD's DSP connections, but using a simple static update order. Of course PD has a pretty tremendous library of DSP objects with rich functionality. My work on the audio library is growing, but in 3 years starting from scratch, I've only managed to implement a small fraction of what's available in mature systems like PD, Csound, Reaktor or Max/MSP. I plan to do much more, but realistically I don't think I'll ever come close to matching the incredible capability of those systems, not to mention the raw compute power of modern PC or Mac hardware.

On Teensy, the control stuff you'd do in PD with the thin lines is meant to be done by the Arduino sketch code.

Grumpy_Mike:
No PD is a graphics sound synthesizing language, where as the teensy graphical editor is about digital sound manipulation and playing samples.

Sound synthesis and sound manipulation are the exact same thing so I do not see your point. The Teensy editor is certainly not restricted to playing samples. Paul points out that the Teensy editor has limitations but I see posibilities. What cannot be done with the editor can be done with code.