Bounce Metronome => General => Topic started by: cloudsquall88 on January 29, 2011, 09:35:57 AM

Forum for Tune Smithy, Bounce Metronome and other software from Robert Inventor

Title: Beep sound.
Post by: cloudsquall88 on January 29, 2011, 09:35:57 AM
Hello again. I just have a little question to ask.
Is there a beep sound to use somewhere within the program?I mean a short beep sound, not like the sin(x^y) one.
I must have searched through all of the pitched and non-pitched instruments and also through the wave sounds, but can't seem to find it.
Preferrably with the option to choose its pitch, in order to have different pitches between polyrrhythms and subdivisions.

Title: Re: Beep sound.
Post by: Robert Walker on January 29, 2011, 07:50:31 PM
Great question again.

Can't think of anything. There isn't  any beep in the standard GM Midi sound set anyway though may be in other ones.

You can get almost any sound by playing the midi ou (routed via virtual midi cable) to a soundfont player such as SynthFont or Kontakt player and a suitable sound font, so I'm pretty sure you could do it that way though might need to hunt around to find a soundfont with the sound you need.

But anyway, need something simpler than that.

With Bounce Metronome the obvious place to look is the wave shape player. No beep as such there yet though, just plucked notes or steady pitched notes. It is a legacy from Tune Smithy so most of the example instruments are for listening to just intonation chords, useful for e.g. the tunes or harmonic metronomes perhaps. Will  have a bit of an attach but not enough for the "blip" type beep you expect from a metronome.

Anyway likely way to do it is to just make a new "Beep" instrument for the Wave Shape Player. So just had a try at that. It shouldn't be hard to do  - except, that I found some bugs in it when you edit the sounds and the volume envelope. It's a long time since I made any new instruments for it and not had anyone asking how to do it either.

So - anyway - need to take a look at that. I got a beep of sorts but it had a slow attack, so no good for this as obviously you want a fast attack for a  metronome beep.

I'll look into it some more and get back to you about it. May be able to do it quickly, if the bugs are easy to fix which they may be. If it is a bit tricky, then natural to add to wish list and do at the same time as I do the sample player programming. BTW I noticed that there is a kind of sample playing  option in the wave shape player already - option to open an audio file and use that as the instrument - except - as a repeating waveform but not that much to go from there to a one off waveform - though when I tried to make one of those instruments, was buggy too.

Basically - the Wave Shape Player is playing it's instruments fine, but the editor you use to make new instruments is buggy, at least I expect that's what it is. Will see what I can do to fix it, more later.


Title: Re: Beep sound.
Post by: cloudsquall88 on January 30, 2011, 02:30:47 AM
I tried making one in Audacity, and found that simply by Generating a sine tone at the frequency of 440Hz produces a pretty nice beep result. I think the ideal duration should be between 0.05 and 0.1 seconds. So I made three different wavs, a 440Hz one (low), a 880Hz one (mid) and a 1760Hz one (high).Seemed to do the job, but was a bit slow in bounce metronome with the wavs (that's how the other question came up).
I would suggest making a low, mid and high version of every pitch and not just A as I did, because then you could produce results like in Korg's Beatlab metronome (I have BTL-1).It has sliders for every subdivision till 9 subdivisions and each of them is a different pitch for a very clear result.

How can you make and save swv files?

Title: Re: Beep sound.
Post by: Robert Walker on January 30, 2011, 02:08:10 PM
Yes - if you do it via the .wav perc route then at present you need a different audio file for each pitch.

It would be a fairly simple thing though to let it adjust in pitch as well, once you have it playing samples at all, simple type of pitch adjustment where to go higher you just play the sample faster.

With the waveform player with a sine wave version with volume envelope then that will be a melodic instrument like all the other wave shape instruments. So can set a different pitch for each part in the rhythm as for the harmonic metronomes.

You can open and save the swv files in the Waveform Instrument window (Ctrl + 166). You set the volume envelope in window 190 (that's the one I tried to use yesterday and found it was buggy for some combinations of the parameters).

Those two windows are also where you edit them - by varying the parameters in the windows.

(BTW a bit awkward at the moment the way that you can only really navigate between those three windows by going via window 196 (at least until you know the window numbers). Well another way to navigate to that (or any other window) - you can also use the right clicik on the Organise Windows O icon and then choose Instruments >> Wave Shape Instruments - but that too is a little awkwad. Will see if I can do anything about it.)

Anyway to try it out right away use Select in Parts in that window. But once you decide it is an instrument you want to keep and use along with other instruments then you will probably want to add it to the menu for easy access.

So after you save a new .swv file, to add it to the menu you use Modify Wave Shape Instruments Menu (Ctrl + 189).

So - those are the basics but I'd better do the bug fixing of the wave shape instruments editor before doing any detailed expo - maybe then I can put something about it in the wiki (One of the things I'm working on right now is a new wiki for Bounce Metronome which hopefully can go live fairly soon - with on-line searchable version of the tool tips help and to which I'll add tutorials, resources and other things, so could explain stuff like this there when ready).

So anyway should be able to do what you want once I fix the bugs, basically.

Does this answer your questions?


Title: Re: Beep sound.
Post by: cloudsquall88 on January 31, 2011, 02:02:08 AM
Basically what I asked was if you could open a wav file somewhere and save it as a swv file. Either within the program, or using another program.

Pretty nice bit of information you gave me though :D.

Title: Re: Beep sound.
Post by: Robert Walker on January 31, 2011, 04:17:39 AM
Oh right, should be able to do that with a bit more coding. Since you'd only use it for short samples would make sense to include the sample as binary data as part of the swv file itself. Then e.g. if you want to share a swv insrument you have made, you can send attach. upload, or e-mail etc the swv file on its own no need to attach anything else, ditto for backup etc.

I can do it like that, when I fix and update the sample playing code.

BTW somewhere, probably hidden in the user interface for Bounce Metronome, but it is a feature of this in Tune Smithy - there's also an option to go the other way - to output the audio from the player as whole bunch of samples, one for every midi note, which you can then import into e.g. Vienna to make a sound font. I remember programming that and testing it but not sure where it is right now.

Anyway when I work on this will add and update the help for those windows too which is rather sparse, and do some tutorials or examples of how to work with it.

Thanks again!


Title: Re: Beep sound.
Post by: Robert Walker on January 31, 2011, 04:29:40 PM
Okay had a first look at the beep. There's really not much wrong there, more that the controls aren't explained properly plus I should add a check box to make it clearer what one of the things does.

Plus the beep volume envelope is currently time limited and at the end of the envelope even if faded to near 0 volume by then, it jumps up to 1 outside the interval so e.g. you have say a one minute note but beep is only for the first fraction of a second and at the end of the minute then suddenly jumps up to full volume. Not really sure why it does that yet, or whether it is a bug, or what but will sort that out.

Anyway simple fixes. Have made a list of half a dozen minor things to fix and then take a look and see if I can make the user interface a bit clearer, then upload it and can also do you an explanation - or perhaps I'll do a video demo, just do a video recording as I go through the process of making a beep instrument, save it as swv, add it to menu, etc. Plus can include a "beep" instrument preset or maybe a menu of beeps in the wave shape player.

So pretty straightforward, and will set aside - perhaps a day or so - to do it hopefully some time this week or next week, that sort of time scale, and just see how far I get, then can add stuff I can't do right away to the wish list.

Haven't yet looked into the sample playing, as altenative way to do beeps, will look into that when I do the work on it hopefully later this week - hopefully anyway.

Title: Re: Beep sound.
Post by: Robert Walker on February 01, 2011, 12:53:32 AM
For the record, I've thought of another way to use samples to make swv files. It has the advantage that it would make an instrument which is easily adjusted to play at any frequency.

The idea is -  Tune Smithy ( has a task called "Analyse Midi Instrument". This lets you take any sample and convert it into a highly accurate analysis of the frequencies of all the partials in the frequency spectrum - using standard FFT combined with some techniques to improve accuracy of pitch detection.

Anyway, in Window 67 (which isn't yet upgraded to work with Bounce Metronome) there's an option to save the frequency spectrum as a Wave Shape Instrument. Not sure if it also includes the volume envelope of the original sound, but if not could easily add that.

So - then the idea is you do a frequency analysis of the sound sample of a beep you want to emulate (or any other sound for that matter though better if it is a sound with the same constant partials throughout the sample rather than varying spectrum analysis  depending where in time you do the analysis).

Then combine that with the volume envelope - getting the volume envelope right can make a big difference to the fidelity.

Then the advantage over just direct playing of the sample is that you don't have to do interpolation between sample points to play it, so can easily play at any frequencies.

Would work best for harmonic timbres as then even if the analysis turns up quite a few partials you can combine them all together to make a single wave shape which is then very efficient to play, uses less CPU. If you have an inharmonic sound like gongs etc, then each partial basically needs to be played like a separate instrument, so adds a lot to the effective polyphony.

Though I have an idea that could help there too. Idea is to add a kind of higher level audio "caching" to the player. The first time it plays a note at any pitch, it records the waveform it generates, for just that note, to disk. Then after that rather than re-calculate all the partials, it would just stream the previous recording from disk like a sample player (obviously could cache in memory as well) - since generally not varying depending on volume you just need one sample like that for each midi instrument. Could automatically generate all the samples up to say one second each first time you select the instrument into the parts window if they don't yet exist. And if you play any longer notes, then generates the rest of the sample "on the fly" as you play and save that to disk as well for future use.

It already does a kind of "caching" like that for the harmonic series based notes, but just of a single wave and using a function table of say 1024 or 10240 samples or whatever. That's necessary as otherwise some of the mathematical functions it uses to make the notes would take up so much CPU to calculate "on the fly" that it would be difficult to sustain much polyphony at all even on a modern machine.

So anyway basically one way or another could be efficient to play like that if coded properly - as efficient as a sample player. And would get better results probably than just playing the original sample with interpolation at different pitches. And also would be a proper swv file so you could go into it and adjust e.g. the pitch of any of the partials in it, or play all the partials on a different instrument e.g. try it with triangle waves for all the partials instead of sine waves, adjust the volume envelope (I hope to make a click and drag user editable volume envelope at some point) and so on.

Anyway that is like wish list stuff, probably, not to do right away probably, but for the future when I have time to work on it, could be a nice idea to do that.

I'll add this all to the wish list proper but will wait until I've done the day of programming first in case I manage to do some of it right away.

Title: Re: Beep sound.
Post by: Robert Walker on February 05, 2011, 04:46:04 PM
Just to keep you up to date - I have done an upload with those fixes etc. Here it is:

Download Bounce Metronome (

Not yet added any beeps to the menu though. But should be a bit easier to figure out what to do if you want to have a go at making one yourself.

Or - if not - I'll do a bit more on it some time - hopefully this week, try out a "beeps" drop menu. Then I can do a demo to show how to make a new instrument, complete with envelope, add it to the menu etc.

Plus look at some of the other ideas in this thread (e.g. sample playing etc) and either program or more likely add them to the wish list for now.