working TG YT TW
This commit is contained in:
BIN
midi/kimi_no_kioku_simple.mid
Normal file
BIN
midi/kimi_no_kioku_simple.mid
Normal file
Binary file not shown.
69
midi/midi.py
Normal file
69
midi/midi.py
Normal file
@@ -0,0 +1,69 @@
|
||||
from midiutil import MIDIFile
|
||||
|
||||
# Параметры
|
||||
tempo = 112 # BPM оригинала
|
||||
volume = 100
|
||||
|
||||
# Создаём MIDI файл: 1 трек
|
||||
midi = MIDIFile(1)
|
||||
track = 0
|
||||
channel = 0 # Пианино
|
||||
time = 0
|
||||
|
||||
midi.addTempo(track, time, tempo)
|
||||
|
||||
# Функция для добавления нот (note, duration в долях такта, volume)
|
||||
def add_notes(notes, duration=1, vol=volume):
|
||||
global time
|
||||
for pitch in notes if isinstance(notes, list) else [notes]:
|
||||
midi.addNote(track, channel, pitch, time, duration, vol)
|
||||
time += duration
|
||||
|
||||
# Простая версия Verse (Куплет) - 4 повторения прогрессии
|
||||
# Аккорды: Bdim7 (бас Ab), Gm6, F#m7, Bm7
|
||||
# Мелодия упрощённая, фокус на мотиве A A B B (A4=69, B4=71)
|
||||
|
||||
# Один цикл куплета (4 такта)
|
||||
for _ in range(4): # x4
|
||||
# 1. Bdim7 с басом Ab3 (44)
|
||||
add_notes(44, 1) # бас Ab3
|
||||
add_notes([71, 74, 77, 80], 0.5) # B4 D5 F5 Ab5 (пример voicing)
|
||||
add_notes([69, 69, 71, 71], 0.5) # мотив A A B B в мелодии
|
||||
|
||||
# 2. Gm6
|
||||
add_notes(43, 1) # бас G3=43
|
||||
add_notes([67, 70, 74, 76], 1) # G Bb D E
|
||||
|
||||
# 3. F#m7
|
||||
add_notes(42, 1) # бас F#3=42
|
||||
add_notes([66, 69, 73, 76], 1) # F# A C# E
|
||||
|
||||
# 4. Bm7
|
||||
add_notes(47, 1) # бас B3=47
|
||||
add_notes([71, 74, 78, 81], 1) # B D F# A (выше)
|
||||
|
||||
# Chorus (Припев) - упрощённо 4 цикла
|
||||
# Аккорды: GM7 - F#m7 - Em7 - Dmaj7
|
||||
for _ in range(4):
|
||||
# GM7
|
||||
add_notes(55, 1) # бас G3
|
||||
add_notes([71, 74, 78, 81], 1) # G B D F#
|
||||
|
||||
# F#m7
|
||||
add_notes(54, 1) # F#3
|
||||
add_notes([69, 73, 76, 78], 1)
|
||||
|
||||
# Em7
|
||||
add_notes(52, 1) # E3
|
||||
add_notes([64, 67, 71, 74], 1)
|
||||
|
||||
# Dmaj7 с развитием мелодии
|
||||
add_notes(50, 1) # D3
|
||||
add_notes([69, 71, 73, 74], 0.5) # A B C# D (развитие мотива)
|
||||
add_notes([74], 0.5) # финал
|
||||
|
||||
# Записываем в файл
|
||||
with open("kimi_no_kioku_simple.mid", "wb") as output_file:
|
||||
midi.writeFile(output_file)
|
||||
|
||||
print("MIDI файл успешно создан: kimi_no_kioku_simple.mid")
|
||||
Reference in New Issue
Block a user