Skip to content

A web app meant for Spicing up simple chord progression and jamming with a virtual band.

Notifications You must be signed in to change notification settings

TheSpicer/TheSpicer.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

As simple as a loop station, as spicy as a whole band!

How To Use

The Spicer a Web application meant to spice up your music performances offering a virtual band playing live together with you: just play a basic chord progression and let the magic happen!

You can choose which instruments to include in your band and their level of expertise and also modify them while playing to create different textures.

Follow these simple steps to get started:

  1. Connect a MIDI keyboard.
  2. Select the tonality and the bpm.
  3. Press 'R' and wait a bar to start recording.
  4. Play in four bars the basic chords of your piece; then they will loop and form the harmony structure.
  5. Choose which instruments to include and their Spice levels: look at the chili pepper on the logo to check the spiciness of the performance!
  6. Now you can start playing and improvising your solo with a synth and obtain the spiciest sound by tuning its parameters.
  • EASY MODE: Instead of playing the chords to define the harmony of your piece it's possible to play just the root of each one; then they will be harmonized depending on the key.
  • SOUND SELECTION: It's possible to choose between different types of keys, including pianos, organs and pads. The set of possible sampled sounds is imported from WebAudioFont.

Controls

Spicer Bar

Open the Spicer menu by clicking on the window on the bottom or by pressing shift:

  1. Choose the bpm.
  2. Choose the tonality.
  3. Change the piano sound.
  4. Spice up or down the instruments.
  5. Record a loop or delete the existing one.
  6. Play or stop the recorded loop
  7. Switch between playing the synth or the selected keys.

Shortcuts

Spicer Bar

  • Press the highlighted notes to play without a midi keyboard.
  1. Press 'Q' to transpose the keyboard notes down an octave.
  2. Press 'W' to transpose the keyboard notes up an octave.
  3. Press 'R' to start recording, press it again to discard the record.
  4. Press 'P' to pause the recorded loop, press it again to resume.
  5. Press 'Shift' to open/close the Spicer menu.

Features

Band Instrument Selection

Each instrument of the band has two Spice levels: the higher it is, the more complex and spicy its performance style will be! Level zero corresponds to muting the instrument except for keys which still play the recorded chord progression shifting all the notes to the D4 - F5 range.

Instrument Level 1 Level 2
Piano Enriches the chords with maj/min 7th or 6th, if possible, depending on the chord progression. Enriches the chords with 9th and generates voicings if possible.
Bass Plays the fundamental note of each chord and the leading tone to the next fundamental. Create a four beat walking bass line.
Drums Plays a chilling drums pattern. Plays a powerful drums pattern.

Synthesizer

Inspired by the colorful design of the Moog Grandmother and built using the Tone.js framework, the monophonic Spicer Synthesizer gives the opportunity to jam on top of your spiced arrangement achieving the spiciest solo sound.

Spicer Bar

The synth is composed of the following components:

  1. Oscillators - Two oscillators, both are able to play the classic four waveforms (Sine, Triangle, Square and Sawtooth) and have a dedicated octave control.
  2. Mixer - Craft the sound by controlling the oscillators' gains and by adding some Noise that can be White, Pink or Brown.
  3. Filter - Can be low pass, high pass or bandpass with a 24 dB/octave slope and a Resonance control.
  4. Envelope - Shapes the sound amplitude and (optionally) the filter cutoff frequency.
  5. Output - Control the main output gain.
  6. Effects - The sound generated can be spiced up even more applying a PingPong Delay and a Convolution Reverb. The dedicated knobs control the amount of wet signal.
  7. Modulation - Two indipendent LFOs that can be used to give life to the created sound. The LFOs are pre-routed to modulate the oscillators' pitches and the filter's cutoff frequency. Both can be toggled on or off and can be controlled in Frequency, Amplitude and Waveform generated.

Walking Bass

If the bass is active and set to the higher Spice level it plays an ever changing walking bass line, which consists of notes of equal duration (typically 1/4 notes) that create a feeling of forward motion. Its implementation is designed to give a realistic feel and a certain degree of freedom to it; the four beats beat_1 beat_2 beat_3 beat_4 of each bass line are chosen by following specific rules:

  • beat beat_1 : It must be the root of the chord played on this beat. It's the first to be computed by the algorithm by randomly choosing the root on different octaves (but constrained to the walking bass range F2 - A3).

  • beat beat_2 : It must be a note of the selected key. It's the last to be computed by the algorithm by choosing from a set of possible notes which depends on the other beats' choices and on a series of constraints about intervals' length and type.

  • beat beat_3 : It must be a note of the selected key. It's the third to be computed by the algorithm by choosing from a set of possible notes which depends on the other beats' choices and on a series of constraints about intervals' length and type.

  • beat beat_4 : It must be a leading tone (chromatic, diatonic or dominant). It's the second to be computed by the algorithm by randomly choosing one of the leading tones.

The choice of beat_2 and beat_3 can follow two logics:

  • Close Walking : They are chosen from the possible beats sets by minimizing the distances between the beats. The result will be a walking bass line in which the notes played are as close as possible but still respect the basic constrains.

  • Random Walking : They are chosen from the possible beats sets randomly. The result will be a walking bass with a more random behaviour, possibly showing certain number of jumps, but still respecting the basic constrains.

After having computed these two different walking bass bars the algorithm will randomly choose one of them and construct a multicolored and ever changing bass line!

Walking

Voicings

If the keys Spice level is set to its maximum, whenever in the chord progression is detected a II - V - I fragement, then voicings are performed.

Voicings are particular arrangements and movements of the pitches of a chord aimed at achieving a pleasurable effect. The chords used can include 7ths, 9ths and also 13ths and they can have two configurations:

  • Basic:

beat_4

  • First Inversion:

beat_4

The algorithm chooses everytime the one that falls within the range D4 - F5.

About

A web app meant for Spicing up simple chord progression and jamming with a virtual band.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published