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
+
+```
+;