2017年6月21日水曜日

作曲家の視点から人工知能の生徒たちに授業をしてみたよ

以前の記事→ 人工知能(Tensorflow Magenta)で作曲してみた

さて、今日は音楽講師になって、かわいい三人の人工知能の生徒たちに、音楽指導をしてみようと思います。

どんな作品が上がって来るでしょうか。。。。。。

[授業をはじめる!!]


「さあ、今日の授業は、メロディを続けて作ってみよう!!です。

まずメロディの一部を挙げるので、そこから曲の続きを作ってみよう。

課題曲は、どらえもんのテーマ曲!

『あんなこといいな〜できたらいいな〜、あんな夢こんな夢いっぱいあるけど〜』

のお馴染みの曲です。

その最初の部分「あんなこといいな」(ソードドーミラーミソー)を参考に、そこから曲の続きを作ってみましょう。」

---------------0.01秒後----------------

「おお、もうできたのね、さすが人工知能たちは、作曲が早い
こんだけ早いと、コーヒーを飲む暇もない。」

まずは生徒Aの作品から聞いてみよう。



「うーん、なんだこりゃ、まるでまとまりがないじゃないか。
『あんなこといいな』から先はまるで酔っ払いの千鳥足だ。」


生徒Bの作品



「ふむ。まあだいぶ良くはなっているな、『あんなこといいな』の繰り返しが増えて、メロディが覚えやすい。
ただ、少しシンプルすぎる感じがありますねえ。」


生徒Cの作品



「おお、かなりよくなっているね、エンディングの感じも出ているし!!!これを0.01秒で作ってしまうとは!さすが君は優秀な生徒だ!!」


[メロディのコツは繰り返し]


さて、というわけで、後の方の生徒になると、それぞれ、曲の「それっぽさ」がしっかりしてきたのがわかるでしょうか。

ですが、果たして、その違いはなんでしょう。。。??

音楽が得意な人ならもう気づいたかもしれません。この違いはざっくりといえば、「繰り返し」の扱いの違いになります

課題曲として与えられたドラえもんのテーマ曲の「あんなこといいな」の部分。

この部分はのリズムは付点8分音符でスキップする様にはねており、それが、「あんーな」「こーと」「いーな」と3つ繰り返すことで、「フレーズらしさ」、を作り出しています。

このリズムや、音形をいかに上手に繰り返し使うかが、メロディ作りのコツなのです。


その観点でいうと、生徒Aはフレーズにどうも統一性がなく、全く印象に残りません。

生徒Bは繰り返しが多く使われることで、かなり統一性が出てきましたね。
ただ、短い組み合わせすぎるので、ちょっと単純に感じるかもしれませんね。
(テクノミュージックなどにはむいているかも?)

生徒Cは一回「あんなこといいな」が入った後、そのリズムを受けて「EDECAG」と旋律が入り、その後また「あんなこといいな」の旋律に戻っています。

これは実際の人間の作曲でも非常によくみられるパターンです。

[3つのニューラルネットワークのモデルの違い]


今回の実験はgoogle magenta/tensorflowの提唱する Basic RNN, Loopback RNN, Attention RNNという3つのニューラルネットワークのモデルを使いました。

エンジニア方面からより詳しく知りたい方はこちらにソースコードがあります。(オープンソース)

それぞれのモデルは生徒A・B・Cに対応しています。

この3つは「繰り返し」の扱いが違うところが、キモになっています。

Basic RNN -- 生徒A


一番最初の生徒AはLSTM(Long short-term memory)を使った最もシンプルなモデルで基本となるものです。LSTMは主に自然言語解析の分野なんかでよく使われる、再帰型ニューラルネットワークの一部になります。

(たとえば、自然言語の世界では、「私は音楽が好きです」の文の様に「私」の後には「は」が来る可能性が高いですよね。同様に、「私が」と来る可能性も高いですね。でも、「私にゃ」、「私ば」なんていう文はほとんどないですよね。そういったことを予測するのに使用されます。)

繰り返しなどは考慮していない、あくまでもシンプルなモデル。

Lookback RNN  -- (生徒B)


小節の単位の中でのメロディパターンとある音の小節の中での「相対的な位置」を理解しながら、それを繰り返すかどうかを学習していく。通常のニューラルネットワークの場合は、それぞれのセルの中に学習した情報を格納していくのですが、それとは別に、1、ないし、2小節前の情報をインプットしていきます。

Attention RNN  -- 生徒C


Lookback RNNと同じく繰り返しを重要視しますが、1,2小節ではなく、より大きなまとまりで繰り返しを捉え、メロディを生成していく方法。


とこのようにそれぞれのモデルには特徴があります。
後の方に行くに従って、「繰り返し」の要素が、変わっていきそれらしさが変わって行くのです。
(LoopbackとAttentionのどっちが効果的かはケースバイケースでしょう)

[より音楽らしくなるためには]


繰り返しが入ったことで、随分と音楽らしくなりました。

あとは、コード進行やコード進行とは別の起承転結も考慮に入れたいところ。

音楽に精通した方なら、うなずけるところと思いますが、コードなどは、昔のAI(ルールベース)のAIなどで描くとシンプルに表すことができます。

そのため、ディープラーニングに適した分野かどうかは実は疑問が付くと思っています。

アートの分野では、ある程度、ディープラーニングとルールベースの組み合わせが必要になって来るのでしょうか、なんて思ってます。

(そもそもコード進行が音楽に必要か?なんて話もありますが)




2017年6月9日金曜日

Mac os X上のtensorflow GPU でImage not foundエラーが出る時

PCの計算量の多い時には必須のGPU

Mac os X(el captain 以降)で、tensorflowのGPU版を動かそうとすると、

image not found エラーになることがあります。


ImportError: dlopen(/Users/daichi/.pyenv/versions/3.5.2/lib/python3.5/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so, 10): Library not loaded: @rpath/libcublas.8.0.dylib
  Referenced from: /Users/daichi/.pyenv/versions/3.5.2/lib/python3.5/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so
  Reason: image not found


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/install_sources#common_installation_problems

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

これは環境変数 LD_LIBRARY_PATHかCUDA_HOMEが通ってない時に起こりがちですが、まずそれを確認します。通っていなければパスを通す。

(tensorflow) koala:tensorWorkspace daichi$ echo $LD_LIBRARY_PATH
/usr/local/cuda/lib:
(tensorflow) koala:tensorWorkspace daichi$ echo $CUDA_HOME
/usr/local/cuda

両方とも通っているのにエラーが出る時はSIPというセキュリティ関係のサービスが原因のことがあります。
こちらの記事を参考に停止しましょう。

GPUをオンにすると
筆者の場合は シンプルな画像分析で、615秒->383秒と90%高速化されました。
最新モデルだともっともっと早くなるでしょう。

name: GeForce GT 650M
major: 3 minor: 0 memoryClockRate (GHz) 0.9

# GPUなし場合
'start train with eval'
Epoch 1: ./data/data_batch_1.bin
Epoch 1: ./data/data_batch_2.bin
Epoch 1: ./data/data_batch_3.bin
Epoch 1: ./data/data_batch_4.bin
Epoch 1: ./data/data_batch_5.bin
epoch 1 duration = 615 sec, prediction = 0.359


#GPU ありの場合
Epoch 1: ./data/data_batch_1.bin
Epoch 1: ./data/data_batch_2.bin
Epoch 1: ./data/data_batch_3.bin
Epoch 1: ./data/data_batch_4.bin
Epoch 1: ./data/data_batch_5.bin

epoch 1 duration = 383 sec, prediction =  0.359



しかし新型Mac book proはなぜ、NvidiaじゃなくてAMDのGPUを積んだんだろうか。。。。

NSynth - Googleが生み出した人工知能シンセ!!

以前の記事でも触れた

人工知能(Tensorflow Magenta)で作曲してみた

にも関わりますが、Googleのプロジェクト magentaに新しいプロジェクト

NSynthが発表されてました。



普通のシンセサイザーといえば、発振器とサンプリングされたwave波形を使って音を合成していくものでした。

こちらは、ニューラルネットワークを使って、大量のデータから特徴量を抽出して、サウンドを作っていくのが特徴。





そして「特徴量を抽出」する方法が、ディープラーニングの肝なのですが、今回のシンセは同じく昨年googleが昨年開発した音声入出力技術のWaveNetがベースになっています。

サンプリング型のシンセサイザーだと、音がある程度以上(3秒以上)伸びると、波形が不自然になっり、単調になったりしやすかったですが、今回はそのあたりの「間」や「息遣い」なども、ある程度表現してくれるようです。

しかし、これをどう使ったらいいかというのは、まだまだ??の世界。
magentaの自動作曲と組み合わせるともっと面白い効果を生み出せるかもしれません。

本来人の脳を模倣するために生まれたニューラルネットワーク、いつしか人の脳を飛び越して、人類が聞いたことのないような音を生み出していってほしいですね。





2017年4月13日木曜日

携帯用洗濯袋Scrubbaが超便利だった話。

旅先で、出張で困るのが洗濯。



ホテルで洗濯に出したとき、kg単位で洗濯してくれるなら良いですが、クリーニング扱いになって、H&Mの千円くらいのTシャツ一枚をご丁寧に、うやうやしく畳んだ上で数百円取られたりすることもあります。

それもなんだか馬鹿馬鹿しいので、こんなの買ってみました。


Scrubba Washbag スクラバ ウォッシュバッグ 携帯用洗濯袋 2017年モデル

要は防水の袋+洗濯板というアイディア商品のようですが、かなりおすすめです。




洗濯物と、洗剤を入れ蓋をして、上から揉む(自分は足でふんでます)

その後、また、水を入れて、ゆすぐ。

この突起の部分が、洗濯板の役割をするんですね。


ビーチなんかでたまに見かける防水かばんと同じ、仕組みを取り入れているので、防水性は極めて高いです。都合30回ほどつかっていますが、全く水漏れしていません。



ここは余分な空気を抜く穴。


気に入ったポイントは。

  • 袋状なので、水をあまり使わない。
  • 手が濡れない
  • デザイン
  • 小さく、軽い。
ただ、大きくはないので1日程度の洗濯物しかできません。


長期の外出に洗濯って結構厄介なものですよね。

洗濯って、もっともっとイノベーションができそうな分野です。



ちなみにこの手のUSB型小型充電器もあって、悩んだのですが、、、、



Konomise 超音波 多機能ミニ洗浄器 洗濯機 USB充電式 携帯型 節水 子供衣類/タオル/下着/野菜/果物などのもの洗浄 出張/旅行/ホームにピッタリ

「超音波」というのに、いまいち期待がモテないのと、
一度にあらえる洗濯量が少なそうなので、やめにしました。

洗濯袋タイプとこのUSBタイプが組み合わせたものが出ると、よりいいかもだけど。。。




2017年3月8日水曜日

人間と人工知能同じテーマで作曲勝負!してみた


今回使ったのは、人工知能音楽作成サービスAmper

テーマは、サントラ風楽曲で、「2012」的なパニック映画、世界が滅亡するような、ダークで重い、でも、ビートの激しい感じ。。。。

さあ、人間のミュージシャン(僕)が作ったものと比べて見てください!!!





ほら、人間の方がいいでしょ!!!と
といいかったのですが、これ、もうわかんないよね。。。。

というか、人工知能版の方が、楽器が多かったり、リッチな印象すらあります。

人間版はタイトに削ぎ落としたとも言えるのですが。

反面、すこしマンネリしがちな人工知能版に対して、ブレイク的な空白があったりと、人間版の方が、メリハリがある構成になっています。

まあ、どっちがいいかはもう好みとしか言いようがありません。(これがすでにすごいのですが)

とはいえ、人間が1曲作る間に、AIは100曲でも1000曲でも生み出せますから、生産性においては、全く叶いそうにありません。

Amperはアルゴリズムが公開されていませんが、おそらく、ある程度のプリセット楽器のパターンに沿って、MIDIを生成し、音に変えているのでしょう。


以前の、人工知能で作曲してみた のときはgoogle tensorflowとmagentaを使って、メロディMIDIだけ生成したのですが、それと同じようなことを各楽器ごとに行い、またコード進行などもチューニングしているような感じがします。


ちなみに人工知能作成の方は、人工知能マスタリングのLANDRで音圧調整もしています。一切人の手が入っていません。


(*人間版の方は、以前とある雑誌の企画で作ったもので、今回新たに作ったものではありませんが、同じコンセプトでの作曲という意味ではよかったかと。)

2017年1月29日日曜日

計画経済ってこういうこと



「計画経済の元、基本、物は一種類ずつ」
って、意味わかりますか?

僕自身も実際にスーパーを見るまでは意味がわからなかったです。

というわけで、ハバナ郊外の巨大なスーパーマーケットへ足を運んでみたときのこと。
そのスーパーマーケットはキューバでは珍しく、棚の中を歩き回って、手に取れるスタイルの日本でもよくあるようなスーパーマーケット。

(ただし、カバンは預ける必要があり、さらに預け代までとられます)
ですが、ただただ異様なのが、陳列棚に並んだ、大量の同じ商品。

マヨネーズのコーナーには、あるブランドのマヨネーズだけが大量に並んでいます。

つまり、計画経済の元で、生産されるマヨネーズは一種類。

魚の缶詰は一種類、洗剤も一種類、ジュースだって一種類、ってことなのです。


(長年にわたる経済制裁の元で、ほとんどの製品を自国生産しなければならなかったという特殊事情もありますが)

日本なら、コンビニのジュースのコーナに行けば、ファンタやコーラやカルピスに、三ツ矢サイダー。

ここでは、そんなことはありえません。

コーラは一種類、あと、りんご味のサイダーがある程度。

日本のコンビニがあれだけキラキラしているのも、街が看板であふれているのも、資本主義のおかげだったってことに気づくのです。

料理の味が塩味だけになるのもなんとなくわかる。

だって、調味料のバリエーションだってほとんどないのだから!

2017年1月20日金曜日

シンプルすぎる!キューバ飯

 「鶏肉」

うん、塩が効いてる。

「豚肉」

うん、塩味。

「謎肉」

時々歯ごたえのないコンビーフのような、なんだかよくわからない肉に出会います。そしてこれも塩味。

「サラダ」

塩ドレッシング。。。??

「白米」

なぜこれが塩味???

とばかりに基本、「塩味」である。

そもそもあんまり複雑な調味料がないのかもしれないが、徹底して、塩の味しかしない。
酸味や辛味も乏しく、ましてや、出汁?うまみ?何それ美味しいの?状態である。(いや、美味しいんだよ!!)

白いご飯すら塩味なのである。

聞けば、塩をいれて炊き込むのだとか。

これじゃあっというまに高血圧まっしぐらだよ、国民の健康を大事にしてるんじゃなかったのかキューバ!

これといって名物があるわけでもなし、食事に関してはかなり寂しい。

今後、観光客を呼び込む気なら、インフラよりなにより、食事面を鍛えないとけっこうきびしいぞ!

どんなに美しいビーチがあっても、食事が塩をかけた謎肉じゃあまりにわびしいではないか。

と思ってしまったのでした。


というわけで一番うまいのは結局これでした。

なんだかふにゃふにゃした謎肉をパンで挟んだキューバサンド。

まあ、これも塩味なんだけれどね。


2017年1月15日日曜日

キューバンドリームなるか!




オバマ政権下でのアメリカの国交回復、とか、googleがキューバのインフラ整備へ乗り出すとかとか、最近は明るいニュースの多かったキューバ。

すっかり、いまや経済発展の最中なのでは!と思っていたのだけど、、、、、

街を見渡して見ると、、、、実はあんまり変わってないかも・・・・???

90年代のソ連の崩壊に伴う大不況、2008年のキューバ国営銀行の債務不履行(デフォルト)

と二つの危機を乗り越え、「しぶとい社会主義国」と、世界から認知されているものの、やっぱり今もあんまり物はない。

観光客はそれなりにいるものの、商店はガラガラ、陳列棚はスカスカ。



そもそも日本のコンビニのように、陳列棚をあるいて自由に商品を手に取れる店は稀で、大概は窓口で欲しいものを伝えて、とってきてもらうシステムなので、頻繁の物資の購買が起こりようがない。

(カウンターで薬剤師さんに伝えてとってきてもらう薬屋さんみたいな感じです)

国交は回復したけれど、経済制裁は続いているので、物が大量に入ってくるわけでもない。

トランプ政権になってさらに先行きは不透明。

ただし、それでも、土地の売買が解禁になったり、ドイツ、英国、フランス、イタリアからの観光客は増える一方だったり、

アメリカ人のキューバ旅行が完全解禁になればアメリカからの観光ビックバンが起こるともありえる(国交回復後もまだ、アメリカ人とのキューバ旅行には、申請が必要で、完全に自由化されたわけではない。)

と、前向きな材料はそれなりにあり、キューバンドリームを求めて、本国に帰る、キューバ人も増えてきたのだとか。

2017年1月8日日曜日

世界最悪のファーストクラス?、クバーナ航空


世界最悪!の呼び声高いキューバ国営クバーナ航空。

事故率は世界一高く、遅延はあたりまえ。

中華航空に、エジプト航空、パキスタン航空、旅好きみんなが思う、できれば避けて通りたい航空会社の一つ。

なんだかんだで、いままでこれらの航空会社、全部乗る羽目になってきたのが、クバーナ航空だけは乗らずにすんでいたのだけれど、、

しかし、今回、何の因果か、やっぱりそんな飛行機に乗る羽目になったのである。

これは、日頃の行いか、前世の報いか。

それとも格安航空券検索エンジンの罠か。

さて、恐る恐るカウンターへ向かうと、職員がいきなりなぜか野球のユニフォーム、さすが野球大国!

と一瞬思ったが、だからなんなんだ。

何でユニフォームなんだ。

シュール。

しかも、チェックインすると、

「このチケットはファーストクラスだね」

と突然告げられ、人生初のファーストクラスへ。

どうやら、知らずにファーストクラスを買ってしまったらしい。

一番安いの買ったはずなんだけど。。。。どういう基準なのかも謎。

チケットには「1E」の文字、最前列なんて初めてだな〜さすがファーストクラスと思いながら、指定された座席1Eにいくものの、そもそも座席が1A-1Dまでしかなく、1Eなんて席がない!

「??」

となりながらも結局そのまま別の席に案内される。

まあ、そんなもんなのか。結局3時間遅れでフライトへ。

さすがにファーストクラスだけあって、椅子はゆったりなものの、あちこち傷だらけで、肘掛はぼろぼろ。

中国からのお下がりらしい機体にはそこら中に謎の中国語。

印刷のぼやけた非常口案内。

いままで、椅子が倒れたまま起き上がらない飛行機や、アラビア語でお祈りを流しながら飛び立つ飛行機など、謎の飛行機は結構乗ってきましたが、クバーナ航空もなかなかいい線行っております。

キューバは、現在、カナダ、メキシコなど、複数の航空会社が乗り入れておりますが、スリルを味わいたい方にはオススメです。

クバーナ航空。

2017年1月5日木曜日

キューバのインターネットは売人から買え!





この公園は何かがおかしい、、、、
すぐにピンとくる。

そこらじゅうに虚ろな目をした男女たち。
明らかにジャンキーの溜まり場だ!

(あの緑の服を着た男が売人さ)

通りすがりの白人の若者が耳打ちしてくれる。

見ると、緑の服を着た、背の高い男が何やらジャンキー達に売りつけているではないか!

。。。とは言っても売っているのはwifiカード



まだまだ家庭にネットがなく、3gやLTEの携帯ネット接続もまだない。

この国では、ネットはホテルや公園の公衆wifiを使って繋ぐしかない。

接続に必要なカードは国営企業が販売しているものの、国営ならではとにかく遅くていつも長蛇の列、かと思えば午後には売り切れ、がざら。

そのため正規に買えばなら一枚二ドル(1時間)のカードを三ドル払って売人から買うのである。

ちなみにWifiスポットはすぐわかる。

街を歩いていて、そこら中に携帯やノートパソコンを開いたwifiジャンキーたちがいたらその場所がwifiスポットだ。

(ちなみに詳しい場所はETECSAのサイトにあります。)

観光客も市民も、一緒くたになって、公園のあちこちで、wifiを使っている。

虚ろな目をしてセルフィーなどアップロードしてれば間違いなくwifiジャンキーだ。

ちなみにキューバでgoogleが解禁になったのはつい去年からのこと、アメリカからの経済制裁によってネットインフラを整える機材は不足し、世界で最もネット事情が遅れた地域の一つだ。

家庭にインターネットはほとんどなく、市民も公園やホテルに出かけて行って、使っている。

なにせネットを自宅に引くには、月1万円以上するので、キューバの庶民には手が届かない。

アメリカの経済封鎖が解ければ、きっと、この環境も、数年以内に整備されるだろう。(しかしトランプ政権になってちょっと先行きが不透明になってきた)

もちろん、インターネットビジネスもまだまだこれから、インターネット最後のフロンティアにキューバンドリームは起こるだろうか。


2017年1月4日水曜日

不思議な社会主義、キューバ配給事情



「卵は一人につき5個だね」

とフェレンタおばあちゃん

一週間に?

「いや一月だよ。それに砂糖や塩、米やスパゲッティも配給だよ」

と手帳を見せてくれた。

"食料品の配給管理"

と書かれた手帳には、年齢をチェックする欄がありそれぞれに合わせた食料の配給が行われることを示している。

5個が多いか少ないかはともかく、これが社会主義世界かーと不思議な感覚になる。

「それに、キューバは大学まで教育費も無料なのよ。あ、でも電気代とかは無料じゃないけどね」

と同居人の絵描きアイーダがいう。
アイーダもキューバの大学で芸術の学位を取ったのだそうだ。

キューバは教育と医療を国の最も重要な物、と位置付けているため医療も無料、年金だってしっかりもらえる。

生活の心配がないから治安もとてもいい。

治安の悪いところが多い中南米では例外的に、夜の一人歩きも問題ない。


そんなフェレンタとアイーダの今日の食卓は目玉焼きに塩味をつけて炊いた米、缶詰の肉、ビーツの漬物。お世辞にも豊かという感じではない。

レールを外れると元に戻れないと言われる日本と、豊かではないが生活の心配がないキューバ。

革命以前に生まれている今年73歳のフェレンタおばあちゃんに今の社会をどう思うか聞いて見たかったが、そんな複雑なことを話せるスペイン語力はなかったのが残念。。。。

(実際には完全無料ではなく限りなく無料に近い超低額で購入可能なのだそうです)