Best Value Homeschooling. From £12 per family per month all in! Qualified Teachers.
Page loading ... Welcome Guest Sign In 🏡 📚 🔍    

Metronome & Rhythm Machine Help

biscuits-18n/metronome/spec.php Last Updated: October 24, 2020, 10:13 am
The Metronome is working in simple form. Next we will develop the metronome into a more powerful Rhythm machine: GLOSSARY

Development Stages

Basic metronome with bpm ( beats per minute slider ) and two sounds: one sound to mark the first beat of each bar and one to mark all the other beats in the bar. We can not see any audio tracks displayed. The two sounds that we have in the metronome are used behind the scenes in a none-configurable way. DONE!!

Preset 3-voice ensemble rhythm pattern

This stage is the initial implementation of a preset loading of an eight-beat pop ensemble rhythm pattern , consisting of three voice rhythm pattern; METRO IMG ALT

The PHP class "ensemble" should handle the HTML and DOM for the javascript to pick up and place into links using get data. Eg: /metronome?ensemble=metronome&beatsPerMinute=80

  1. Closed High hat.

    Note: to include open high hat would require an additional voice to be added with an associated rhythm pattern.

  2. Bass Drum
  3. Snare


File contents not found for source code display
Full path to code was "/home/leonwool/public_html/biscuits/biscuits-18n/metronome/code-samples/pop-erp1.php"

Result of Code

In a later stage, the whole ensemble rhythm pattern will be editable.

Next Stage
So we first we will put the two metronome sounds into the new scheme. IMPORTANT!! We need to change the audio play/pause functions so that they are driven by the new pattern object. The new pattern object will later (STAGE III) allow the addition of further tracks to be added by selecting from a sound bank.

Create Two Tracks

Later we will have a method to inputs a new track and have it appear as a new row in the active pattern that we are currently working on/
  1. Select sound from sound bank
But: two metronome click track sounds can be added to the active pattern by default. These two metronome clicks are :
  1. A Sound for the first beat of every bar.
  2. A sound for every other beat of the bar.
These two sounds should be loaded into the rhythm ensemble pattern working area. The properties of each should be set as:
  1. beatsplit = 1
  2. sound = the sound bank sound that is pre-defined as either soudBank.firstBeat or soundBank.allBeats

Notes on rendering the pattern editor

The pattern table should take into account:
  1. The BPB / bpb beats per bar:

    For 3/4 time this is 3 , for 6/8 time this is 6 , for 4/4 time this is 4.

    Test the bpb using the get method. ?bpb=INTEGER
  2. When we add your "TRACKS" we should have ON/OFF not only against the individual SOUND EVENTS but also have one at the start of each TRACK row
NEXT STAGE - Rhythm Pattern Input
User change / select bpb beats per bar