import\u0020midiutil\n\n#\u0020Define\u0020the\u0020chord\u0020progression\nchords\u0020=\u0020[["C",\u0020"E",\u0020"G"],\u0020#\u0020C\u0020major\n ["D",\u0020"F#",\u0020"A"],\u0020#\u0020D\u0020major\n ["G",\u0020"B",\u0020"D"],\u0020#\u0020G\u0020major\n ["E",\u0020"G#",\u0020"B"],\u0020#\u0020E\u0020major\n ["F",\u0020"A",\u0020"C"],\u0020#\u0020F\u0020major\n ["D#",\u0020"G",\u0020"C"],\u0020#\u0020D#\u0020major\n ["A#",\u0020"D",\u0020"F"],\u0020#\u0020A#\u0020major\n ["G#",\u0020"C",\u0020"D#"]]\u0020#\u0020G#\u0020major\n\n#\u0020Create\u0020a\u0020MIDI\u0020file\nmidi\u0020=\u0020midiutil.MIDIFile(1,\u0020adjust_origin=True)\n\n#\u0020Define\u0020the\u0020track\u0020name\u0020and\u0020tempo\ntrack\u0020=\u00200\ntime\u0020=\u00200\nmidi.addTrackName(track,\u0020time,\u0020"Synthwave\u0020Chords")\nmidi.addTempo(track,\u0020time,\u0020120)\n\n#\u0020Set\u0020the\u0020instrument\u0020to\u0020Synth\u0020Strings\u00201\nchannel\u0020=\u00200\nprogram\u0020=\u002050\nmidi.addProgramChange(track,\u0020channel,\u0020time,\u0020program)\n\n#\u0020Generate\u0020the\u0020chord\u0020progression\nduration\u0020=\u00204\u0020#\u0020Duration\u0020of\u0020each\u0020chord\u0020in\u0020beats\nfor\u0020chord\u0020in\u0020chords:\n for\u0020note\u0020in\u0020chord:\n #\u0020Convert\u0020note\u0020name\u0020to\u0020MIDI\u0020note\u0020number\n pitch\u0020=\u0020midiutil.noteNameToMidi(note)\n midi.addNote(track,\u0020channel,\u0020pitch,\u0020time,\u0020duration,\u0020velocity=100)\n time\u0020+=\u0020duration\n\n#\u0020Save\u0020the\u0020MIDI\u0020file\nfilename\u0020=\u0020"synthwave_chords.mid"\nwith\u0020open(filename,\u0020"wb")\u0020as\u0020output_file:\n midi.writeFile(output_file)\n\nprint(f"MIDI\u0020file\u0020'{filename}'\u0020generated\u0020successfully!")

Synthwave MIDI Generator: Create Chords with Python

原文地址: http://www.cveoy.top/t/topic/pYkt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录