編入関連の質問はTwitter,@mast15yamachiにてこの広告は、90日以上更新していないブログに表示しています。music21を使って楽譜を分析する28日チャレンジ2日目は楽譜の分析について書きます。Documentationを使って楽譜のMIDIデータをいじり楽曲分析します。音楽構造の抽出、変換、編集などができ、それを可視化することで各種の音楽の分析を行うのに役に立つものです。入力できるフォーマットはMIDIやMusicXMLなどの音楽データで、WAVやMP3などの音響データを扱うことはできません。このライブラリを使いつつ皆さんにもなじみ深い曲をいろいろ分析してみたいと思います。今回、題材とする曲は、Musescoreのサイト内でダウンロードできるものから用いました。musescore.comMusic21をつかおう・楽譜の読み込みまずは、モジュールに同封されているコーパスから楽譜を読み込みます。コーパス中の適当な曲を読みだしてみます。楽譜表示(musescoreやFinaleなどがインストールされていないと動かない、)piece.show()このようにバックエンドとなっている楽譜表示ソフトで楽譜を可視化できます。例として、モーツァルトのピアノソナタ16番を読み込んでみました。この曲に関するいろんな情報をだしてみましょう。major>ハ長調のようですね・ピアノロール形式で表示piece.plot('pianoroll')こんなかんじでだいたいどんな感じの曲かを俯瞰できます・音高の統計情報piece.plot('histogram')どの音が多いのか楽譜から調べることができます。ひとつのパートを取り出して分析することもできます。pieceはそれぞれのパートの演奏情報をリストにしてまとめたオブジェクトだと思ってください。左手パートの情報を調べてみます。・左手パート、音のピッチクラス(ドレミの音名が同じものをまとめて集計したもの、高いドも低いドも同じとみなす)の統計情報piece[2].plot('histogram','pitchclass')ファ#が一個だけあるのみで、ほかはほとんどハ長調の音である。ファ#があるのはどこかさがしてみる。'F#':print(m.measureNumber)1212小節目のようですね。piece[2][12].show()と、こんな感じで取り出しもできます。こんな感じでmusic21を使えばいろいろな音楽分析ができてしまいます。いろんなJPOPの楽譜を分析しようここで実践、普段聞いている曲の良さの秘密に迫ろう、ということでmusic21を使ってJPOPの楽譜を解析していきます。他の国のポピュラーソングにはない傾向として、JPOPは「ヨナ抜き音階」「ニロ抜き音階」と呼ばれる音階で構成されている曲が数多く見られます。ヨナ抜き音階とは、ハ長調(ドレミファソラシド)のうち、「ヨ」4番目のファ、「ナ」7番目のシを抜いた音階です。ニロ抜き音階はヨナ抜き音階の短調バージョンで、イ短調(ラシドレミファソラ)の「ニ」2番目のシ、「ロ」6番目のファをぬいた短音階です。7音使って作るメロディよりも、ノスタルジックさを出しやすい音階です。・千本桜サビが特に顕著でした。piece[0].measures(38,45)sabi_piece.plot("histogram","pitchclass")E,B♭の音のみ頻度が少なくなっているのが見てわかると思います。minorニ短調(レミファソラシ♭ドレ)の2番目と6番目にあたるこの2音の頻度が明らかに低い、ニロ抜き短音階だ!という感じです。pythonで音関連ファイルをあれこれするまとめ28日チャレンジ1日目は音データの扱いについて書きます。月別アーカイブはてなブログをはじめよう!yamatchさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。