Pacifica!

Being a huge fan of Exotica music and without a single vibraphone patch for the Organelle on Patchstorage, I thought I’m giving it a go.

To be honest I’m very happy how this turned out. Happy and gutted at the same time. Gutted because I wasted money on buying a NI Kontakt vibraphone library not too long ago. Well, I assume this is the lesson money I had to pay… :smile:

Anyway let’s get to the nitty gritty:
https://patchstorage.com/pacifica/

Pacifica! was a sample-based 4-voice polyphonic vibraphone, which allowed “proper” four-mallet style playing. It just got updated to 6-voice polyphony - 6-mallet-style player leave your hideout! :sunglasses:

In a real vibraphone, thin round discs mounted on a common shaft and driven by an electric motor rotate at the top of the resonance tubes. The rotation causes all the resonance tubes to open and close periodically, giving the vibraphone its characteristic vibrato depending on the speed of rotation. Basically, however, we are talking about a tremolo here, since the pitch is not changed.

This emulation draws on a modified version of my Brownie tremolo, with the Depth setting fixed as well as a note trigger added to reset the tremolo’s oscillators on each note to give a fuller attack tone.

The speed of the motor has been expanded and is now adjustable between 1 and 12 Hz.

Via a connected footswitch, a damper pedal is emulated, which drastically shortens the release time of the note(s). Typically, the damper is applied just before a new chord is struck. This nice gentleman, can tell you about it in much more detail: How to dampen the vibraphone with the pedal - YouTube

I use audio files from Bandlabs’ Vibraphone Pack, which can be downloaded here: Bandlab Vibraphone Sound Pack | Musical Artifacts

The only modification was a renaming of the audio files, which I just shortened to their pitches to make note selection easier. For details please have a look at the sample-voice.pd abstraction.

Revision 0.3 introduced the octave switch. The full range of notes from F2 to F5 can be accessed with the Organelle keyboard now.

Revision 0.4 introduced 6-voice polyphone, expanded tremolo range and improved gain-staging.

MIDI note in and MIDI note out are supported.

Controls:

Knob1: Motor-Speed (40-140 RPM)
Knob2: Attack
Knob3: Release
Knob4: Octave switch (-1 / 0 / +1)
Aux: Motor ON/OFF
Footswitch: Pedal (Damping)

Enjoy or don’t! :slight_smile:

10 Likes

Argh!!! I found an annoying bug… and fixed it. This one only affected the use of external MIDI note input devices when the allowed note range was either below or above. Because I was about to do it, I cleaned up the code a bit more.

The new version 0.2 is now available on patchstorage. Please let me know if you find any other bugs. Thanks a lot!

This is very nice, thank you! Love vibraphones, and the odds of getting a real one are pretty slim lol

1 Like

Thanks for the feedback @eno_morricone! Glad I’m not alone and I agree with you on the odds of getting a real one. Mostly a price tag, space and mobility issue :slight_smile:

As I was just in the mood for late evening Pd nerding, I have updated the patch to 0.3 and added the octave switch - the full range of notes can be accessed from the Organelle keyboard now.

I apologize to all the previous downloaders for not waiting one more day to get all things done proper at once but I was probably too excited and ignored the rules of software engineering… :nerd_face:

1 Like

This is really great! I have some thoughts ::))

The 4 voice polyphony frequently falls short with the types of phrasings and progressions that I like to use, with notes cutting out whenever more than four notes are played. While a vibraphone player with two mallets in each hand may only be able to strike 4 notes at once, it’s a frustrating limitation to have only 4 that can sound at once - as in a melodic chord progression, especially with longer decay times.

The volume level seems low - I rarely have my volume knob past 11 or 12 o’clock, but I find with this I need to bump it up to 3 o’clock or so. This caught me off guard the first time when I switched to a different patch.

I have thoughts about the damping pedal implementation too, but still playing around with it.

Thanks for this patch - it really sounds good, and fills a nice niche in the big scheme of things!

1 Like

Hi @sgotb! Thanks for these lines! Plenty of food for thought, which is always welcome!

Good call - that’s something I haven’t thought of yet. Expanding it to a 6-note polyphony is fairly easy and doable and is something I’m considering in a next update.

Yes, I had some issues here with distortion, even though I was far off any clipping. This is on my todo-list as well.

The implementation of the damping pedal is fairly basic. Currently it shortens the release time to 300 ms. With an expression pedal this could become more of a dynamic affair - I don’t have one though and just implemented it for a foot switch.

Thanks again for the constructive feedback - I will improve this patch further.

Thanks again @sgotb for your valuable feedback!

A new version is up on Patchstorage: Pacifica! | Patchstorage

6-voice polyphony is now possible as well and I have expanded the tremolo range, to have more options.

I have found the issue for the distortion issues which were the main reason why the output volume had to be set so low - I was passing a % value instead of a value between 0 and 1 as tremolo depth - this has been resolved and the patch is way louder (and cooler) than before.

At some point in the future I will work on a better implementation of the damper pedal. Enjoy!

1 Like

@twang69 outstanding!
the 6 voice polyphony is great and presented no issues with longer progressions or anything I tried playing. and the volume level is right up there where it should be ::))

I see that the motor speed has changed from RPM to Hz, with the maximum 12 Hz being much faster than the previous 140 rpm maximum - I like it. While the idea of creating a very realistic emulation of an instrument is good, part of what makes the organelle so amazing is the ability to stretch and push those sounds in ways that aren’t possible on the actual instrument. In a patch like this I think it’s good to keep the range of values somewhat limited to maintain playability, but the ability to push given parameters beyond what the actual instrument can do is really cool.

Cheers, and thanks for your work on this!

1 Like

I’m very glad the patch is working well for you.
The only reason for the change from rpm to hertz was that 12Hz is the equivalent of 720 rpm, which looks a bit intimidating…

Otherwise I absolutely agree with your views. Have fun with the patch!

P.S.: Actually we’re not that far off reality :slight_smile: : Introduction to My Six-Mallet Technique — Robert Paterson | Composer

For those who care: I did another update today.
Motor speed is smoother now because I got rid of the int (that I used with the BPM setting before). Frequency gets displayed with two decimals now for more accuracy.
Also adjusted the last volume control a bit as I ran into some clipping/distortion issues when playing chords in the upper octave at full volume.

2 Likes

Super nice but… on my Organelle 1 v2, I have several “clicks” while playing simulataneous chords or notes. I know I don’t have the last super fast Organelle but with other patches, it works quite fine for now. Is there a way to avoid these glitches and cracks and clicks?

1 Like

Hi @nicolasbulb! Thanks for reporting - I’m able to reproduce the issue on my Organelle M - it only happens to me when playing chords VERY fast or doing a stupidly fast piano roll kind of thing - it disappears though when I’m turning off the tremolo, hence I’m assuming it’s the oscillators of the tremolo going wild.

I will look into this and hope I have a proper solution for this in the upcoming days.

Hi, thanks for getting back to me.

it only happens to me when playing chords VERY fast or doing a stupidly fast piano roll kind of thing

Hahaha. Nice one. But I’m a drummer and sometime vibraphone’s players can get pretty hectic too. :wink:

1 Like

^^ Good call! Not sure though if it will ever be possible to play the final of Carmen on this patch in this tempo (at least not with tremolo on). I’m a bass player and I guess my “less is more”-attitude towards notes reflected a little bit in this patch… :smiley:

Anyway I will check what I can do to improve the patch further and will post here, once I have a solution.

@nicolasbulb and everyone else interested:

The pops issue has been resolved, revision 0.6 is up on Patchstorage: Pacifica! | Patchstorage

After checking all the components of this patch, I found out that I was wrong with pretty much all my assumptions. In the end it was just a question of latency, as all the sound files have been opened directly from the SD card instead of memory.

This time all samples get loaded into arrays dynamically each time you start the patch. The startup takes slighty longer, but it seems so much more stable now. I’ve also changed the attack range to 5-500 ms and got rid of the tremolo osc~ reset as it was basically completely unnecessary.

Samples have been converted from 24 bit to down to 16 bit, so we have about half the file size of the versions before. This should also be beneficial for Organelle 1 users - though I don’t have one to test.

This is probably the smoothest version so far - anyway please let me know if you run into some oddness. Thanks everyone!

:partying_face: Yay! I can play hectic now!

1 Like

Here’s a demo vid:

Thanks for another great patch @twang69!

2 Likes

Thanks for another awesome video feature @chrisk!! :heart:

Updated to 0.7 - new version is already up on Patchstorage:

I’ve encountered an oddity during recording: While I was playing chords/notes with the octave switch in +1 or -1 position, MIDI notes have been transferred in 2 octaves. I’m supplying a modified mother.pd with this patch now where I have truncated the connection to raw notes midi note out which solved the issue.

Release time of damping has increased from 300 to 500ms which sounds a bit more natural to me.
And for the sake of it I have added a splash screen.

2 Likes