【たったこれだけ】音楽家が覚えるべきPythonライブラリ5選
この記事では音楽家が覚えるべきPythonのライブラリを4つ紹介。
この記事を読むだけでピンポイントでプログラミング学習がはじめられるので、これから音楽家を目指している方はもちろん、これまでプログラムの領域は苦手だったというクラシック演奏家の方も、楽譜の管理などができるライブラリもありますので、是非最後まで読んでいってください。
Pythonライブラリとは?!
Pythonという名前は聞いたことがあるかと思います。
プログラミング言語の中でもその構文がシンプルで簡単なことから入門者向けの言語として人気の一つ。
主にデータ分析や機械学習の分野に優れた機能を持つライブラリが多く、科学者や経済学者のサポート言語としても人気です。
さて、ライブラリとはなんでしょうか?
これはすごく簡単にいうと、ソフトウェアのようなもの。
Mac(Python)を買った!
Logic(ライブラリ)があるから、音楽を制作できる。
という構図。
当然Macに非対応のアプリだってたくさんありますよね。
Python専用のライブラリはたくさんあって、その数は数ある言語の中でもトップクラスと言われています。
そんなPythonだからこそ、音楽や音声解析に特化したライブラリもたくさんありますので、ここで紹介したいと思います。
これはすべて完全無料で使えますので、逆に覚えないと損ですし、プログラムが使えるかどうかは、この先の音楽家人生で大きな差が出てくるかと思いますので、必ず覚えておいてください。
1、楽譜の管理や楽曲分析〜音楽理論まで
Music21はというのはまさに音楽家必須のライブラリの一つ。
たくさんあるパブリックドメインの楽譜や、それらの分析、そして音楽理論のメソッドまで膨大な資料がアーカイブされていますので、日々の楽曲分析や研究、さらに教育目的での使用など様々な用途で音楽家を助けてくれる執事のような存在です。
この記事ではbwv846を基準に楽譜を表示する方法や、MuseScore(無料の楽譜ソフト)と連携する方法。
また、MIDIファイルとXMLファイルの相互コンバートまで丁寧に解説しています。
個人的にどんなジャンルの音楽家でも便利に使えるな〜と思うのが、移調機能。
パート譜やアレンジメントで移調する機会はたくさんありますし、何よりジャズを勉強している方にとっては、コピーしたフレーズ、自前のフレーズを12キーでスラスラ演奏できるようになるためのアシスト機能として最適です。
2、音声解析とアプリ開発
次に紹介するのがlibrosaというライブラリ。
このライブラリはスペクトル解析や周波数解析ができたり、波形を解析したりする機能を持ち合わせています。
別のライブラリであるmatplotlibと組み合わせることにより、美しい音の描画が実現します。
スペクトル解析や周波数解析は専門的なマスタリングソフトではほとんど搭載されていますが、非常に高価なため、一時的に使いたいだけの方や、この機能を搭載したアプリの開発を行いたい方に便利です。
また音響の教育目的でもEQのかけ方を教えるのにも便利。
波形データを読み込むのもLogicなどの大型アプリを立ち上げるよりも早いため作業の効率化につながります。
3、オーディオファイルの変換を効率化
何かと多いオーディオファイルの変換。
実は結構面倒だったりします。
音声変換ソフトもたくさんありますし、それこそLogicなどの大型ソフトであれば変換できますが、さっとmp3でプレビューを送りたいってときに、pathの入力とエンターだけで解決するというのは、かなり効率的。
4、簡単一発ノーマライズ
ノーマライズも変換同様、専門アプリをいちいち立ち上げるのが面倒な時が多い作業の一つです。
Pydubを使えば一発で簡単ノーマライズできますので、覚えておくと非常に便利。
5、フーリエ変換し周波数帯域プロット
こちらは任意の音源をフーリエ変換して周波数帯域を描画するために使われます。
他にも機械学習を盛り込んだ機能が満載で学びがいのあるライブラリとなっています。
例えば特定の人の声を学習させて音声認識アプリを作ったり、声で開ける鍵なんかをつくっても面白いかもしれませんね。
女性だけが入れる、または男性だけが入れる鍵なんかも作れそうです。
みなさんはどんなアイディアが思いつきますか?
是非コメント欄で教えてください。
すべてのライブラリ共通の手順
すべてのライブラリに共通しているのが、その手順です。
1、Python環境構築
まずはPythonの環境構築をしないとはじまりません。
Macでは標準でPythonが入っていますので、コマンドでライブラリを入れればGUIさえ気にしなければコマンドで簡単に動きます。
2、ライブラリのインストール
環境構築で紹介しましたが、ライブラリのインストール方法は様々です。
pip、 ホームブリュー、アナコンダ、と様々ありますので、あなたの環境に沿った方法でインストールしてください。
3、デバッグ
プログラミングの8割方の作業がデバッグというバグ探しになります。
Kotaro Studioのサンプルコードであれば問題なければ一発で通るかと思いますが、やはり環境設定によっては通らなかったり、パスが間違っていたりと様々な理由でエラーがでます。
エラーがでるのは当たり前の精神で根気よく続けていくのがプログラミング上達への道です。
MIDIの知識
MIDIというのは最近だとDAWソフトなどでオーディオと同じように扱われることが多くなりましたが、実はPythonなどと同様プログラミング言語なんです。
プロの音楽家であればどんな形であれ必ずお世話になるプログラミング言語です。
プロの音楽家を目指す方は必ず覚えておいて欲しい言語の一つなので、是非マスターしてください。
MIDIの知識はプログラムを知る上で必ず役に立ちます。
この音楽家育成塾の読者のみなさんはこれでMIDIとPython、2言語、いえいえ、日本語を含めて3言語の言葉をマスターしたことになりますね。
Pythonができること
筆者は音楽スタジオの記事や音楽配信制作、録音などのジャンルとは別に金融に関するブログも細々と続けています。
Pythonは音楽、音響分析に最適なのは間違いありませんが、やはり金融との相性はこれまた抜群で、例えばこちらのコードなどは、APIというシステムを使ってデータを参照し、データの可視化を行うソフト。
CPIというのは金利を決める上で非常に重要な指標になるため、しっかりとミクロとマクロを把握しておく必要があります。
こういったデータを可視化したり、分析したり、学習させたりするのにPythonは最適ですので、音楽家として得た収入は是非資産運用でしっかりと守ってください。
音声人工知能アプリの参考例
Pythonは機械学習などにも優れたライブラリをたくさんもっています。
例えばこちらの記事では教師あり学習を軸とした音声認識解析アプリの開発例をまとめています。
もしプログラミングを本格的にはじめたい音楽家の方はこちらの記事にてまずは右脳的に全体像を把握してみてください。
最初はすごく難しそうに見えるかもしれませんが、実際にやっていることはとても簡単なこと。
実際に処理するのはコンピューターですから、人間の私たちがするのは全体像を把握して適切に指示を与えるだけです。
ブログを自動で作成する方法
さて、ここまで音声解析に関する記事をいくつか紹介してきましたが、昨今ですと、これらのコードを人間がいちいち手書きで・・・
プログラムコードを手書きという表現するのはとても面白いことではありますが、今は作業の半分はChat GPTにやってもらう時代。
例えばブログの作成一つとっても、Chat GPTに適切な命令を与えるとほぼ自動で書いてくれます。
一度是非命令文に対してどんな記事が作成されるのかすべて公開していますので、見てみてください。
また、これまでの登場したサンプルコードなどもかなりの部分をChat GPTが書いてくれています。
記事もコードもそうですが、やはり使う人にある程度の基礎知識があることは前提とはなります。
今の時代ゼロから100まで覚える必要はありません。
ショートカットできるところは思いっきりショートカットして人間にしかできない作業、創造性に集中するようにしていきましょう。
とこんな感じで書き綴ってきた記事ですが、この記事も実はChat GPTが書いていま・・・せん。
さすがにこれは無理ですね。
人間味丸出しです。
みなさんの参考になれば幸いです。