Pythonで音楽を書く方法-3つのテーマ別ライブラリが役立ちます(さまざまなレベルのスペシャリスト向け)

私たちは音楽プログラミングのトピックを続けます-以前はCsound、SuperCollider、Pure Data言語について話しましたが、今日はPythonとFoxDotPippiMusic-Codeライブラリについて話します





コナーサミュエル/ Unsplashによる写真



FoxDot



これは、ミューズを志すためのライブラリです。プログラマー。それましたが開発し、2015年にエンジニアライアンKirkbride。 FoxDotは、個人的なプロジェクトとして考案されました-仮名Qirkyの下でのRyan ustaivayteライブセッションの助けを借りて-しかし、今では世界中でツールが機能しています。



このライブラリは、Open Sound Control(OCS)パケットプロトコルSuperCollider仮想環境の機能をオーディオ合成に使用します。これは1996年に開発されましたが、現在も積極的にサポートされています。コミュニティ。プログラマーは、楽器、ピッチ、持続時間を示す引数を持つオブジェクトを作成します。サウンドをパターン化してループさせ、複雑な音楽デザインを作成できます。コードはリアルタイムで音楽に変わります-ライブラリを操作する例を次に示します。





ツールを自分で学びたい場合は、詳細な公式ドキュメントから始めるのが理にかなっています多くの質問への回答は、テーマ別フォーラムにあります。GitHubリポジトリに、新機能に関する提案や要望を残すことができます



ピッピ



このライブラリは、新しい音楽や若いアーティストをサポートするインディーレーベルLuvSoundの代表者の1人によって開発されました。その構成で、一般的なSoundBufferWavetableなど、サウンドを操作するためのいくつかの構造があります。Pippiの目的は、既存のサウンドを操作することです。この機器を使用すると、ロードされたサンプルを組み合わせて変更できます。



from pippi import dsp

sound1 = dsp.read('sound1.wav')
sound2 = dsp.read('sound2.flac')

# Mix two sounds
both = sound1 & sound2


また、サンプルに基づいてまったく新しい音響設計を構築することも可能になります。たとえば、「粒状」のサウンドを形成することができます。これは、サンプルを多くの短いセクション(「顆粒」)に分割して混合する方法です。エンベロープ変数のオーディオからこの形式の10秒信号を作成するコードは次のとおりです



# Synthesize a 10 second graincloud from the sound,
# with grain length modulating between 20ms and 2s
# over a triangle shaped curve.
cloudy = enveloped.cloud(10, grainlength=dsp.win('tri', dsp.MS*20, 2))


Pippiライブラリでは、音楽をリアルタイムで再生できないため、それ自体ではライブコンサートには適していません。ただし、Hacker Newsのテーマ別スレッドで、著者はサードパーティのインターフェイスであるAstrid開発したと述べています保存後に自動的に音楽ファイルを再起動するため、ステージでの演奏の可能性が広がります。



音楽コード



この小さなライブラリは、データサイエンティストのウェズリーローレンスによって書かれました。彼女はコード、ドラム、ベースのサウンドを生成することができます。著者は自分のツールを使用して、機械学習モデルのサンプルを作成します。このライブラリを使用すると、シーケンサー、アグリゲーター、サンプラー、およびさまざまな音響効果を操作できます。 Music-Codeを使用すると、音楽に加えて、楽曲の視覚化を準備できます。





写真提供:Tanner Boriack / Unsplash



これまでのところ、ライブラリは非常に若いため、Music-Codeのオーディエンスは非常に少なくなっています。GitHub公開されています。ちょうど3ヶ月前。ただし、著者は自分のツールを開発することを計画しており、特にAIシステムの分野の専門家の間で新しいユーザーを引き付けることができることを望んでいます。著者は、ミュージックコードの使用を開始する方法についての説明を含むビデオを録画してアップロードすることを計画しています。






「WorldofHi-Fi」の追加資料:



音楽プログラミングとは何ですか-誰が、なぜ

機械学習用のオーディオを入手するの:オープンライブラリの選択

Sporthはどのように機能しますか-音楽ライブセッション用のJava

ゲームやその他のプロジェクトを開発するためのオーディオを入手する場所

サウンドUIの場合:テーマ別リソースの選択







All Articles