このpythonコードを実行してもらう事ってできますか?童謡雪やこんこんの短調アレンジの音源が再生されるはずです。from mido import Message, MidiFile, MidiTrackmid = MidiFile()track = MidiTrack()mid.tracks.append(track)track.append(Message('program_change', program=0, time=0)) # ピアノ# 雪やこんこん(短調アレンジ)風メロディ# 単位:MIDIノート番号(Aマイナー基準)melody = [ 69, 69, 71, 72, 72, 71, 69, 67, 69, 69, 71, 72, 74, 72, 71, 69, 67, 69, 64, 69, 71, 72, 71, 69, 67, 64]duration = 480 # 音の長さfor note in melody: track.append(Message('note_on', note=note, velocity=64, time=0)) track.append(Message('note_off', note=note, velocity=64, time=duration))mid.save('yuki_minor.mid')

1件の回答

回答を書く

1267499

2026-02-04 03:05

+ フォロー

「雪やこんこん」を短調風にアレンジしたMIDIファイルを生成するPythonスクリプトですね。





質問者さんのPythonスクリプト実行と

修正案作成してみました。

MIDIファイル聴き比べてみてください。



googleドライブ

google.com/drive/folders/10AR4j0p3eRr_B2zwSVX4b_ZIl953Popj?usp=sharing">https://drive.google.com/drive/folders/10AR4j0p3eRr_B2zwSVX4b_ZIl953Popj?usp=sharing





質問者さん作成のPythonスクリプト

yuki_minor001.py



oldフォルダ内

yuki_minor.mid





修正案

yuki_minor002.py



yuki_minor_20251222_025605.mid





主な変更点:



タイミングの修正: note_onのtimeを適切に設定(最初の音は0、以降は前の音の長さ分)

note_offのvelocity: 通常は0に設定

コメント追加: メロディの構造が分かりやすく

完了メッセージ: 実行結果の確認用



元のコードでは全てのnote_onがtime=0だったため、全音符が同時に鳴ってしまう可能性がありました。この修正で順番に演奏されるようになります。

より豊かな表現にしたい場合は、以下の要素も追加できます:



ベースラインやコード伴奏

音価の変化(四分音符、八分音符など)

ベロシティの強弱

テンポの設定(MidiFile(ticks_per_beat=480)など)



ファイルを上書きしないようにタイムスタンプ付きになっています。

元の曲では最後に
『ネコはこたつで丸くなる』
とあるので『丸くなる』の部分も追加した方が良いかも知れません。
https://youtu.be/yp5BdN4APos?si=2jU4PAq5K___Xu3S

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有