diff --git a/index.html b/index.html deleted file mode 100644 index abb8f8e..0000000 --- a/index.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - Advanced Music Player with JSON Score Upload - - - - -

Advanced Music Player with JSON Score Upload

-
- - - - - -
- -
- - - - \ No newline at end of file diff --git a/music_composer/advancedcomposer.html b/music_composer/advancedcomposer.html deleted file mode 100644 index 3078efa..0000000 --- a/music_composer/advancedcomposer.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - Enhanced 8-bit RPG Music Player - - - -
-

Enhanced 8-bit RPG Music Player

- - -

Current Section: Intro

-
-
-
-

Beat: 1 / 1

-
- - - \ No newline at end of file diff --git a/music_composer/advancedmusic.json b/music_composer/advancedmusic.json deleted file mode 100644 index 24fa1f8..0000000 --- a/music_composer/advancedmusic.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "noteFrequencies": { - "C2": 65.41, "C#2": 69.30, "D2": 73.42, "D#2": 77.78, "E2": 82.41, "F2": 87.31, "F#2": 92.50, "G2": 98.00, "G#2": 103.83, "A2": 110.00, "A#2": 116.54, "B2": 123.47, - "C3": 130.81, "C#3": 138.59, "D3": 146.83, "D#3": 155.56, "E3": 164.81, "F3": 174.61, "F#3": 185.00, "G3": 196.00, "G#3": 207.65, "A3": 220.00, "A#3": 233.08, "B3": 246.94, - "C4": 261.63, "C#4": 277.18, "D4": 293.66, "D#4": 311.13, "E4": 329.63, "F4": 349.23, "F#4": 369.99, "G4": 392.00, "G#4": 415.30, "A4": 440.00, "A#4": 466.16, "B4": 493.88, - "C5": 523.25, "C#5": 554.37, "D5": 587.33, "D#5": 622.25, "E5": 659.25, "F5": 698.46, "F#5": 739.99, "G5": 783.99, "G#5": 830.61, "A5": 880.00, "A#5": 932.33, "B5": 987.77, - "C6": 1046.50, "C#6": 1108.73, "D6": 1174.66, "D#6": 1244.51, "E6": 1318.51, "F6": 1396.91 - }, - "soundTypes": { - "melody": { "type": "custom", "harmonics": [1, 0.5, 0.3, 0.2], "volume": 0.1 }, - "harmony": { "type": "triangle", "volume": 0.08 }, - "bass": { "type": "sawtooth", "volume": 0.12 }, - "pad": { "type": "sine", "volume": 0.05 } - }, - "effects": { - "reverb": { "wet": 0.3, "decay": 2.5 }, - "delay": { "delayTime": 0.3, "feedback": 0.4 }, - "filter": { "type": "lowpass", "frequency": 1000, "Q": 1 } - }, - "percussionTypes": { - "kick": { "type": "sine", "frequency": 150, "frequencyEnd": 0.01, "volume": 0.1 }, - "hihat": { "type": "square", "frequency": 600, "volume": 0.1 }, - "snare": { "type": "noise", "duration": 0.1, "volume": 0.08 } - }, - "chordProgressions": { - "I-V-vi-IV": ["C", "G", "Am", "F"], - "ii-V-I": ["Dm", "G", "C"] - }, - "arpeggioPatterns": { - "upDown": [0, 1, 2, 3, 2, 1], - "random": "random" - }, - "composition": [ - { - "tempo": 120, - "chordProgression": "I-V-vi-IV", - "measures": 4, - "tracks": [ - { - "type": "melody", - "notes": ["C5", "E5", "G5", "C6"], - "durations": [0.5, 0.25, 0.25, 1], - "effects": ["reverb", "delay"] - }, - { - "type": "harmony", - "chord": true, - "arpeggio": "upDown" - }, - { - "type": "bass", - "notes": ["C3", "G3", "A3", "F3"], - "durations": [1, 1, 1, 1] - }, - { - "type": "pad", - "chord": true, - "effects": ["filter"] - }, - { - "type": "percussion", - "pattern": [ - { "type": "kick", "beats": [1, 0, 0, 0] }, - { "type": "hihat", "beats": [1, 1, 1, 1] }, - { "type": "snare", "beats": [0, 0, 1, 0] } - ] - } - ] - }, - { - "tempo": 140, - "chordProgression": "ii-V-I", - "measures": 2, - "tracks": [ - { - "type": "melody", - "notes": "random", - "scale": "C major", - "durations": [0.25, 0.25, 0.5], - "effects": ["reverb"] - }, - { - "type": "harmony", - "chord": true, - "arpeggio": "random" - }, - { - "type": "bass", - "notes": ["D3", "G3", "C3"], - "durations": [2, 2, 2] - }, - { - "type": "percussion", - "pattern": [ - { "type": "kick", "beats": [1, 0, 1, 0] }, - { "type": "hihat", "beats": [1, 1, 1, 1] }, - { "type": "snare", "beats": [0, 0, 1, 0] } - ] - } - ] - } - ], - "sections": [ - { "name": "Intro", "start": 0, "end": 1 }, - { "name": "Verse", "start": 1, "end": 2 } - ] - } \ No newline at end of file diff --git a/music_composer/arpeggio.json b/music_composer/arpeggio.json new file mode 100644 index 0000000..f130510 --- /dev/null +++ b/music_composer/arpeggio.json @@ -0,0 +1,229 @@ +{ + "tempo": 140, + "timeSignature": [4, 4], + "tracks": [ + { + "name": "Bouncy Lead", + "instrument": { + "type": "Synth", + "options": { + "oscillator": { "type": "square" }, + "envelope": { "attack": 0.02, "decay": 0.1, "sustain": 0.3, "release": 0.1 } + } + }, + "effects": [ + { "type": "FeedbackDelay", "options": { "delayTime": "8n", "feedback": 0.2, "wet": 0.3 } } + ], + "volume": -8, + "notes": [ + { "pitch": "C5", "duration": "8n", "time": "0:0" }, + { "pitch": "E5", "duration": "8n", "time": "0:0.5" }, + { "pitch": "G5", "duration": "8n", "time": "0:1" }, + { "pitch": "C6", "duration": "8n", "time": "0:1.5" }, + { "pitch": "B5", "duration": "8n", "time": "0:2" }, + { "pitch": "G5", "duration": "8n", "time": "0:2.5" }, + { "pitch": "A5", "duration": "8n", "time": "0:3" }, + { "pitch": "F5", "duration": "8n", "time": "0:3.5" }, + { "pitch": "E5", "duration": "8n", "time": "1:0" }, + { "pitch": "G5", "duration": "8n", "time": "1:0.5" }, + { "pitch": "C6", "duration": "8n", "time": "1:1" }, + { "pitch": "B5", "duration": "8n", "time": "1:1.5" }, + { "pitch": "A5", "duration": "8n", "time": "1:2" }, + { "pitch": "G5", "duration": "8n", "time": "1:2.5" }, + { "pitch": "F5", "duration": "8n", "time": "1:3" }, + { "pitch": "D5", "duration": "8n", "time": "1:3.5" }, + { "pitch": "E5", "duration": "8n", "time": "2:0" }, + { "pitch": "G5", "duration": "8n", "time": "2:0.5" }, + { "pitch": "A5", "duration": "8n", "time": "2:1" }, + { "pitch": "C6", "duration": "8n", "time": "2:1.5" }, + { "pitch": "B5", "duration": "8n", "time": "2:2" }, + { "pitch": "A5", "duration": "8n", "time": "2:2.5" }, + { "pitch": "G5", "duration": "8n", "time": "2:3" }, + { "pitch": "E5", "duration": "8n", "time": "2:3.5" }, + { "pitch": "F5", "duration": "8n", "time": "3:0" }, + { "pitch": "A5", "duration": "8n", "time": "3:0.5" }, + { "pitch": "C6", "duration": "8n", "time": "3:1" }, + { "pitch": "B5", "duration": "8n", "time": "3:1.5" }, + { "pitch": "A5", "duration": "8n", "time": "3:2" }, + { "pitch": "G5", "duration": "8n", "time": "3:2.5" }, + { "pitch": "F5", "duration": "8n", "time": "3:3" }, + { "pitch": "D5", "duration": "8n", "time": "3:3.5" } + ] + }, + { + "name": "Bubbly Bass", + "instrument": { + "type": "FMSynth", + "options": { + "harmonicity": 3, + "modulationIndex": 10, + "oscillator": { "type": "sine" }, + "envelope": { "attack": 0.01, "decay": 0.2, "sustain": 0.8, "release": 0.1 }, + "modulation": { "type": "square" }, + "modulationEnvelope": { "attack": 0.5, "decay": 0, "sustain": 1, "release": 0.5 } + } + }, + "effects": [ + { "type": "AutoWah", "options": { "frequency": "8n", "depth": 0.6, "baseFrequency": 200, "octaves": 2 } } + ], + "volume": -12, + "notes": [ + { "pitch": "C3", "duration": "4n", "time": "0:0" }, + { "pitch": "G3", "duration": "4n", "time": "0:1" }, + { "pitch": "E3", "duration": "4n", "time": "0:2" }, + { "pitch": "F3", "duration": "4n", "time": "0:3" }, + { "pitch": "C3", "duration": "4n", "time": "1:0" }, + { "pitch": "G3", "duration": "4n", "time": "1:1" }, + { "pitch": "A3", "duration": "4n", "time": "1:2" }, + { "pitch": "F3", "duration": "4n", "time": "1:3" }, + { "pitch": "E3", "duration": "4n", "time": "2:0" }, + { "pitch": "G3", "duration": "4n", "time": "2:1" }, + { "pitch": "A3", "duration": "4n", "time": "2:2" }, + { "pitch": "B3", "duration": "4n", "time": "2:3" }, + { "pitch": "C3", "duration": "4n", "time": "3:0" }, + { "pitch": "A3", "duration": "4n", "time": "3:1" }, + { "pitch": "F3", "duration": "4n", "time": "3:2" }, + { "pitch": "G3", "duration": "4n", "time": "3:3" } + ] + }, + { + "name": "Playful Percussion", + "instrument": { "type": "MembraneSynth" }, + "volume": -6, + "notes": [ + { "pitch": "C2", "duration": "8n", "time": "0:0" }, + { "pitch": "C2", "duration": "8n", "time": "0:1" }, + { "pitch": "C2", "duration": "8n", "time": "0:2" }, + { "pitch": "C2", "duration": "8n", "time": "0:3" }, + { "pitch": "C2", "duration": "8n", "time": "1:0" }, + { "pitch": "C2", "duration": "8n", "time": "1:1" }, + { "pitch": "C2", "duration": "8n", "time": "1:2" }, + { "pitch": "C2", "duration": "8n", "time": "1:3" }, + { "pitch": "C2", "duration": "8n", "time": "2:0" }, + { "pitch": "C2", "duration": "8n", "time": "2:1" }, + { "pitch": "C2", "duration": "8n", "time": "2:2" }, + { "pitch": "C2", "duration": "16n", "time": "2:3" }, + { "pitch": "C2", "duration": "16n", "time": "2:3.5" }, + { "pitch": "C2", "duration": "8n", "time": "3:0" }, + { "pitch": "C2", "duration": "8n", "time": "3:1" }, + { "pitch": "C2", "duration": "8n", "time": "3:2" }, + { "pitch": "C2", "duration": "16n", "time": "3:3" }, + { "pitch": "C2", "duration": "16n", "time": "3:3.5" } + ] + }, + { + "name": "Sparkly Arpeggio", + "instrument": { + "type": "AMSynth", + "options": { + "harmonicity": 3, + "oscillator": { "type": "triangle" }, + "envelope": { "attack": 0.001, "decay": 0.1, "sustain": 0.1, "release": 0.5 }, + "modulation": { "type": "square" } + } + }, + "effects": [ + { "type": "Chorus", "options": { "frequency": 4, "delayTime": 2.5, "depth": 0.7 } }, + { "type": "Freeverb", "options": { "decay": 1.5, "wet": 0.2 } } + ], + "volume": -15, + "notes": [ + { "pitch": "C4", "duration": "16n", "time": "0:0" }, + { "pitch": "E4", "duration": "16n", "time": "0:0.25" }, + { "pitch": "G4", "duration": "16n", "time": "0:0.5" }, + { "pitch": "C5", "duration": "16n", "time": "0:0.75" }, + { "pitch": "E5", "duration": "16n", "time": "0:1" }, + { "pitch": "G5", "duration": "16n", "time": "0:1.25" }, + { "pitch": "E5", "duration": "16n", "time": "0:1.5" }, + { "pitch": "C5", "duration": "16n", "time": "0:1.75" }, + { "pitch": "G4", "duration": "16n", "time": "0:2" }, + { "pitch": "E4", "duration": "16n", "time": "0:2.25" }, + { "pitch": "C4", "duration": "16n", "time": "0:2.5" }, + { "pitch": "E4", "duration": "16n", "time": "0:2.75" }, + { "pitch": "G4", "duration": "16n", "time": "0:3" }, + { "pitch": "C5", "duration": "16n", "time": "0:3.25" }, + { "pitch": "E5", "duration": "16n", "time": "0:3.5" }, + { "pitch": "G5", "duration": "16n", "time": "0:3.75" }, + { "pitch": "F4", "duration": "16n", "time": "1:0" }, + { "pitch": "A4", "duration": "16n", "time": "1:0.25" }, + { "pitch": "C5", "duration": "16n", "time": "1:0.5" }, + { "pitch": "F5", "duration": "16n", "time": "1:0.75" }, + { "pitch": "A5", "duration": "16n", "time": "1:1" }, + { "pitch": "C6", "duration": "16n", "time": "1:1.25" }, + { "pitch": "A5", "duration": "16n", "time": "1:1.5" }, + { "pitch": "F5", "duration": "16n", "time": "1:1.75" }, + { "pitch": "C5", "duration": "16n", "time": "1:2" }, + { "pitch": "A4", "duration": "16n", "time": "1:2.25" }, + { "pitch": "F4", "duration": "16n", "time": "1:2.5" }, + { "pitch": "A4", "duration": "16n", "time": "1:2.75" }, + { "pitch": "C5", "duration": "16n", "time": "1:3" }, + { "pitch": "F5", "duration": "16n", "time": "1:3.25" }, + { "pitch": "A5", "duration": "16n", "time": "1:3.5" }, + { "pitch": "C6", "duration": "16n", "time": "1:3.75" }, + { "pitch": "E4", "duration": "16n", "time": "2:0" }, + { "pitch": "G4", "duration": "16n", "time": "2:0.25" }, + { "pitch": "B4", "duration": "16n", "time": "2:0.5" }, + { "pitch": "E5", "duration": "16n", "time": "2:0.75" }, + { "pitch": "G5", "duration": "16n", "time": "2:1" }, + { "pitch": "B5", "duration": "16n", "time": "2:1.25" }, + { "pitch": "G5", "duration": "16n", "time": "2:1.5" }, + { "pitch": "E5", "duration": "16n", "time": "2:1.75" }, + { "pitch": "B4", "duration": "16n", "time": "2:2" }, + { "pitch": "G4", "duration": "16n", "time": "2:2.25" }, + { "pitch": "E4", "duration": "16n", "time": "2:2.5" }, + { "pitch": "G4", "duration": "16n", "time": "2:2.75" }, + { "pitch": "B4", "duration": "16n", "time": "2:3" }, + { "pitch": "E5", "duration": "16n", "time": "2:3.25" }, + { "pitch": "G5", "duration": "16n", "time": "2:3.5" }, + { "pitch": "B5", "duration": "16n", "time": "2:3.75" }, + { "pitch": "D4", "duration": "16n", "time": "3:0" }, + { "pitch": "F4", "duration": "16n", "time": "3:0.25" }, + { "pitch": "A4", "duration": "16n", "time": "3:0.5" }, + { "pitch": "D5", "duration": "16n", "time": "3:0.75" }, + { "pitch": "F5", "duration": "16n", "time": "3:1" }, + { "pitch": "A5", "duration": "16n", "time": "3:1.25" }, + { "pitch": "F5", "duration": "16n", "time": "3:1.5" }, + { "pitch": "D5", "duration": "16n", "time": "3:1.75" }, + { "pitch": "A4", "duration": "16n", "time": "3:2" }, + { "pitch": "F4", "duration": "16n", "time": "3:2.25" }, + { "pitch": "D4", "duration": "16n", "time": "3:2.5" }, + { "pitch": "F4", "duration": "16n", "time": "3:2.75" }, + { "pitch": "A4", "duration": "16n", "time": "3:3" }, + { "pitch": "D5", "duration": "16n", "time": "3:3.25" }, + { "pitch": "F5", "duration": "16n", "time": "3:3.5" }, + { "pitch": "A5", "duration": "16n", "time": "3:3.75" } + ] + }, + { + "name": "Playful Melody", + "instrument": { + "type": "PolySynth", + "options": { + "oscillator": { "type": "sine" }, + "envelope": { "attack": 0.05, "decay": 0.3, "sustain": 0.4, "release": 0.8 } + } + }, + "effects": [ + { "type": "Freeverb", "options": { "roomSize": 0.7, "wet": 0.3 } } + ], + "volume": -10, + "notes": [ + { "pitch": ["E4", "G4", "C5"], "duration": "4n", "time": "0:0" }, + { "pitch": ["F4", "A4", "C5"], "duration": "4n", "time": "0:1" }, + { "pitch": ["G4", "B4", "D5"], "duration": "4n", "time": "0:2" }, + { "pitch": ["E4", "G4", "C5"], "duration": "4n", "time": "0:3" }, + { "pitch": ["F4", "A4", "C5"], "duration": "4n", "time": "1:0" }, + { "pitch": ["G4", "B4", "D5"], "duration": "4n", "time": "1:1" }, + { "pitch": ["A4", "C5", "E5"], "duration": "4n", "time": "1:2" }, + { "pitch": ["G4", "B4", "D5"], "duration": "4n", "time": "1:3" }, + { "pitch": ["E4", "G4", "C5"], "duration": "4n", "time": "2:0" }, + { "pitch": ["F4", "A4", "C5"], "duration": "4n", "time": "2:1" }, + { "pitch": ["G4", "B4", "D5"], "duration": "4n", "time": "2:2" }, + { "pitch": ["E4", "G4", "C5"], "duration": "4n", "time": "2:3" }, + { "pitch": ["F4", "A4", "C5"], "duration": "4n", "time": "3:0" }, + { "pitch": ["G4", "B4", "D5"], "duration": "4n", "time": "3:1" }, + { "pitch": ["A4", "C5", "E5"], "duration": "2n", "time": "3:2" } + ] + } + ] + } \ No newline at end of file diff --git a/music_composer/ball-kicked-effect.json b/music_composer/ball-kicked-effect.json new file mode 100644 index 0000000..9bb581b --- /dev/null +++ b/music_composer/ball-kicked-effect.json @@ -0,0 +1,62 @@ +{ + "tempo": 120, + "timeSignature": [4, 4], + "tracks": [ + { + "name": "Ball Impact", + "instrument": { + "type": "MembraneSynth", + "options": { + "pitchDecay": 0.05, + "octaves": 2, + "oscillator": { + "type": "sine" + }, + "envelope": { + "attack": 0.001, + "decay": 0.4, + "sustain": 0.01, + "release": 0.4, + "attackCurve": "exponential" + } + } + }, + "volume": 0, + "notes": [ + {"time": "0:0", "duration": "8n", "pitch": "C2"} + ] + }, + { + "name": "Air Whoosh", + "instrument": { + "type": "NoiseSynth", + "options": { + "noise": { + "type": "white" + }, + "envelope": { + "attack": 0.005, + "decay": 0.1, + "sustain": 0, + "release": 0.1 + } + } + }, + "effects": [ + { + "type": "Filter", + "options": { + "frequency": 800, + "type": "lowpass", + "rolloff": -12, + "Q": 1 + } + } + ], + "volume": -20, + "notes": [ + {"time": "0:0", "duration": "16n"} + ] + } + ] +} diff --git a/music_composer/composer.html b/music_composer/composer.html deleted file mode 100644 index 3b47ac1..0000000 --- a/music_composer/composer.html +++ /dev/null @@ -1,203 +0,0 @@ - - - - - - - Configurable 8-bit RPG Music Player - - - - -
-

Configurable 8-bit RPG Music Player

- - -

Current Section: Intro

-
-
-
-

Beat: 1 / 36

-
- - - - \ No newline at end of file diff --git a/music_composer/folk-song-json.json b/music_composer/folk-song-json.json new file mode 100644 index 0000000..378280b --- /dev/null +++ b/music_composer/folk-song-json.json @@ -0,0 +1,103 @@ +{ + "tempo": 110, + "timeSignature": [3, 4], + "tracks": [ + { + "name": "Melody", + "instrument": { + "type": "AMSynth", + "options": { + "harmonicity": 2, + "oscillator": { "type": "sine" }, + "envelope": { "attack": 0.01, "decay": 0.1, "sustain": 0.9, "release": 0.1 }, + "modulation": { "type": "square" } + } + }, + "effects": [ + { "type": "Freeverb", "options": { "roomSize": 0.3, "dampening": 1000, "wet": 0.2 } } + ], + "volume": -8, + "notes": [ + { "pitch": "F#4", "duration": "8n", "time": "0:0" }, + { "pitch": "G4", "duration": "8n.", "time": "0:0.5" }, + { "pitch": "A4", "duration": "16n", "time": "0:1.25" }, + { "pitch": "B4", "duration": "4n", "time": "0:1.5" }, + { "pitch": "B4", "duration": "16n", "time": "0:2.5" }, + { "pitch": "C5", "duration": "16n", "time": "0:2.75" }, + { "pitch": "B4", "duration": "8n", "time": "0:3" }, + { "pitch": "A4", "duration": "8n.", "time": "0:3.5" }, + { "pitch": "F#4", "duration": "16n", "time": "0:4.25" }, + { "pitch": "D4", "duration": "4n.", "time": "1:0" }, + { "pitch": "C#4", "duration": "8n", "time": "1:1.5" }, + { "pitch": "D4", "duration": "8n.", "time": "1:2" }, + { "pitch": "F#4", "duration": "16n", "time": "1:2.75" }, + { "pitch": "A4", "duration": "4n", "time": "1:3" }, + { "pitch": "A4", "duration": "16n", "time": "2:0" }, + { "pitch": "B4", "duration": "16n", "time": "2:0.25" }, + { "pitch": "A4", "duration": "8n", "time": "2:0.5" }, + { "pitch": "F#4", "duration": "4n", "time": "2:1" }, + { "pitch": "G4", "duration": "4n.", "time": "2:2.5" }, + { "pitch": "F#4", "duration": "8n", "time": "3:1" }, + { "pitch": "G4", "duration": "8n.", "time": "3:1.5" }, + { "pitch": "A4", "duration": "16n", "time": "3:2.25" }, + { "pitch": "B4", "duration": "4n", "time": "3:2.5" }, + { "pitch": "B4", "duration": "16n", "time": "3:3.5" }, + { "pitch": "C5", "duration": "16n", "time": "3:3.75" }, + { "pitch": "B4", "duration": "8n", "time": "4:0" }, + { "pitch": "A4", "duration": "8n.", "time": "4:0.5" }, + { "pitch": "F#4", "duration": "16n", "time": "4:1.25" } + ] + }, + { + "name": "Harmony", + "instrument": { + "type": "PolySynth", + "options": { + "oscillator": { "type": "triangle" }, + "envelope": { "attack": 0.02, "decay": 0.1, "sustain": 0.3, "release": 0.8 } + } + }, + "effects": [ + { "type": "Chorus", "options": { "frequency": 1.5, "delayTime": 3.5, "depth": 0.7 } } + ], + "volume": -12, + "notes": [ + { "pitch": ["G3", "B3", "D4"], "duration": "2n", "time": "0:0" }, + { "pitch": ["D3", "F#3", "A3"], "duration": "4n", "time": "0:2" }, + { "pitch": ["G3", "B3", "D4"], "duration": "2n", "time": "1:0" }, + { "pitch": ["D3", "F#3", "A3"], "duration": "4n", "time": "1:2" }, + { "pitch": ["G3", "B3", "D4"], "duration": "2n", "time": "2:0" }, + { "pitch": ["Bb3", "D4", "F4"], "duration": "4n", "time": "2:2" }, + { "pitch": ["F3", "A3", "C4"], "duration": "2n", "time": "3:0" }, + { "pitch": ["G3", "B3", "D4"], "duration": "4n", "time": "3:2" }, + { "pitch": ["G3", "B3", "D4"], "duration": "2n", "time": "4:0" }, + { "pitch": ["D3", "F#3", "A3"], "duration": "4n", "time": "4:2" } + ] + }, + { + "name": "Bass", + "instrument": { + "type": "FMSynth", + "options": { + "harmonicity": 1, + "modulationIndex": 5, + "oscillator": { "type": "sine" }, + "envelope": { "attack": 0.01, "decay": 0.2, "sustain": 0.8, "release": 0.1 } + } + }, + "volume": -10, + "notes": [ + { "pitch": "G2", "duration": "2n", "time": "0:0" }, + { "pitch": "D2", "duration": "4n", "time": "0:2" }, + { "pitch": "G2", "duration": "2n", "time": "1:0" }, + { "pitch": "D2", "duration": "4n", "time": "1:2" }, + { "pitch": "G2", "duration": "2n", "time": "2:0" }, + { "pitch": "Bb2", "duration": "4n", "time": "2:2" }, + { "pitch": "F2", "duration": "2n", "time": "3:0" }, + { "pitch": "G2", "duration": "4n", "time": "3:2" }, + { "pitch": "G2", "duration": "2n", "time": "4:0" }, + { "pitch": "D2", "duration": "4n", "time": "4:2" } + ] + } + ] +} diff --git a/music_composer/index.html b/music_composer/index.html new file mode 100644 index 0000000..f111c85 --- /dev/null +++ b/music_composer/index.html @@ -0,0 +1,419 @@ + + + + + + Compact Music Player + + + + + +
+

Compact Music Player

+ +
+ +
+ + + + + +
+ +
+ + +
+
+ +
+
+ + + + \ No newline at end of file diff --git a/music_composer/living-room-ambience_1.json b/music_composer/living-room-ambience_1.json new file mode 100644 index 0000000..54e39ac --- /dev/null +++ b/music_composer/living-room-ambience_1.json @@ -0,0 +1,125 @@ +{ + "tempo": 80, + "timeSignature": [4, 4], + "tracks": [ + { + "name": "Warm Pad", + "instrument": { + "type": "PolySynth", + "options": { + "oscillator": { "type": "sine" }, + "envelope": { "attack": 0.8, "decay": 0.2, "sustain": 0.8, "release": 1.5 } + } + }, + "effects": [ + { "type": "Freeverb", "options": { "roomSize": 0.7, "dampening": 3000, "wet": 0.4 } } + ], + "volume": -12, + "notes": [ + { "pitch": ["G3", "B3", "D4"], "duration": "1m", "time": "0:0" }, + { "pitch": ["C4", "E4", "G4"], "duration": "1m", "time": "1:0" }, + { "pitch": ["A3", "C4", "E4"], "duration": "1m", "time": "2:0" }, + { "pitch": ["F3", "A3", "C4"], "duration": "1m", "time": "3:0" } + ] + }, + { + "name": "Gentle Piano", + "instrument": { + "type": "PolySynth", + "options": { + "oscillator": { "type": "triangle" }, + "envelope": { "attack": 0.02, "decay": 0.1, "sustain": 0.3, "release": 1 } + } + }, + "effects": [ + { "type": "Reverb", "options": { "decay": 2, "wet": 0.3 } } + ], + "volume": -8, + "notes": [ + { "pitch": "G4", "duration": "4n", "time": "0:0" }, + { "pitch": "B4", "duration": "4n", "time": "0:1" }, + { "pitch": "D5", "duration": "4n", "time": "0:2" }, + { "pitch": "G5", "duration": "4n", "time": "0:3" }, + { "pitch": "E5", "duration": "4n", "time": "1:0" }, + { "pitch": "C5", "duration": "4n", "time": "1:1" }, + { "pitch": "G4", "duration": "4n", "time": "1:2" }, + { "pitch": "E5", "duration": "4n", "time": "1:3" }, + { "pitch": "A4", "duration": "4n", "time": "2:0" }, + { "pitch": "C5", "duration": "4n", "time": "2:1" }, + { "pitch": "E5", "duration": "4n", "time": "2:2" }, + { "pitch": "A5", "duration": "4n", "time": "2:3" }, + { "pitch": "F5", "duration": "4n", "time": "3:0" }, + { "pitch": "D5", "duration": "4n", "time": "3:1" }, + { "pitch": "A4", "duration": "4n", "time": "3:2" }, + { "pitch": "F5", "duration": "4n", "time": "3:3" } + ] + }, + { + "name": "Soft Strings", + "instrument": { + "type": "FMSynth", + "options": { + "harmonicity": 1.5, + "modulationIndex": 2, + "oscillator": { "type": "sine" }, + "envelope": { "attack": 0.3, "decay": 0.1, "sustain": 0.9, "release": 1 }, + "modulation": { "type": "triangle" }, + "modulationEnvelope": { "attack": 0.5, "decay": 0, "sustain": 1, "release": 0.8 } + } + }, + "effects": [ + { "type": "Chorus", "options": { "frequency": 1.5, "delayTime": 3.5, "depth": 0.7, "wet": 0.3 } } + ], + "volume": -15, + "notes": [ + { "pitch": "D4", "duration": "1m", "time": "0:0" }, + { "pitch": "G4", "duration": "1m", "time": "1:0" }, + { "pitch": "E4", "duration": "1m", "time": "2:0" }, + { "pitch": "A4", "duration": "1m", "time": "3:0" } + ] + }, + { + "name": "Cheerful Bass", + "instrument": { + "type": "Synth", + "options": { + "oscillator": { "type": "triangle" }, + "envelope": { "attack": 0.05, "decay": 0.2, "sustain": 0.8, "release": 0.5 } + } + }, + "volume": -10, + "notes": [ + { "pitch": "G2", "duration": "2n", "time": "0:0" }, + { "pitch": "G2", "duration": "2n", "time": "0:2" }, + { "pitch": "C3", "duration": "2n", "time": "1:0" }, + { "pitch": "C3", "duration": "2n", "time": "1:2" }, + { "pitch": "A2", "duration": "2n", "time": "2:0" }, + { "pitch": "A2", "duration": "2n", "time": "2:2" }, + { "pitch": "F2", "duration": "2n", "time": "3:0" }, + { "pitch": "F2", "duration": "2n", "time": "3:2" } + ] + }, + { + "name": "Loving Atmosphere", + "instrument": { + "type": "AMSynth", + "options": { + "harmonicity": 1.5, + "oscillator": { "type": "sine" }, + "envelope": { "attack": 1, "decay": 0.1, "sustain": 1, "release": 2 }, + "modulation": { "type": "square" }, + "modulationEnvelope": { "attack": 1, "decay": 0, "sustain": 1, "release": 1 } + } + }, + "effects": [ + { "type": "PingPongDelay", "options": { "delayTime": "8n", "feedback": 0.2, "wet": 0.1 } }, + { "type": "Tremolo", "options": { "frequency": 0.5, "depth": 0.2 } } + ], + "volume": -20, + "notes": [ + { "pitch": "B4", "duration": "2m", "time": "0:0" }, + { "pitch": "D5", "duration": "2m", "time": "2:0" } + ] + } + ] +} diff --git a/music_composer/magical-whoosh-effect_2json b/music_composer/magical-whoosh-effect_2json new file mode 100644 index 0000000..bf283b5 --- /dev/null +++ b/music_composer/magical-whoosh-effect_2json @@ -0,0 +1,216 @@ +{ + "tempo": 120, + "timeSignature": [4, 4], + "tracks": [ + { + "name": "Enhanced Sparkle", + "instrument": { + "type": "PolySynth", + "options": { + "oscillator": { + "type": "sine" + }, + "envelope": { + "attack": 0.001, + "decay": 0.1, + "sustain": 0, + "release": 0.5 + } + } + }, + "effects": [ + { + "type": "PingPongDelay", + "options": { + "delayTime": "32n", + "feedback": 0.2, + "wet": 0.3 + } + }, + { + "type": "Freeverb", + "options": { + "roomSize": 0.8, + "dampening": 3000, + "wet": 0.3 + } + } + ], + "volume": -10, + "notes": [ + {"time": "0:0", "duration": "32n", "pitch": "C7"}, + {"time": "0:0:0.5", "duration": "32n", "pitch": "E7"}, + {"time": "0:0:1", "duration": "32n", "pitch": "G7"}, + {"time": "0:0:1.5", "duration": "32n", "pitch": "B7"}, + {"time": "0:0:2", "duration": "32n", "pitch": "D8"}, + {"time": "0:0:2.5", "duration": "32n", "pitch": "F8"}, + {"time": "0:0:3", "duration": "32n", "pitch": "A8"}, + {"time": "0:0:3.5", "duration": "32n", "pitch": "C9"}, + {"time": "0:1", "duration": "32n", "pitch": "B8"}, + {"time": "0:1:0.5", "duration": "32n", "pitch": "G8"}, + {"time": "0:1:1", "duration": "32n", "pitch": "E8"}, + {"time": "0:1:1.5", "duration": "32n", "pitch": "C8"}, + {"time": "0:1:2", "duration": "32n", "pitch": "A7"}, + {"time": "0:1:2.5", "duration": "32n", "pitch": "F7"}, + {"time": "0:1:3", "duration": "32n", "pitch": "D7"}, + {"time": "0:1:3.5", "duration": "32n", "pitch": "B6"} + ] + }, + { + "name": "Electrical Zaps", + "instrument": { + "type": "NoiseSynth", + "options": { + "noise": { + "type": "white" + }, + "envelope": { + "attack": 0.001, + "decay": 0.05, + "sustain": 0, + "release": 0.05 + } + } + }, + "effects": [ + { + "type": "BitCrusher", + "options": { + "bits": 4, + "wet": 0.5 + } + }, + { + "type": "Filter", + "options": { + "frequency": 3000, + "type": "bandpass", + "rolloff": -12, + "Q": 8 + } + } + ], + "volume": -15, + "notes": [ + {"time": "0:0", "duration": "32n"}, + {"time": "0:0:1", "duration": "32n"}, + {"time": "0:0:2", "duration": "32n"}, + {"time": "0:0:3", "duration": "32n"}, + {"time": "0:1", "duration": "32n"}, + {"time": "0:1:1", "duration": "32n"}, + {"time": "0:1:2", "duration": "32n"}, + {"time": "0:1:3", "duration": "32n"} + ] + }, + { + "name": "Improved Whoosh", + "instrument": { + "type": "FMSynth", + "options": { + "modulationIndex": 10, + "harmonicity": 3.5, + "oscillator": { + "type": "custom", + "partials": [1, 0.8, 0.5, 0.3, 0.2] + }, + "modulation": { + "type": "square" + }, + "envelope": { + "attack": 0.01, + "decay": 0.2, + "sustain": 0.1, + "release": 0.8 + }, + "modulationEnvelope": { + "attack": 0.05, + "decay": 0.2, + "sustain": 0.2, + "release": 0.5 + } + } + }, + "effects": [ + { + "type": "AutoFilter", + "options": { + "frequency": "16n", + "type": "sine", + "depth": 0.8, + "baseFrequency": 150, + "octaves": 4, + "filter": { + "type": "lowpass", + "rolloff": -12, + "Q": 2 + }, + "wet": 1 + } + }, + { + "type": "Phaser", + "options": { + "frequency": 0.8, + "octaves": 3, + "baseFrequency": 1000, + "wet": 0.4 + } + } + ], + "volume": -8, + "notes": [ + {"time": "0:0", "duration": "8n", "pitch": "C3"}, + {"time": "0:0:1", "duration": "8n", "pitch": "E3"}, + {"time": "0:0:2", "duration": "8n", "pitch": "G3"}, + {"time": "0:0:3", "duration": "8n", "pitch": "B3"}, + {"time": "0:1", "duration": "8n", "pitch": "D4"}, + {"time": "0:1:1", "duration": "8n", "pitch": "F4"}, + {"time": "0:1:2", "duration": "8n", "pitch": "A4"}, + {"time": "0:1:3", "duration": "8n", "pitch": "C5"} + ] + }, + { + "name": "Ethereal Pad", + "instrument": { + "type": "AMSynth", + "options": { + "harmonicity": 3, + "oscillator": { + "type": "sine" + }, + "envelope": { + "attack": 0.1, + "decay": 0.2, + "sustain": 0.8, + "release": 1.5 + }, + "modulation": { + "type": "square" + }, + "modulationEnvelope": { + "attack": 0.5, + "decay": 0, + "sustain": 1, + "release": 0.5 + } + } + }, + "effects": [ + { + "type": "Phaser", + "options": { + "frequency": 0.5, + "octaves": 3, + "baseFrequency": 1000, + "wet": 0.3 + } + } + ], + "volume": -20, + "notes": [ + {"time": "0:0", "duration": "2n", "pitch": "G4"}, + {"time": "0:1", "duration": "2n", "pitch": "E5"} + ] + } + ] +} diff --git a/music_composer/minified_output.txt b/music_composer/minified_output.txt new file mode 100644 index 0000000..885365e --- /dev/null +++ b/music_composer/minified_output.txt @@ -0,0 +1,11 @@ +140;4/4 +T:Bouncy%20Lead;Synth{oscillator:%7B%22type%22%3A%22square%22%7D,envelope:%7B%22attack%22%3A0.02%2C%22decay%22%3A0.1%2C%22sustain%22%3A0.3%2C%22release%22%3A0.1%7D};-8;FeedbackDelay{delayTime:%228n%22,feedback:0.2,wet:0.3} +N:C5,8n,0:0;E5,8n,0:0.5;G5,8n,0:1;C6,8n,0:1.5;B5,8n,0:2;G5,8n,0:2.5;A5,8n,0:3;F5,8n,0:3.5;E5,8n,1:0;G5,8n,1:0.5;C6,8n,1:1;B5,8n,1:1.5;A5,8n,1:2;G5,8n,1:2.5;F5,8n,1:3;D5,8n,1:3.5;E5,8n,2:0;G5,8n,2:0.5;A5,8n,2:1;C6,8n,2:1.5;B5,8n,2:2;A5,8n,2:2.5;G5,8n,2:3;E5,8n,2:3.5;F5,8n,3:0;A5,8n,3:0.5;C6,8n,3:1;B5,8n,3:1.5;A5,8n,3:2;G5,8n,3:2.5;F5,8n,3:3;D5,8n,3:3.5 +T:Bubbly%20Bass;FMSynth{harmonicity:3,modulationIndex:10,oscillator:%7B%22type%22%3A%22sine%22%7D,envelope:%7B%22attack%22%3A0.01%2C%22decay%22%3A0.2%2C%22sustain%22%3A0.8%2C%22release%22%3A0.1%7D,modulation:%7B%22type%22%3A%22square%22%7D,modulationEnvelope:%7B%22attack%22%3A0.5%2C%22decay%22%3A0%2C%22sustain%22%3A1%2C%22release%22%3A0.5%7D};-12;AutoWah{frequency:%228n%22,depth:0.6,baseFrequency:200,octaves:2} +N:C3,4n,0:0;G3,4n,0:1;E3,4n,0:2;F3,4n,0:3;C3,4n,1:0;G3,4n,1:1;A3,4n,1:2;F3,4n,1:3;E3,4n,2:0;G3,4n,2:1;A3,4n,2:2;B3,4n,2:3;C3,4n,3:0;A3,4n,3:1;F3,4n,3:2;G3,4n,3:3 +T:Playful%20Percussion;MembraneSynth;-6; +N:C2,8n,0:0;C2,8n,0:1;C2,8n,0:2;C2,8n,0:3;C2,8n,1:0;C2,8n,1:1;C2,8n,1:2;C2,8n,1:3;C2,8n,2:0;C2,8n,2:1;C2,8n,2:2;C2,16n,2:3;C2,16n,2:3.5;C2,8n,3:0;C2,8n,3:1;C2,8n,3:2;C2,16n,3:3;C2,16n,3:3.5 +T:Sparkly%20Arpeggio;AMSynth{harmonicity:3,oscillator:%7B%22type%22%3A%22triangle%22%7D,envelope:%7B%22attack%22%3A0.001%2C%22decay%22%3A0.1%2C%22sustain%22%3A0.1%2C%22release%22%3A0.5%7D,modulation:%7B%22type%22%3A%22square%22%7D};-15;Chorus{frequency:4,delayTime:2.5,depth:0.7}|Freeverb{decay:1.5,wet:0.2} +N:C4,16n,0:0;E4,16n,0:0.25;G4,16n,0:0.5;C5,16n,0:0.75;E5,16n,0:1;G5,16n,0:1.25;E5,16n,0:1.5;C5,16n,0:1.75;G4,16n,0:2;E4,16n,0:2.25;C4,16n,0:2.5;E4,16n,0:2.75;G4,16n,0:3;C5,16n,0:3.25;E5,16n,0:3.5;G5,16n,0:3.75;F4,16n,1:0;A4,16n,1:0.25;C5,16n,1:0.5;F5,16n,1:0.75;A5,16n,1:1;C6,16n,1:1.25;A5,16n,1:1.5;F5,16n,1:1.75;C5,16n,1:2;A4,16n,1:2.25;F4,16n,1:2.5;A4,16n,1:2.75;C5,16n,1:3;F5,16n,1:3.25;A5,16n,1:3.5;C6,16n,1:3.75;E4,16n,2:0;G4,16n,2:0.25;B4,16n,2:0.5;E5,16n,2:0.75;G5,16n,2:1;B5,16n,2:1.25;G5,16n,2:1.5;E5,16n,2:1.75;B4,16n,2:2;G4,16n,2:2.25;E4,16n,2:2.5;G4,16n,2:2.75;B4,16n,2:3;E5,16n,2:3.25;G5,16n,2:3.5;B5,16n,2:3.75;D4,16n,3:0;F4,16n,3:0.25;A4,16n,3:0.5;D5,16n,3:0.75;F5,16n,3:1;A5,16n,3:1.25;F5,16n,3:1.5;D5,16n,3:1.75;A4,16n,3:2;F4,16n,3:2.25;D4,16n,3:2.5;F4,16n,3:2.75;A4,16n,3:3;D5,16n,3:3.25;F5,16n,3:3.5;A5,16n,3:3.75 +T:Playful%20Melody;PolySynth{oscillator:%7B%22type%22%3A%22sine%22%7D,envelope:%7B%22attack%22%3A0.05%2C%22decay%22%3A0.3%2C%22sustain%22%3A0.4%2C%22release%22%3A0.8%7D};-10;Freeverb{roomSize:0.7,wet:0.3} +N:E4,G4,C5,4n,0:0;F4,A4,C5,4n,0:1;G4,B4,D5,4n,0:2;E4,G4,C5,4n,0:3;F4,A4,C5,4n,1:0;G4,B4,D5,4n,1:1;A4,C5,E5,4n,1:2;G4,B4,D5,4n,1:3;E4,G4,C5,4n,2:0;F4,A4,C5,4n,2:1;G4,B4,D5,4n,2:2;E4,G4,C5,4n,2:3;F4,A4,C5,4n,3:0;G4,B4,D5,4n,3:1;A4,C5,E5,2n,3:2 \ No newline at end of file diff --git a/music_composer/minified_player.html b/music_composer/minified_player.html new file mode 100644 index 0000000..f111c85 --- /dev/null +++ b/music_composer/minified_player.html @@ -0,0 +1,419 @@ + + + + + + Compact Music Player + + + + + +
+

Compact Music Player

+ +
+ +
+ + + + + +
+ +
+ + +
+
+ +
+
+ + + + \ No newline at end of file diff --git a/music_composer/music.json b/music_composer/music.json deleted file mode 100644 index a6b4f3e..0000000 --- a/music_composer/music.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "noteFrequencies": { - "C2": 65.41, "C#2": 69.30, "D2": 73.42, "D#2": 77.78, "E2": 82.41, "F2": 87.31, "F#2": 92.50, "G2": 98.00, "G#2": 103.83, "A2": 110.00, "A#2": 116.54, "B2": 123.47, - "C3": 130.81, "C#3": 138.59, "D3": 146.83, "D#3": 155.56, "E3": 164.81, "F3": 174.61, "F#3": 185.00, "G3": 196.00, "G#3": 207.65, "A3": 220.00, "A#3": 233.08, "B3": 246.94, - "C4": 261.63, "C#4": 277.18, "D4": 293.66, "D#4": 311.13, "E4": 329.63, "F4": 349.23, "F#4": 369.99, "G4": 392.00, "G#4": 415.30, "A4": 440.00, "A#4": 466.16, "B4": 493.88, - "C5": 523.25, "C#5": 554.37, "D5": 587.33, "D#5": 622.25, "E5": 659.25, "F5": 698.46, "F#5": 739.99, "G5": 783.99, "G#5": 830.61, "A5": 880.00, "A#5": 932.33, "B5": 987.77, - "C6": 1046.50, "C#6": 1108.73, "D6": 1174.66, "D#6": 1244.51, "E6": 1318.51, "F6": 1396.91 - }, - "soundTypes": { - "melody": { "type": "square", "volume": 0.1 }, - "harmony": { "type": "triangle", "volume": 0.08 }, - "bass": { "type": "sawtooth", "volume": 0.12 } - }, - "percussionTypes": { - "kick": { "type": "sine", "frequency": 150, "frequencyEnd": 0.01, "volume": 0.1 }, - "hihat": { "type": "square", "frequency": 600, "volume": 0.1 } - }, - "composition": [ - { "melody": { "note": "G4", "duration": 0.5 }, "harmony": { "note": "D4", "duration": 0.5 }, "bass": { "note": "G3", "duration": 0.5 }, "percussion": { "type": "kick", "duration": 0.5 } }, - { "melody": { "note": "G4", "duration": 0.5 }, "harmony": { "note": "D4", "duration": 0.5 }, "bass": { "note": "G3", "duration": 0.5 }, "percussion": { "type": "hihat", "duration": 0.25 } }, - { "melody": { "note": "E5", "duration": 0.5 }, "harmony": { "note": "B4", "duration": 0.5 }, "bass": { "note": "E4", "duration": 0.5 }, "percussion": { "type": "kick", "duration": 0.5 } }, - { "melody": { "note": "E5", "duration": 0.5 }, "harmony": { "note": "B4", "duration": 0.5 }, "bass": { "note": "E4", "duration": 0.5 }, "percussion": { "type": "hihat", "duration": 0.25 } }, - { "melody": { "note": "D5", "duration": 0.5 }, "harmony": { "note": "A4", "duration": 0.5 }, "bass": { "note": "D4", "duration": 0.5 }, "percussion": { "type": "kick", "duration": 0.5 } }, - { "melody": { "note": "D5", "duration": 0.5 }, "harmony": { "note": "A4", "duration": 0.5 }, "bass": { "note": "D4", "duration": 0.5 }, "percussion": { "type": "hihat", "duration": 0.25 } }, - { "melody": { "note": "C5", "duration": 0.5 }, "harmony": { "note": "G4", "duration": 0.5 }, "bass": { "note": "C4", "duration": 0.5 }, "percussion": { "type": "kick", "duration": 0.5 } }, - { "melody": { "note": "C5", "duration": 0.5 }, "harmony": { "note": "G4", "duration": 0.5 }, "bass": { "note": "C4", "duration": 0.5 }, "percussion": { "type": "hihat", "duration": 0.25 } }, - { "melody": { "note": "G4", "duration": 0.5 }, "harmony": { "note": "D4", "duration": 0.5 }, "bass": { "note": "G3", "duration": 0.5 }, "percussion": { "type": "kick", "duration": 0.5 } }, - { "melody": { "note": "G4", "duration": 0.5 }, "harmony": { "note": "D4", "duration": 0.5 }, "bass": { "note": "G3", "duration": 0.5 }, "percussion": { "type": "hihat", "duration": 0.25 } }, - { "melody": { "note": "E5", "duration": 0.5 }, "harmony": { "note": "B4", "duration": 0.5 }, "bass": { "note": "E4", "duration": 0.5 }, "percussion": { "type": "kick", "duration": 0.5 } }, - { "melody": { "note": "E5", "duration": 0.5 }, "harmony": { "note": "B4", "duration": 0.5 }, "bass": { "note": "E4", "duration": 0.5 }, "percussion": { "type": "hihat", "duration": 0.25 } }, - { "melody": { "note": "D5", "duration": 0.5 }, "harmony": { "note": "A4", "duration": 0.5 }, "bass": { "note": "D4", "duration": 0.5 }, "percussion": { "type": "kick", "duration": 0.5 } }, - { "melody": { "note": "D5", "duration": 0.5 }, "harmony": { "note": "A4", "duration": 0.5 }, "bass": { "note": "D4", "duration": 0.5 }, "percussion": { "type": "hihat", "duration": 0.25 } }, - { "melody": { "note": "C5", "duration": 0.5 }, "harmony": { "note": "G4", "duration": 0.5 }, "bass": { "note": "C4", "duration": 0.5 }, "percussion": { "type": "kick", "duration": 0.5 } }, - { "melody": { "note": "C5", "duration": 0.5 }, "harmony": { "note": "G4", "duration": 0.5 }, "bass": { "note": "C4", "duration": 0.5 }, "percussion": { "type": "hihat", "duration": 0.25 } }, - { "melody": { "note": "G4", "duration": 0.5 }, "harmony": { "note": "D4", "duration": 0.5 }, "bass": { "note": "G3", "duration": 0.5 }, "percussion": { "type": "kick", "duration": 0.5 } } - ], - "sections": [ - { "name": "Intro", "start": 0, "end": 2 }, - { "name": "Chorus", "start": 2, "end": 6 }, - { "name": "Verse", "start": 6, "end": 10 }, - { "name": "Chorus Repeat", "start": 10, "end": 14 }, - { "name": "Outro", "start": 14, "end": 16 } - ] -} diff --git a/music_composer/output.json b/music_composer/output.json new file mode 100644 index 0000000..15c770c --- /dev/null +++ b/music_composer/output.json @@ -0,0 +1,59 @@ +{ + "tempo": 120, + "timeSignature": [ + 4, + 4 + ], + "tracks": [ + { + "name": "Ball Impact", + "instrument": { + "type": "MembraneSynth", + "options": {} + }, + "volume": 0, + "notes": [ + { + "pitch": [ + "C2" + ], + "duration": "8n", + "time": "0:0" + } + ] + }, + { + "name": "Air Whoosh", + "instrument": { + "type": "NoiseSynth", + "options": { + "noise:type": "whit" + } + }, + "volume": -20, + "notes": [ + { + "pitch": [ + "un", + "de", + "fi", + "ne" + ], + "duration": "16n", + "time": "0:0" + } + ], + "effects": [ + { + "type": "Filter", + "options": { + "frequency": 800, + "type": "lowpass", + "rolloff": -12, + "Q": 1 + } + } + ] + } + ] +} \ No newline at end of file diff --git a/music_composer/output.txt b/music_composer/output.txt new file mode 100644 index 0000000..87a6e8b --- /dev/null +++ b/music_composer/output.txt @@ -0,0 +1,5 @@ +120;4/4 +T:Ball Impact;MembraneSynth{pitchDecay:0.05;octaves:2;oscillator:type,sine;envelope:attack,0.001,decay,0.4,sustain,0.01,release,0.4,attackCurve,exponential};0 +N:C2,8n,0:0 +T:Air Whoosh;NoiseSynth{noise:type,white;envelope:attack,0.005,decay,0.1,sustain,0,release,0.1};Filter{frequency,800;type,lowpass;rolloff,-12;Q,1};-20 +N:undefined,16n,0:0 diff --git a/music_composer/player.html b/music_composer/player.html new file mode 100644 index 0000000..2edf18b --- /dev/null +++ b/music_composer/player.html @@ -0,0 +1,339 @@ + + + + + + Advanced Music Player with JSON Score Upload and Track Visualization + + + + + +
+

Advanced Music Player

+ +
+
+ + + + + +
+ +
+ + +
+
+ +
+
+ + + + diff --git a/music_composer/pokemon-battle-start.json b/music_composer/pokemon-battle-start.json new file mode 100644 index 0000000..7517654 --- /dev/null +++ b/music_composer/pokemon-battle-start.json @@ -0,0 +1,114 @@ +{ + "tempo": 150, + "timeSignature": [4, 4], + "tracks": [ + { + "name": "Main Melody", + "instrument": { + "type": "Synth", + "options": { + "oscillator": { "type": "sawtooth" }, + "envelope": { "attack": 0.01, "decay": 0.1, "sustain": 0.3, "release": 0.1 } + } + }, + "volume": -8, + "notes": [ + { "pitch": "G4", "duration": "8n", "time": "0:0" }, + { "pitch": "G4", "duration": "8n", "time": "0:0.5" }, + { "pitch": "C5", "duration": "4n", "time": "0:1" }, + { "pitch": "G4", "duration": "8n", "time": "0:2" }, + { "pitch": "G4", "duration": "8n", "time": "0:2.5" }, + { "pitch": "C5", "duration": "4n", "time": "0:3" }, + { "pitch": "E5", "duration": "8n", "time": "1:0" }, + { "pitch": "F5", "duration": "8n", "time": "1:0.5" }, + { "pitch": "G5", "duration": "4n", "time": "1:1" }, + { "pitch": "C6", "duration": "2n", "time": "1:2" } + ] + }, + { + "name": "Bass", + "instrument": { + "type": "Synth", + "options": { + "oscillator": { "type": "triangle" }, + "envelope": { "attack": 0.05, "decay": 0.2, "sustain": 0.4, "release": 0.1 } + } + }, + "volume": -12, + "notes": [ + { "pitch": "C3", "duration": "4n", "time": "0:0" }, + { "pitch": "G3", "duration": "4n", "time": "0:1" }, + { "pitch": "C3", "duration": "4n", "time": "0:2" }, + { "pitch": "G3", "duration": "4n", "time": "0:3" }, + { "pitch": "C3", "duration": "4n", "time": "1:0" }, + { "pitch": "G3", "duration": "4n", "time": "1:1" }, + { "pitch": "F3", "duration": "4n", "time": "1:2" }, + { "pitch": "G3", "duration": "4n", "time": "1:3" } + ] + }, + { + "name": "Percussion", + "instrument": { "type": "MembraneSynth" }, + "volume": -6, + "notes": [ + { "pitch": "C2", "duration": "8n", "time": "0:0" }, + { "pitch": "C2", "duration": "8n", "time": "0:1" }, + { "pitch": "C2", "duration": "8n", "time": "0:2" }, + { "pitch": "C2", "duration": "8n", "time": "0:3" }, + { "pitch": "C2", "duration": "8n", "time": "1:0" }, + { "pitch": "C2", "duration": "8n", "time": "1:1" }, + { "pitch": "C2", "duration": "16n", "time": "1:2" }, + { "pitch": "C2", "duration": "16n", "time": "1:2.25" }, + { "pitch": "C2", "duration": "16n", "time": "1:2.5" }, + { "pitch": "C2", "duration": "16n", "time": "1:2.75" }, + { "pitch": "C2", "duration": "4n", "time": "1:3" } + ] + }, + { + "name": "Arpeggiated Synth", + "instrument": { + "type": "AMSynth", + "options": { + "harmonicity": 2, + "oscillator": { "type": "square" }, + "envelope": { "attack": 0.001, "decay": 0.1, "sustain": 0.1, "release": 0.5 } + } + }, + "volume": -15, + "notes": [ + { "pitch": "C5", "duration": "32n", "time": "0:0" }, + { "pitch": "E5", "duration": "32n", "time": "0:0.125" }, + { "pitch": "G5", "duration": "32n", "time": "0:0.25" }, + { "pitch": "C6", "duration": "32n", "time": "0:0.375" }, + { "pitch": "C5", "duration": "32n", "time": "0:1" }, + { "pitch": "E5", "duration": "32n", "time": "0:1.125" }, + { "pitch": "G5", "duration": "32n", "time": "0:1.25" }, + { "pitch": "C6", "duration": "32n", "time": "0:1.375" }, + { "pitch": "C5", "duration": "32n", "time": "0:2" }, + { "pitch": "F5", "duration": "32n", "time": "0:2.125" }, + { "pitch": "A5", "duration": "32n", "time": "0:2.25" }, + { "pitch": "C6", "duration": "32n", "time": "0:2.375" }, + { "pitch": "C5", "duration": "32n", "time": "0:3" }, + { "pitch": "G5", "duration": "32n", "time": "0:3.125" }, + { "pitch": "B5", "duration": "32n", "time": "0:3.25" }, + { "pitch": "D6", "duration": "32n", "time": "0:3.375" }, + { "pitch": "C5", "duration": "32n", "time": "1:0" }, + { "pitch": "E5", "duration": "32n", "time": "1:0.125" }, + { "pitch": "G5", "duration": "32n", "time": "1:0.25" }, + { "pitch": "C6", "duration": "32n", "time": "1:0.375" }, + { "pitch": "C5", "duration": "32n", "time": "1:1" }, + { "pitch": "F5", "duration": "32n", "time": "1:1.125" }, + { "pitch": "A5", "duration": "32n", "time": "1:1.25" }, + { "pitch": "C6", "duration": "32n", "time": "1:1.375" }, + { "pitch": "C5", "duration": "32n", "time": "1:2" }, + { "pitch": "E5", "duration": "32n", "time": "1:2.125" }, + { "pitch": "G5", "duration": "32n", "time": "1:2.25" }, + { "pitch": "C6", "duration": "32n", "time": "1:2.375" }, + { "pitch": "C5", "duration": "32n", "time": "1:3" }, + { "pitch": "E5", "duration": "32n", "time": "1:3.125" }, + { "pitch": "G5", "duration": "32n", "time": "1:3.25" }, + { "pitch": "C6", "duration": "32n", "time": "1:3.375" } + ] + } + ] +} diff --git a/music_composer/pokemon-battle-start_1.json b/music_composer/pokemon-battle-start_1.json new file mode 100644 index 0000000..9b57a28 --- /dev/null +++ b/music_composer/pokemon-battle-start_1.json @@ -0,0 +1,124 @@ +{ + "tempo": 160, + "timeSignature": [4, 4], + "tracks": [ + { + "name": "Scary Lead", + "instrument": { + "type": "FMSynth", + "options": { + "modulationIndex": 20, + "harmonicity": 0.5, + "oscillator": { "type": "square" }, + "envelope": { "attack": 0.01, "decay": 0.2, "sustain": 0.2, "release": 0.2 } + } + }, + "effects": [ + { "type": "Distortion", "options": { "distortion": 0.8, "wet": 0.5 } }, + { "type": "PingPongDelay", "options": { "delayTime": "16n", "feedback": 0.6, "wet": 0.2 } } + ], + "volume": -8, + "notes": [ + { "pitch": "C5", "duration": "32n", "time": "0:0" }, + { "pitch": "C#5", "duration": "32n", "time": "0:0.125" }, + { "pitch": "C5", "duration": "8n", "time": "0:0.25" }, + { "pitch": "G4", "duration": "8n", "time": "0:1" }, + { "pitch": "G#4", "duration": "8n", "time": "0:1.5" }, + { "pitch": "A4", "duration": "8n", "time": "0:2" }, + { "pitch": "D#5", "duration": "8n", "time": "0:3" }, + { "pitch": "E5", "duration": "4n", "time": "0:3.5" }, + { "pitch": "C6", "duration": "8n", "time": "1:0" }, + { "pitch": "G5", "duration": "8n", "time": "1:1" }, + { "pitch": "F#5", "duration": "8n", "time": "1:2" }, + { "pitch": "G5", "duration": "8n", "time": "1:3" } + ] + }, + { + "name": "Ominous Bass", + "instrument": { + "type": "Synth", + "options": { + "oscillator": { "type": "triangle" }, + "envelope": { "attack": 0.05, "decay": 0.3, "sustain": 0.4, "release": 0.3 } + } + }, + "effects": [ + { "type": "Tremolo", "options": { "frequency": 10, "depth": 0.7 } } + ], + "volume": -12, + "notes": [ + { "pitch": "C2", "duration": "2n", "time": "0:0" }, + { "pitch": "B1", "duration": "4n", "time": "0:2" }, + { "pitch": "A#1", "duration": "4n", "time": "0:3" }, + { "pitch": "A1", "duration": "2n", "time": "1:0" } + ] + }, + { + "name": "Sudden Hits", + "instrument": { + "type": "MembraneSynth", + "options": { + "pitchDecay": 0.1, + "octaves": 6, + "oscillator": { "type": "sine" }, + "envelope": { "attack": 0.001, "decay": 0.2, "sustain": 0 } + } + }, + "volume": -6, + "notes": [ + { "pitch": "C2", "duration": "32n", "time": "0:0" }, + { "pitch": "C3", "duration": "32n", "time": "0:0.125" }, + { "pitch": "C1", "duration": "8n", "time": "0:2" }, + { "pitch": "C2", "duration": "8n", "time": "1:0" }, + { "pitch": "C3", "duration": "8n", "time": "1:2" } + ] + }, + { + "name": "Eerie Background", + "instrument": { + "type": "NoiseSynth", + "options": { + "noise": { "type": "white" }, + "envelope": { "attack": 0.1, "decay": 0.2, "sustain": 0.5 } + } + }, + "effects": [ + { "type": "AutoFilter", "options": { "frequency": 4, "baseFrequency": 200, "octaves": 2.6 } } + ], + "volume": -20, + "notes": [ + { "pitch": "C4", "duration": "1m", "time": "0:0" } + ] + }, + { + "name": "Suspense Builder", + "instrument": { + "type": "AMSynth", + "options": { + "harmonicity": 3, + "oscillator": { "type": "sine" }, + "envelope": { "attack": 0.1, "decay": 0.3, "sustain": 1, "release": 0.3 } + } + }, + "effects": [ + { "type": "Chorus", "options": { "frequency": 2.5, "delayTime": 3, "depth": 0.7 } }, + { "type": "Freeverb", "options": { "roomSize": 0.9, "dampening": 3000 } } + ], + "volume": -15, + "notes": [ + { "pitch": "C4", "duration": "8n", "time": "0:0" }, + { "pitch": "C#4", "duration": "8n", "time": "0:0.5" }, + { "pitch": "D4", "duration": "8n", "time": "0:1" }, + { "pitch": "D#4", "duration": "8n", "time": "0:1.5" }, + { "pitch": "E4", "duration": "8n", "time": "0:2" }, + { "pitch": "F4", "duration": "8n", "time": "0:2.5" }, + { "pitch": "F#4", "duration": "8n", "time": "0:3" }, + { "pitch": "G4", "duration": "8n", "time": "0:3.5" }, + { "pitch": "G#4", "duration": "8n", "time": "1:0" }, + { "pitch": "A4", "duration": "8n", "time": "1:1" }, + { "pitch": "A#4", "duration": "8n", "time": "1:2" }, + { "pitch": "B4", "duration": "8n", "time": "1:3" } + ] + } + ] +} diff --git a/music_composer/rainbows.json b/music_composer/rainbows.json deleted file mode 100644 index 66806eb..0000000 --- a/music_composer/rainbows.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "noteFrequencies": { - "C4": 261.63, "C#4": 277.18, "D4": 293.66, "D#4": 311.13, "E4": 329.63, "F4": 349.23, "F#4": 369.99, "G4": 392.00, "G#4": 415.30, "A4": 440.00, "A#4": 466.16, "B4": 493.88, - "C5": 523.25, "C#5": 554.37, "D5": 587.33, "D#5": 622.25, "E5": 659.25, "F5": 698.46, "F#5": 739.99, "G5": 783.99, "G#5": 830.61, "A5": 880.00, "A#5": 932.33, "B5": 987.77, - "C6": 1046.50, "C#6": 1108.73, "D6": 1174.66, "D#6": 1244.51, "E6": 1318.51, "F6": 1396.91 - }, - "soundTypes": { - "melody": { "type": "sine", "volume": 0.2 }, - "harmony": { "type": "triangle", "volume": 0.15 }, - "bass": { "type": "square", "volume": 0.1 }, - "sparkle": { "type": "sine", "volume": 0.05 } - }, - "percussionTypes": { - "chime": { "type": "sine", "frequency": 1000, "frequencyEnd": 800, "volume": 0.05 }, - "shimmer": { "type": "triangle", "frequency": 1200, "volume": 0.03 } - }, - "composition": [ - { "melody": { "note": "C5", "duration": 0.5 }, "harmony": { "note": "E5", "duration": 0.5 }, "bass": { "note": "C4", "duration": 0.5 }, "sparkle": { "note": "G6", "duration": 0.25 }, "percussion": { "type": "chime", "duration": 0.5 } }, - { "melody": { "note": "E5", "duration": 0.5 }, "harmony": { "note": "G5", "duration": 0.5 }, "bass": { "note": "C4", "duration": 0.5 }, "sparkle": { "note": "C7", "duration": 0.25 }, "percussion": { "type": "shimmer", "duration": 0.25 } }, - { "melody": { "note": "G5", "duration": 0.5 }, "harmony": { "note": "B5", "duration": 0.5 }, "bass": { "note": "E4", "duration": 0.5 }, "sparkle": { "note": "E7", "duration": 0.25 }, "percussion": { "type": "chime", "duration": 0.5 } }, - { "melody": { "note": "B5", "duration": 0.5 }, "harmony": { "note": "D6", "duration": 0.5 }, "bass": { "note": "G4", "duration": 0.5 }, "sparkle": { "note": "G7", "duration": 0.25 }, "percussion": { "type": "shimmer", "duration": 0.25 } }, - { "melody": { "note": "A5", "duration": 0.5 }, "harmony": { "note": "C6", "duration": 0.5 }, "bass": { "note": "F4", "duration": 0.5 }, "sparkle": { "note": "F7", "duration": 0.25 }, "percussion": { "type": "chime", "duration": 0.5 } }, - { "melody": { "note": "F5", "duration": 0.5 }, "harmony": { "note": "A5", "duration": 0.5 }, "bass": { "note": "D4", "duration": 0.5 }, "sparkle": { "note": "D7", "duration": 0.25 }, "percussion": { "type": "shimmer", "duration": 0.25 } }, - { "melody": { "note": "D5", "duration": 0.5 }, "harmony": { "note": "F5", "duration": 0.5 }, "bass": { "note": "B3", "duration": 0.5 }, "sparkle": { "note": "B6", "duration": 0.25 }, "percussion": { "type": "chime", "duration": 0.5 } }, - { "melody": { "note": "G5", "duration": 0.5 }, "harmony": { "note": "B5", "duration": 0.5 }, "bass": { "note": "G4", "duration": 0.5 }, "sparkle": { "note": "G7", "duration": 0.25 }, "percussion": { "type": "shimmer", "duration": 0.25 } }, - { "melody": { "note": "E5", "duration": 0.5 }, "harmony": { "note": "G5", "duration": 0.5 }, "bass": { "note": "C4", "duration": 0.5 }, "sparkle": { "note": "C7", "duration": 0.25 }, "percussion": { "type": "chime", "duration": 0.5 } }, - { "melody": { "note": "C5", "duration": 0.5 }, "harmony": { "note": "E5", "duration": 0.5 }, "bass": { "note": "A3", "duration": 0.5 }, "sparkle": { "note": "A6", "duration": 0.25 }, "percussion": { "type": "shimmer", "duration": 0.25 } }, - { "melody": { "note": "F5", "duration": 0.5 }, "harmony": { "note": "A5", "duration": 0.5 }, "bass": { "note": "F4", "duration": 0.5 }, "sparkle": { "note": "F7", "duration": 0.25 }, "percussion": { "type": "chime", "duration": 0.5 } }, - { "melody": { "note": "D5", "duration": 0.5 }, "harmony": { "note": "F5", "duration": 0.5 }, "bass": { "note": "D4", "duration": 0.5 }, "sparkle": { "note": "D7", "duration": 0.25 }, "percussion": { "type": "shimmer", "duration": 0.25 } }, - { "melody": { "note": "B4", "duration": 0.5 }, "harmony": { "note": "D5", "duration": 0.5 }, "bass": { "note": "G3", "duration": 0.5 }, "sparkle": { "note": "B6", "duration": 0.25 }, "percussion": { "type": "chime", "duration": 0.5 } }, - { "melody": { "note": "G5", "duration": 0.5 }, "harmony": { "note": "B5", "duration": 0.5 }, "bass": { "note": "G4", "duration": 0.5 }, "sparkle": { "note": "G7", "duration": 0.25 }, "percussion": { "type": "shimmer", "duration": 0.25 } }, - { "melody": { "note": "C6", "duration": 0.5 }, "harmony": { "note": "E6", "duration": 0.5 }, "bass": { "note": "C5", "duration": 0.5 }, "sparkle": { "note": "C8", "duration": 0.25 }, "percussion": { "type": "chime", "duration": 0.5 } }, - { "melody": { "note": "A5", "duration": 0.5 }, "harmony": { "note": "C6", "duration": 0.5 }, "bass": { "note": "F4", "duration": 0.5 }, "sparkle": { "note": "A7", "duration": 0.25 }, "percussion": { "type": "shimmer", "duration": 0.25 } } - ], - "sections": [ - { "name": "Red", "start": 0, "end": 2 }, - { "name": "Orange", "start": 2, "end": 4 }, - { "name": "Yellow", "start": 4, "end": 6 }, - { "name": "Green", "start": 6, "end": 8 }, - { "name": "Blue", "start": 8, "end": 10 }, - { "name": "Indigo", "start": 10, "end": 12 }, - { "name": "Violet", "start": 12, "end": 14 }, - { "name": "Rainbow", "start": 14, "end": 16 } - ] -} \ No newline at end of file diff --git a/music_composer/readme.md b/music_composer/readme.md new file mode 100644 index 0000000..9de4783 --- /dev/null +++ b/music_composer/readme.md @@ -0,0 +1,152 @@ +# Music Player Composition Format Documentation + +## Overview + +The composition format is a text-based representation of a musical piece, designed to be parsed and played by the custom music player. It consists of a header line followed by multiple track definitions. + +## Composition Structure + +``` +;