python

ディープニューラルネットワークでジャズのアドリブを生成するBebopNet

ディープニューラルネットワークでジャズのアドリブを生成するBebopNetです。https://shunithaviv.github.io/bebopnet/ リンク先のページで色々なサンプルを聞く事ができる他コードも公開されているのでご自身で実践する事が可能です。 ISMIR2020で発表した際の動画ありますので英語ですが、ご興味のある方はご覧になってみてください。 Githubの公開コードページはこちらPyTorchで実装されている様です。https://github.com/shunithaviv/bebopnet-code 実はジャズはAI音楽生成の実践ではかなり頻繁に取り上げられています。理由は”それっぽい”生成がポップミュージックなど周期性のより明確な音楽に比べ容易だからです。(と、我々の実践から感じています) CANPLAYでも2017年にはジャズのアドリブ生成を行っており、2018年頃から研究会などで発表しています。一例としてよりフリージャズ的な生成曲の動画をご覧ください。 いかがでしょうか?実はこの生成曲は数千曲のクラシックなどジャズではない音楽のデータセットをわずか4エポックしか学習させていない結果です。面白い事に十分に学習させるとこの様なジャズらしさは薄れ、どんどんクラシック的な学習した曲に近づいていきます。この様にジャズの様なジャンルは、学習回数が少なくても、あるいは仮にデータ数が少なくても、それらしい生成曲になるのが面白いです。 もっとも音楽的に魅力的かは人それぞれかと思いますが。。。。 何か音楽AIのご参考になれば幸いです。

ディープニューラルネットワークでジャズのアドリブを生成するBebopNet Read Post »

Python 3.9.0a3 ドキュメント公開

Python 3.9.0a3 ドキュメント本日(2020年1月26日)公開の様です。 評価版です。まだドキュメントも一部しか日本語化されていません。 以前から気になっていた仮想環境作成の部分はさらにアップデートがある様です。3.5以降venv推奨で、3.6以降はpyvenvが非推奨に、特にPython2.7のサポート終了などもありCANPLAYの講義もAnacondaからvenvへと講義再収録の上で提供開始します。 https://docs.python.org/ja/3.9/index.html

Python 3.9.0a3 ドキュメント公開 Read Post »

Pythonのライブコーディング環境FoxDotとAbleton Liveを連携! FoxDotでの外部MIDI演奏方法解説

Pythonでライブコーディング(プログラミングで演奏するライブパフォーマンス)できるFoxDotをご存知でしょうか? https://foxdot.org/ ライブコーディングといえばRuby言語のSonicPiが有名ですが、FoxDotも機能的には負けていません。Sonic Pi同様、FoxDotも外部MIDI機器への接続、演奏が簡単です。(実際には音源であるSuper Colliderの接続といえます) 今回はAbleton Liveと連携し、LiveのシンセをFoxDotで鳴らす方法を解説します。なおMac環境で実践していますが、環境に合わせて変更していただけばWindowsでも実践可能です。 1・Super ColliderとFoxDotを連携 MIDIの外部機器への出力はSuperColliderを使用します。SuperColliderのコーディング画面で FoxDot.startを記述し実行してください。 2・FoxDotのMIDI使用を実行 FoxDotの演奏を外部MIDIに出力するための実行コマンドは FoxDot.midiです。 3・ログで使用可能なMIDIの確認 無事にMIDIを認識できれば右下のログ画面に接続可能なMIDIが表示されます。今回はDAW(LIVE)を仮想MIDIで内部接続するのでIACドライバーを使用します。IACドライバーはMACの場合です。Windowsの場合はLoopMIDIなどの仮想MIDIポートを使用してください。 4・ターミナルからFoxDotの起動 ターミナルからFoxDotを起動します。コマンドは Pyrhon -m FoxDot です。 5・Ableton Liveで仮想MIDIを選択 Liveで使用するために、MIDIトラックのMIDI in機器設定のところからIACドライバを選択してください。チャンネルは演奏状況に合わせ16チャンネルのから任意で指定可能です。 6・Ableton Live x FoxDotでライブコーディング では演奏を確認してみましょう。初めての方も多いと思うのでたった2行のコードしか使用しません。それでもそれなりのライブコーディングの演奏は可能ですのですぐにためしていただけるでしょう。 いかがでしょうか? 今回は簡単な演奏でしたが、もっと複雑なコーディングでの演奏や、ライブの音源やサ

Pythonのライブコーディング環境FoxDotとAbleton Liveを連携! FoxDotでの外部MIDI演奏方法解説 Read Post »

Pythonのライブコーディング環境Fox Dotが0.8へバージョンアップ オーディオサンプルのストレッチが可能に

Super Collider(コンピュータープログラミングで演奏=ライブコーディング用のシンセサイザー)を使用したPythonのライブコーディング環境 Fox Dotが0.8へバージョンアップしました。 今回のバージョンアップの内容はオーディオデータのストレッチ(伸縮)対応との事です。音質的には優れているとは言い難い様ですが、ライブコーディング演奏の可能性を拡げる興味深いバージョンアップだと思います。 FoxDotのメリットはやはりPythonを使用しているところ。今後、機械学習やディープラーニングとの組み合わせで新しい可能性を生み出す事ができるのではと期待できます。 また、初心者の方がFox Dotで音楽を楽しみながらPythonプログラミングを学習するのにも丁度良いですね。 Fox Dotはpipを使用しインストールする事ができます。 https://foxdot.org/installation/ canplayの講義でもライブコーディングは取り上げますので是非ご興味のある方受講をご検討ください。 Python音楽プログラミングコースhttps://canplay-music.com/python-course/ AI DTMコースhttps://canplay-music.com/ai-dtm-3/ で取り上げます。 近々Sonic Piも合わせてライブコーディングの講義も充実させますのでどうぞご期待ください。

Pythonのライブコーディング環境Fox Dotが0.8へバージョンアップ オーディオサンプルのストレッチが可能に Read Post »

MACのGPUでディープラーニングを実現するPlaidMLが0.6.0へバージョンアップ tensorflow2.0への対応予定も

以前記事にしましたMACのGPU(つまり非Nvidia)で機械学習、ディープラーニングを実現するPlaidML MACのGPU(非Nvidia)で機械学習・ディープラーニングを実現する!PlaidMLを解説https://canplay-music.com/2019/04/22/plaidml-kaisetsu/ が0.6.0へバージョンアップしました。 pipインストールhttps://pypi.org/project/plaidml/0.6.0/ また近々のtensorflow2.0への対応予定を開発者が(非公式に?)アナウンスするなどさらに使える環境として期待が高まっています。 もともとkerasのバックエンドで動作する様開発されているPlaidMLですからtensorflowの動作も十分可能なはずです。実際現状のtensorflow1.13のテストプログラムもある様ですので今でもしっかり設定すれば色々なtensorflowのプログラム、例えばもちろんMagentaも、実行できるのではないかと思っております。 なかなか日本では情報の少ない(そしてまだまだ改善の必要な)PlaidMLですが、Macユーザーでディープラーニングをやりたい!とお思いの方はkeras、そしてtensorflowとともに是非試してみて下さい。

MACのGPUでディープラーニングを実現するPlaidMLが0.6.0へバージョンアップ tensorflow2.0への対応予定も Read Post »

Google Colab Notebookをローカルランタイムに接続

Google Colab Notebookにはこれ ローカルランタイムとホスト型ランタイムというものがあります。 通常のNotebookの使用はホスト型ランタイムです。 これはなんでしょうか? ローカルランタイム接続とは自分のPCのノートブックとして(Jupyter Notebookの様に)使用する場合の接続です。 これにより、 ・自分のPCにインストールしたモジュールなどを使用できる ・12時間制限がない ・PC上のファイルにも自由にアクセスできる などのメリットがありあす。 すでにJupyter Notebookを使用している場合は正直メリットを感じにくいですが、 ・複数の作業者によるファイルの共有しやすさ ・起動が速い、や動作が軽い などを求める場合には選択肢として有りかと思います。 方法 1・Jupyter Notebookをインストールする ローカルマシン(自分のPC)にJupyter Notebookをインストールします。 2・起動 ターミナルでのコマンド例 jupyter notebook 3・Jupyter 拡張機能 jupyter_http_over_ws をインストールして有効にする(最初1 回のみ) pip install jupyter_http_over_ws jupyter serverextension enable –py jupyter_http_over_ws 4・サーバーを起動して認証する 新しいノートブック サーバーを通常どおり起動します。ただし、Colaboratory フロントエンドからの WebSocket 接続を明示的に信頼するフラグを設定する必要があります。 jupyter notebook \ –NotebookApp.allow_origin=’https://colab.research.google.com’ \ –port=8888 \ –NotebookApp.port_retries=0 5・ ローカル ランタイムに接続する いかがでしょうか? 上記の説明は公式ページ https://research.google.com/colaboratory/local-runtimes.html?hl=ja

Google Colab Notebookをローカルランタイムに接続 Read Post »

Deep Learningを使用して自分の声を有名人の声に変換

こちらのSoundCloudのオーディオファイルを聞いてみてください。 https://soundcloud.com/andabi/sets/voice-style-transfer-to-kate-winslet-with-deep-neural-networks 男性(匿名)の方の声を有名な女優Kate Winsletにディープラーニングを使用して変換しています。すごいですね! tensorflow(ディープラーニングライブラリー)numpy(数値計算ライブラリー)Librosa(オーディオ処理ライブラリー)で実現されている様です。 私たちの声も簡単に有名人の声に変換できるのかもしれません。自分の鼻歌を有名歌手(Ed Sheeranとか?)に変換に作品にできる未来はもうすぐそこかもしれません。歌声にも著作権(肖像権)ができそうですね。1コピーごとに数パーセントとか笑

Deep Learningを使用して自分の声を有名人の声に変換 Read Post »

Pythonでグラフの描画に使えるMatplotlibとさらに高度で便利なライブラリー

Pythonでデータ処理をする際、グラフで描画と言えばまずはMatplotlibhttps://matplotlib.org/が有名でしょうか。 それ以外にもあまり知られてはいないものの(十分知られているかもですが、、、汗)さらに高度で便利なグラフ描画ライブラリーがありますので紹介します。 seabornhttps://seaborn.pydata.org/index.html#matplotlibをベースに、より多彩で高度なグラフ描画を可能にするライブラリーです。 下記画像の様に非常な多彩で高度なグラフ描画が可能になっています。 Ipyvolumehttps://ipyvolume.readthedocs.io/en/latest/ 3Dのグラフ(動かせます)を描画できるライブラリーです。JupyterNotebook上で import ipyvolume as ipv import numpy as np x, y, z = np.random.random((3, 10000)) ipv.quickscatter(x, y, z, size=1, marker=”sphere”) 上記の様な簡単なコードで複雑な3Dグラフを作成できます。 アニメーショングラフも描画可能です。 Gymhttps://gym.openai.com/envs/#classic_controlグラフ描画とは少々異なりますが、、、機械学習、特に強化学習の検証でよく使用されるCartPole-v1はGymが活用されています。 import gym env = gym.make(‘CartPole-v0’) env.reset() for _ in range(1000): env.render() env.step(env.action_space.sample()) # take a random action 機械学習を勉強した事のある方は見覚えがあるかもしれません。 Pythonは色々なライブラリーが次々とリリースされアップデートされていくのがすごいところですね。canplayの最新音楽トレンド分析は、1月からAI音楽データサイエンスの講義としてもアップグレードします!この様なライブラリーの使用方法もどんどん解説していきますね!

Pythonでグラフの描画に使えるMatplotlibとさらに高度で便利なライブラリー Read Post »

AIプログラミングで困ったらこれを参照!AI、ディープラーニング、機械学習などで使用できる使える解説図色々

AI、ディープラーニング、機械学習などで使用できる色々な解説図をご紹介します。 画像は小さく見辛いかもしれませんのでダウンロードの上拡大してお使いください。 まずは・ニューラルネットワークの解説チャートcanplayの講義で一番最初に取り上げる基礎中の基礎Perceptronや、RNN、LSTM、VAEを始め、色々なニューラルネットワークが非常にわかりやすくチャート化されています。 ・ニューラルネットワークをグラフィック化したもの さらに詳しくチャート化したものです。 どの様な流れで、どこでどんな数式が使われているか視覚的にわかりやすいですね。 次は機械学習、ディープラーニングでよく使う数式をシートにまとまたもの ここからは機械学習で頻繁に使用される色々なライブラリーの関数やメソッドの一覧シート これは本当に便利です。 keras Numpy Pandas SciPy Matplotlib ggplot2 Scikit-Learn Scikit-Learnはアルゴリズムも視覚的にグラフ化されています。 いかがですか? canplayの講義でも解説していますが、機械学習、ディープラーニングについて、何かわからない事があった場合、これらの図を是非参考にしてみてはいかがでしょうか?かなり”使える”ものが多いと思います。 是非ご活用ください。

AIプログラミングで困ったらこれを参照!AI、ディープラーニング、機械学習などで使用できる使える解説図色々 Read Post »

Pythonがバージョンアップ 3.7.2と3.6系最終版の3.6.8

Pythonがバージョンアップを発表しました。 3.7.2と3.6系最終版の3.6.8です。 公式ブログ(英語)はこちらhttps://pythoninsider.blogspot.com/2018/12/python-372-and-368-are-now-available.html すでに日本語のドキュメントもリリースされています。 3.7.2https://docs.python.org/ja/3.7/ 3.6.8https://docs.python.org/ja/3.6/ バージョン3.6系は2021年までサポートが継続されるとの事です。

Pythonがバージョンアップ 3.7.2と3.6系最終版の3.6.8 Read Post »