asigalov61/Godzilla-Mono-Melodies
Godzilla Mono Melodies 654k+ select monophonic melodies with accompaniment and drums from Godzilla MIDI dataset Installation and use Load dataset #=================================================================== from datasets import load_dataset #=================================================================== godzilla_mono_melodies = load_dataset('asigalov61/Godzilla-Mono-Melodies') dataset_split = 'train'… See the full description on the dataset page: https://huggingface.co/datasets/asigalov61/Godzilla-Mono-Melodies.
1486
Godzilla Mono Melodies
654k+ select monophonic melodies with accompaniment and drums from Godzilla MIDI dataset

Installation and use
Load dataset
#===================================================================
from datasets import load_dataset
#===================================================================
godzilla_mono_melodies = load_dataset('asigalov61/Godzilla-Mono-Melodies')
dataset_split = 'train'
dataset_entry_index = 0
dataset_entry = godzilla_mono_melodies[dataset_split][dataset_entry_index]
midi_hash = dataset_entry['md5']
midi_melody = dataset_entry['melody']
midi_melody_accompaniment = dataset_entry['melody_accompaniment']
print(midi_hash)
print(midi_melody[:15])
print(midi_melody_accompaniment[:15])Decode score to MIDI
#===================================================================
# !git clone --depth 1 https://github.com/asigalov61/tegridy-tools
#===================================================================
import TMIDIX
#===================================================================
def decode_to_ms_MIDI_score(midi_score):
score = []
time = 0
dur = 1
vel = 90
pitch = 60
channel = 0
patch = 0
channels_map = [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 9, 12, 13, 14, 15]
patches_map = [40, 0, 10, 19, 24, 35, 40, 52, 56, 9, 65, 73, 0, 0, 0, 0]
velocities_map = [125, 80, 100, 80, 90, 100, 100, 80, 110, 110, 110, 110, 80, 80, 80, 80]
for m in midi_score:
if 0 <= m < 256:
time += m * 16
elif 256 < m < 512:
dur = (m-256) * 16
elif 512 < m < 2048:
cha = (m-512) // 128
pitch = (m-512) % 128
channel = channels_map[cha]
patch = patches_map[channel]
vel = velocities_map[channel]
score.append(['note', time, dur, channel, pitch, vel, patch])
return score
#===================================================================
ms_MIDI_score = decode_to_ms_MIDI_score(midi_melody_accompaniment)
#===================================================================
detailed_stats = TMIDIX.Tegridy_ms_SONG_to_MIDI_Converter(ms_MIDI_score,
output_signature = midi_hash,
output_file_name = midi_hash,
track_name='Project Los Angeles'
)Citations
@misc{GodzillaMIDIDataset2025,
title = {Godzilla MIDI Dataset: Enormous, comprehensive, normalized and searchable MIDI dataset for MIR and symbolic music AI purposes},
author = {Alex Lev},
publisher = {Project Los Angeles / Tegridy Code},
year = {2025},
url = {https://huggingface.co/datasets/projectlosangeles/Godzilla-MIDI-Dataset}@misc {breadai_2025,
author = { {BreadAi} },
title = { Sourdough-midi-dataset (Revision cd19431) },
year = 2025,
url = {\url{https://huggingface.co/datasets/BreadAi/Sourdough-midi-dataset}},
doi = { 10.57967/hf/4743 },
publisher = { Hugging Face }
}