Skip to content

Ram #286

Description

@Seetaram8

from midiutil import MIDIFile

Define the MIDI parameters

tempo = 60 # BPM
track = 0
channel = 0
volume = 100
time = 0 # Start at the beginning
midi_file = MIDIFile(1) # One track
midi_file.addTempo(track, time, tempo)

Define the notes and durations for each section of the poem interpretation

Notes are represented in MIDI numbers (60 = Middle C)

Section 1: "अक्ष अक्षि पर ठहरे"

section1_notes = [60, 55, 58] # C, G, A (calm start)
section1_durations = [2, 2, 2] # Durations in beats

Section 2: "तिमिर अहम ढेरे"

section2_notes = [55, 57, 59, 58] # G, A, B, A (deeper, mysterious feel)
section2_durations = [1, 1, 1, 2]

Section 3: "स्वप्न टूट गए"

section3_notes = [60, 62, 64, 62] # C, D, E, D (sad and uncertain)
section3_durations = [1, 1, 2, 2]

Section 4: "अश्व अभिलाषा और प्रेम पतवार"

section4_notes = [67, 65, 64, 62, 60] # G, F, E, D, C (lively, moving forward)
section4_durations = [1, 1, 1, 1, 2]

Function to add notes to the MIDI track

def add_section_to_midi(notes, durations):
global time
for note, duration in zip(notes, durations):
midi_file.addNote(track, channel, note, time, duration, volume)
time += duration

Adding each section to the MIDI file

add_section_to_midi(section1_notes, section1_durations)
add_section_to_midi(section2_notes, section2_durations)
add_section_to_midi(section3_notes, section3_durations)
add_section_to_midi(section4_notes, section4_durations)

Save the MIDI file

with open("/mnt/data/poem_flute_interpretation.mid", "wb") as output_file:
midi_file.writeFile(output_file)

"/mnt/data/poem_flute_interpretation.mid"

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions