Fix for issue with clicking noise in Drumset with Bass.

This is a message for Beatbuddy support with regards to an issue with the creation of a drumset including Bass Notes as discussed in this thread. Just wondering if there is anything they can do in a future firmware update.

[SIZE=6]Beatbuddy with Bass lines is Here!!![/SIZE]

It is to do with with clicking noise at the end of when a bass note is played. Here is some quotes from the Thread.

“The only problem I have with this now is that when the bass note is cut off due to being a short note there is a small crackling noise like using a killswitch on a guitar or changing pickups. The shorter the note and hence louder it is when cut, the louder the crackling. Maybe needs some sort of decay setting implemented. Appreciate any help with this.”

And my recent post.

"Im not shure what you mean about the WAV file crossing at zero Nick. It may be what Im thinking of. Ill post a graphic of what happens to the WAV file and why the clicking sound happens as I understand it. I will try and make a simplistic explanation as I can and is not to insult anyones intelligence on what they know about the subject.

Edit. I just had another look at reaper and I understand what your talking about and it’s the same thing Nick. When you split a WAV file in Reaper it automatically adds what I called decay but it calls fade to make the WAV shape hit Zero when the file ends. This is what beat buddy needs to incorporate.

In the picture below
In Track 1 is the the full WAV file for the Low A in the “Rock with bass” drumset and if you zoom the picture out it is 14 seconds long. If triggered with one midi note in the beatbuddy it will play for 14 sec and there will be no clicking noise. I have programmed the drumset so if another bass note is triggered the beatbuddy imeadiately cuts the WAV file short so there is no overlapping of notes. My first try let all the notes ring out and it sounds like a horrible mess. The way to stop this in the drum editor is to assign all the bass notes to a choke group and the polyphony setting to 1 so there is only one bass note playing at a time and hence you can’t hit two bass notes like an octave at once and have them both ring out.

Track 2 is what happens when the WAV file is cut short and this example is at 1 sec. You can see the end of the file is a straight cut and if you play this track you get the clicking noise as soon as the WAV is cut off.
Track 3 is the same 1 sec WAV file but the Reaper DAW allows you to add a decay type effect to the WAV file and hence the shape of the file is a curve to Zero over a couple of milli seconds and when this note is played there is no clicking noise.

As far as I can tell this is the only fix to get rid of the clicking noise and would be needed to be impemented by the beatbuddy development crew in a firmware update.
It doesn’t annoy me to much as It’s not that bad but I don’t play out live with the beatbuddy and would imagine that it may be a bit distracting in that situation especially through a high quality PA.

Any Ideas from other users would be welcome."

[ATTACH=full]1022[/ATTACH]

Okay now, we have your post in like 3 different places on the forum :slight_smile: I promise I will look at it when I have time!

@Guitar Stu I promised to look at this issue. Chances that the current firmware version implements this is pretty low, to be honest :frowning:

Current firmware was never intended to play anything aside from actual drum sounds by design. Adding bass lines was actually a “hack”, yet a very very cool hack indeed!

There are several issues with this. Major offender - BeatBuddy “track files” (actual converted MIDI data that the firmware can playback only) contain only Note On events and pretty much nothing else. Tempo is stored globally and cannot currently be changed by the track being played as well. In order to kill the individual notes properly, we will need to also store the Note Off MIDI events to know when to do this. Going this route will either invalidate all existing songs without Note Off events, or require special handling of them.
There is a second major problem here - the limit of 500 notes is actually a limit of 500 MIDI events (!) in a “track file”, meaning we will have only 250 notes per song part… Fixing the note limit alone will most likely invalidate all existing songs as well.

Going another route - using the clever workaround you’ve found with choke group and polyphony set to 1 - will negatively impact the existing original drumsets sounding (as they were carefully fine tuned without such choke group notes killing in mind). This is most audible with hi-hats - they start sounding very unnatural :frowning:

I couldn’t quickly come up with a method to solve both tasks at once.
But seeing as bass lines is a very sought after feature by a lot of BeatBuddy customers, there might be a complete revamp get planned in the future development timeline to help address the issues I’ve quickly touched in this topic, and to also give a better support for bass lines (so you can actually have two bass notes playing simultaneously, e.g. like an octave that you’ve talked about in your post).

@Guitar Stu I promised to look at this issue. I have very high doubts about the official firmware ever implements this, to be honest :frowning:

Current firmware version was never intended to play anything aside from actual drum sounds. Adding bass lines was actually a “hack”, yet a very very cool hack indeed!

There are several issues with this. Major offender - BeatBuddy “track files” (actual converted MIDI data that the firmware can playback only) contain only Note On events and pretty much nothing else. Tempo is stored globally and cannot currently be changed by the track being played as well. In order to kill the individual notes properly, we will need to also store the Note Off MIDI events to know when to do this. Going this route will either invalidate all existing songs without Note Off events, or require special handling of them.
There is a second major problem here - the limit of 500 notes is actually a limit of 500 MIDI events (!) in a “track file”, meaning we will have only 250 notes per song part… Fixing the note limit alone will most likely invalidate all existing songs as well.

Going another route - using the clever workaround you’ve found with choke group and polyphony set to 1 - will negatively impact the existing original drumsets sounding (as they were carefully fine tuned without such choke group notes killing in mind). This is most audible with hi-hats - they start sounding very unnatural :frowning:

I couldn’t quickly come up with a method to solve both tasks at once.
But seeing as bass lines is a very sought after feature by a lot of BeatBuddy customers, there might be a complete revamp get planned in the future development timeline to help address the issues I’ve quickly touched in this topic, and to also give a better support for bass lines (so you can actually have two bass notes playing simultaneously, e.g. like an octave that you’ve talked about in your post).

I’m fighting with tjethe same problem here. One possible workaround came to mind:
When building your drum track, add a trigger note (that is unassigned to any of your drumkit wavs) to the drum midi line in the beginning of the midi clip. Build a wav file that has all bass notes for that clip - basically this means the triggered “drum” is a wav file that plays through all bass notes when triggered. Of course there are some limitatitos to total space available but this should eliminate the clicking sounds.

Hi MaraP. Thanks for the input. I understand where your coming from with your idea and it uses the similar concept as aashideacon has in his Warren G song In that you can use the beat buddy to trigger a full length WAV file for the song.

I had a go at this after reading his thread in an attempt to include rhythm guitar samples into a song with bass. I tried it on a relatively easy song (Bad Moon Rising). Had some success in the intro for the song but when I tried to include a wav sample that was triggered by one midi note at the start of the loop and played over the four bars of the loop I ran into some trouble. The wav file would trigger and start but after about 1 bar it would cut out. Unsure of what was happening I removed either the bass or drum midi’s cant remember which and the sample lasted about 2 bars. There must be a function in the beatbuddy that after a certain number of midi notes are triggered the initial samples would be cut off if they are still going. Might be after 20 midi triggers for example which would explain why the sample lasted longer without both drums and bass.

I was not really that interested in adding extra parts,and really only want bass and drums so I only spent about an hour on it and didn’t look for any other solutions. If the popping noise was removed the bass in the beatbuddy would be perfect as far as I am concerned. To use short bass samples will be possible but it means creating a dedicated drumset for each song and recording the samples. Far to much work when I have like 100 songs already.
I think there will either be a fix for this in a future firmware update or in a beatbuddy 2 or another company will come out with it cause as far as I am concerned having bass tracks with the beat is absolute killer and if your a solo player once you start using it with bass,drums only seems like an inferior product.

Good luck on looking for a solution
Cheers.

I believe drum notes don’t have a “duration” like other midi notes. Just an “on”. So what I did was make my midi trigger piece be the length of the sample, by using bpm, and time signature. I set bpm to 60, and the time signature to 5/4. My sample was 10 seconds long, so the midi was exactly 2 measures. Then, I trigger the wav in the first measure, and put 9 ghost notes in each beat after that. That seemed to fix the problem using a wav in the loop. In the fill, it seemed to just play the whole thing without this trickery, but I ended up making all the parts line up the time of the wav with the midi, and that’s how it eventually seemed to work properly.

[/QUOTE]

Thinking about what would be required to do this, it’s way beyond a firmware update. You’d need the BeatBuddy to analyze a particular MIDI drum track and the WAVs assigned to each MIDI note and then play the WAV file with a short volume ramp-down at the end right before the next WAV is triggered, and do all of this on the fly for each particular loop and set of sounds assigned to it.

The other solutions proposed in this thread are more workable: triggering a backing track loop with a specific MIDI note. One downside of this is that you can’t change the tempo of the song.

Another potential solution that I’ve done some experimentation with is using the BeatBuddy to play a MIDI note that, in turn, triggers a software or hardware sequencer to play a MIDI sequence on that device. Disadvantage is, of course, the extra equipment required. But you do retain the easy functionality of the on-the-fly hands-free switching between various sequences of the BeatBuddy, and you can also mix that audio output separately.

Hi Daef. I just saw a post in another thread that was talking about the release time setting with choke notes.

Main Pedal > Release Time: Our goal is to make the BeatBuddy sound perfect. And in pursuit of perfection, no detail is too small. When the drummer hits the hi-hat and then closes it, the hi-hat mutes, or ‘chokes’, the sound of the open hi-hat as it closes. On a physical drum set, the resonance of the open hi-hat fades out as the hi-hat closes. But because the BeatBuddy is digital and was performing this instantly, the transition was too abrupt, creating
a ‘skipping’ sound. So we added a ‘release time’ algorithm which fades out the choked sound over a period of time. This creates a smoother and more realistic sound. We put in a release time of 100ms (1/10th of a second) because we think this sounds best. But if you want to experiment with the amount of Release Time used, you can adjust it with this setting.

I had a play around with this and it effects when the clicking sound in the bass lines happen. At Zero the clicking noise is as soon as the note is choked by the next note. At 100ms the clicking noise is delayed obviously 100ms after choke and is not as noisy but is still there. I tried 250ms but the delay was to long is is unusable. Mine has been normally set to 100ms.
I was wondering and this might be for the firmware team if there is anything in this setting in the fade that can be tweaked.

Cheers for all the work you put in to this thing Daef.

if this were were moved to the instrument (or the choke group), we could tune it there. the bass samples don’t need something as big as 100ms to be rolled off. even if it were rolled off from 1ms → 0ms that would stop the clicking.

Well, I cannot agree more with every word you say here, @Guitar Stu. You definitely have the expertise and knowledge after making such amazing bass lines drumsets! :slight_smile:

I can only suggest that as usually drum sounds are naturally decaying very fast, there was no necessity to force mute the notes to kill the gracefully. It simply doesn’t works with the bass sounds. They do not decay naturally (as they really shouldn’t!), that’s why they glitch :frowning:

Please do not count this as a weak attempt to dismiss the issue. I simply have nothing to say on topic right now…

I fear it will not be the case. It will delay the glitch from being instant to 1 ms later :frowning: We need to force mute the sound wave when it comes into the release part. Just like software synthesizers do. But this will be too many changes :slight_smile:

I see, so this release time isn’t taking 100ms for a volume curve down to 0, it’s just letting that sample ring for another 100ms? And because it’s a drum, that’s usually enough to make it end naturally?

Stu’s original solution before finding choke group was to put a zero velocity note in there when you wanted it to end, I believe, but that means you run out of your 500 notes much more quickly.

I didn’t have a lot of time to dig into the firmware yet, but I haven’t seen a force muting for notes logic there. Maybe I may just have missed it because I looked really quickly :slight_smile:

I’m no expert here, but a long bass note is no different than a long cymbal crash or open highhat. The only real difference is that we don’t need as many of those long notes highhats and crashes as we need bass notes.
So, it would seem to me that any strategy used successfully to mute or choke open highhats without clicks should work for bass notes. An open highhat is choked by the closed pedal sound, and a ringing bas note is choked off by the next note.
Is it possible that we aren’t hearing the clicks on the open hats because of the frequency content of the sound of the hats, but the cleaner sound of the bass lets the click come through?

I think we aren’t hearing clicks in the hats because they are already fading out when they are cut off, plus the nature of their sound is kinda like a click anyway. higher frequencies also are crossing zero much more often than lower ones, so you are more apt to get the click with low notes.

I just loaded U2 One in to the manager software and listened.

I notice that there are less clicks on lower slower notes, and more clicks, or more audible clicks on higher and faster notes.
So, this tells me that the quieter a sound, or the more chance a sound has to decay, the less we hear a click.
but, I still maintain that IF the BB is fading out a sound to “choke” it off, then the click should be disappearing.
I also notice that at the end of the “end” loop,both the bass and the crash or splash cymbal seem to be faded, not fading naturally.

These are just observations and meant to maybe help us come to a better understanding of how to have a clickless bass.

Is it at all possible that the click is actually at the start of some of these samples? Does the wave form start at 0? Just a thought. OK, I’ll crawl back under my rock for a while. :slight_smile:

The clicking is an artifact that happens when you cut off a waveform at a point that the wave is not at zero. The proper thing to do would be to rapidly change the volume to zero in a few ms, rather than just cutting it off. However, the nature of drums and drum sounds don’t really require this to happen. Drums are “noisy” by nature, so a click artifact in a fast decaying cymbal hit isn’t really that noticeable. In a ringing clear bass note, it’s much more noticeable. It makes sense that a low note would “cross zero” much less often that a high pitched cymbal hit, so it’d be much more likely to be far from zero when it gets cut off.

Hello
I am not a technical guy, and Im not sure what Midi can do in this case (my Midi skills are restricted into learning how to use this "language" for controlling my guitar -amp, -FX and -loopers, for the last year)...(and Im also not sure if I appreciate the problem, since English is not my native language…), but maybe there is a way to give a Midi CC more than one task (like Midi CC 42 value 126 =trigger closed HiHat @ 100 % volume, CC 42 value 127 = Stop bass note and trigger closed HiHat…
So we could use one CC message to fade out Bass notes and play HiHat @ the same time; could help to save Midi notes…
But maybe this is just not possible and I`m telling just a long rigmarole of bull**** here, then sorry for stealing your time:oops::confused:

BB doesn’t recognize MIDI CC or PC #s. Just MIDI Note On, Start, Stop, Continue, and clock.