Pythonで音楽をつくりたい

どうも、まかろにです。
新年あけました。師走は忙しすぎて更新する暇がなかったので、今年からは以前より更新頻度を上げていきたいと思います。
切に。


さて!
僕の趣味に「新しい楽器を触る」というのがあるのですが、今回は「Pythonを使って音楽を作ってみたい!」という気持ちの元、少しいじっていきたいと思います。
目標はPythonプログラムから適当な曲を作る。
調べるだけでも結構かかった(←下手)ので、今回は事前調べ編です。


どうやって音を出すの?

音楽、というかそれ以前に音を出すためにはPythonの他のツールが必要になります。
つまりPythonネイティブに音を出すのではなく、PythonでMP3ファイルを再生したりMIDIを再生するという方法になります。
(簡単に調べただけですが大筋あっているはずです。)

というわけで、とりあえずどんなツールと組み合わせているのか調べてみました。

Pygame
Pythonでビデオゲームを作成するためのクロスプラットフォームのツール。
これでできるのはwav再生とMP3の再生です。

wavファイルを読み込む→ループを設定する→再生時間の設定

といった方法で音楽を再生できます。

Lilypond
これ自体は綺麗に楽譜を移すことを目的としたソフトウェアです。
マークアップ言語のように楽譜を書くことができるようです。

{
 \time2/4
 c4 c g g a a g2
}

これが
スクリーンショット 2019-01-04 11.50.34.png
みたくなります。
※これはイメージです。Lilypondのウェブサイトを見て作成したので実際にインストールしたわけではないです。

music21
これはMITで作成されたPythonによる音楽ソフトウェアです。
Pythonコード内に
”from music21 import * “
と書くことで機能を使うができます。テキストを入力として音を出力することができます。
Python内で完結するのが手っ取り早い感じがしますね。

Githubからダウンロードして使うようになります。
また、他の方の使用例を見るとピアノロールを作成できたり、使われている音のヒストグラムを作成できたりと色々できるようです。
すごい。


結構たくさん方法があって、自分のやりたいことを簡潔にできるようにしてくれるツールはどれなのか分かり難かったです。
今のところmusic21が便利そう??

今回はここで終わります!
次回は今回調べた内容から実際に音を出す作業をしていきたいと思います。
最後まで読んでいただきありがとうございました!

この記事へのコメント