きっかけはテレビの音
14年前、僕は大学生で一人暮らしをしていた。当時も今も朝に弱いのだが、テレビのタイマー機能を目覚ましにしていた。
毎朝8時にフジテレビが映るのだ。が、大抵は30分以上目覚めず、僕はテレビの音を聞きながらなおも寝ていた。
当時はもちろんブラウン管のテレビです。
そんな日々が続いたある朝、気がついたのだ。「あれ、俺、やたらと小倉さんの夢ばっかみるわ」と。フジテレビで朝8時と言えば「とくダネ!」であり、とくダネ!といえば小倉智昭さんである。
毎朝、妙に小倉さんが夢に出てくるのだ。「おはようございます!」から始まる一連のトークを夢の中で見ている訳だ。寝てるのに。
もしかして小倉さんに恋しちゃってるのか?自分にそのケがあったなんて!と思ったりもしたけれど、何日かして「夢って聞いてる音の影響をモロに受けるんだ」と気がついた。それが今から14年前の事だ。
実は今回は写真があんまり無い。夢とアプリ開発の話だから。という訳で、余ったスペースには関係無いハンバーグ写真を載せておく。
1998年に初代夢操作アプリを作った
夢を音でコントロール出来るかも、って気付いたらやっぱそういうソフトウェアを作って試してみたいってのがプログラマーの性である。
僕は高校時代にプログラミングを勉強し、C言語などを使えた。その技術を使ってしょーもないフリーウェアなどを作っていた。
そこで、WindowsPCで動く夢コントロールアプリを開発しようと思ったのだ。
当時パソコンはかなり高価な物だったが(CD-ROM付のノートPCが50万円とかの時代)、バイトしてお金を貯めてデスクトップパソコンを買ってプログラムを書いた。
そうして出来たソフトを夜な夜なテストしては好きな夢を見ていた。デスクトップパソコンはファンの音がうるさくて寝付きが悪いときもあったが、かなりの確率で好きな夢を見られたのだ。
デミグラスハンバーグに目玉焼き、鮮やかな付け合わせという子供の夢みたいな一皿。
僕は交渉論のゼミにいたのだが、先生が変わった人で、卒論はなにをテーマにしてもいいというので「ソフトウェアによる夢のコントロール」について書いた。よく単位くれたな、と今にして思うのだが先生は面白かったと言ってくれた。
それから14年、卒論の事も夢アプリの事も最近はすっかり忘れていたが先日テレビを見ながらうたた寝をしていて思い出した。落語の夢を見たのだが、ふと起きるとテレビで落語の番組をやっていたのだ。ああ、そういえば夢って音の影響受けるんだった、と14年ぶりに思い出した。
超大雑把な睡眠グラフ。青い折れ線が眠りの深さを表す。
睡眠周期と夢
夢をコントロール出来ると僕が言っても眉唾だろう。科学って言うかオカルトに見えるかも知れない。そこで、それなりに科学っぽく夢と睡眠ついて解説しておこう。
まず、人間の睡眠周期だが、寝入ってから60分ほどはノンレム睡眠と呼ばれる深い眠りになり、脳の活動が鈍くなる。体はちょっとだけ起きていて寝返りなどは自動的にしてくれる。
その後徐々に睡眠が浅くなってレム睡眠になる。レム睡眠のレムは高速眼球運動の事で、レム睡眠になると目がキョロキョロと動く。
レム睡眠中は脳がわりと起きていてハッキリしたストーリーがある夢を見る。ノンレム睡眠中も夢を見る事は見るのだが、脳の眠りが深いのでかなり抽象的な夢にしかならず、また記憶にもあまり残らない。
最初のレム睡眠は10分~20分ほどで終わり、次にまたノンレム睡眠になる。レム睡眠とノンレム睡眠は合わせて90分くらいの周期で、朝に向かってノンレム睡眠は短く、レム睡眠は長くなっていく。
猫も夢を見る事が知られている。
という訳で、レム睡眠とノンレム睡眠にはそれぞれ特徴がある。
・ノンレム睡眠…睡眠初期では長いが短くなっていく。寝返りはする。抽象的な夢を見るが記憶に残らない。
・レム睡眠…目がキョロキョロと動くが、体は動かない。ハッキリした夢を見る。朝に向かって長くなる。
レム睡眠中は夢と連動して体が動くと困るので、脳と体は切り離されて体が動かなくなる。そんな時ウッカリ脳だけ起きてしまうと金縛りになる。金縛りは西田敏行のせいで起こるのではないのだ。
夢は環境から影響を受ける
夢は前述した音の他に、体の状態からも影響を受ける。例えば、尿意がある時はトイレを探す夢を見るし、布団を掛けずに寝ていれば寒くて雪山の夢を見る事だってある。匂いの影響もあって、みかんの匂いがすればみかんの夢を見る。
そんな経験、誰でもあると思う。
黒猫は寝るとブラックホールになる。
夢コントロールアプリを作ろう
夢を人為的にコントロールするには音が最適である。音はコンピュータで扱いやすい。パソコンやiPhoneから好きな匂いが出てきたら素敵だけど、そういう機能は今のところ無い。
という事で、14年前とアプローチは同じ。音を使って夢をコントロールするアプリを作ってみたい。あの頃とは違って、今はiPhoneという便利な機械があるのでiPhoneアプリを作る事にした。
匂い機能は無いが、iPhoneには振動を検知するセンサーは付いている。寝返りなどの状態をモニターして眠りの深さを調べる事も出来そうだ。
レム睡眠の時に音を流せばいいのだ。
レム睡眠中に音を流せばいいのだ
ここまでの話をまとめると、
・夢はレム睡眠中に見ている。
・レム睡眠中に音を流せばその音に影響された夢を見る(場合がある)。
・iPhoneはそのアプリを作るのに最適。
という感じになる。最近の僕の本業はiPhoneアプリの開発だからして、そういうアプリを作るのはお手のものである。
では早速作りましょう。
アプリはどうやって作るのか?
工作の記事ならここでなにかを作る過程を載せたりするのだけど、アプリ開発の場合はどうだろう。僕がパソコンに向かってキーボードを打つ姿を載せて意味があるだろうか。
でも、スマートフォンのアプリをどうやって作るか知らない人もいるだろうからざっと説明させていただきます。
開発に使っているMac mini。メモリは増設して8GBにしてHDDはSSDに載せ替えた。
iPhoneアプリの場合、開発にはAppleのマッキントッシュが必要になる。昔は100万円とかしたが、今は5万円程度で買える。激安である。
これに、開発用のソフトを入れるのだがなんと無料だ。開発用のソフトだって数年前は何万円とか何十万円とかしたが、今や無料である。どうかしてるんじゃないか。
僕が初めて買ったiPhone3GS。今は4S使ってます。
マックと無料の開発ソフトがあれば開発自体は出来るが、マックの中で動かしているだけじゃ面白くないので普通はiPhoneも用意する。
更に、開発したプログラムを自分のiPhoneに入れてテストするにはライセンスが必要で、それが年間8,400円かかる(為替によってたまに変わります)。というわけで、驚くほどの金額じゃないがそこそこお金は掛る。でも元もとマックやiPhoneを持ってるなら8,400円だけなのでお手軽である。
アプリはどうやって作るのか?その2
準備が終わったら次は開発。無料の開発用ソフトと言ってもすごく良く出来ている。画面にボタンを置いて押したら反応するという程度のアプリなら5分で作れてしまうのだ。
カメラもGPSも加速度センサーも簡単に使える。パソコンに出来ない事が色々出来てしまう。僕は長らくパソコン向けのプログラムを書いてきたが、iPhoneアプリの開発はパソコンより大分面白い。
こういう開発ソフトにプログラムを打ち込んでアプリを作るのです。
開発ソフトでアプリを作って実行ボタンを押すと、USBケーブルで繋がっているiPhoneにプログラムがコピーされて起動するという仕掛けである。
最初は設定とかが訳わかんないけど慣れれば問題ない。アプリ開発っていうとなんか凄そうだが、実際はホームページを作るのと大差無い。
これが実際のプログラム。色分けされてて見やすいです。
と、いう感じでアプリを作ったらAppleのAppStoreに登録申請を出す。iPhoneの場合はAppleの審査を通らないと広く流通させられないのだ。
で、無事審査を通ればAppStoreに登録されて世界中の人がダウンロード出来る様になる。僕はアプリを数本リリースしていて、iPhoneを山でGPSとして使う山用アプリ
DIY GPSがよくダウンロードされている。山登りする人は使ってみてください。
DIY GPSを実際に山で使っている様子。携帯圏外でもiPhoneのGPSは使えるので、山奥で正確に現在地が判ります。
で、夢アプリですよ
込み入ったコンピュータの話を長々書いてしまってすみません。さて、夢アプリをどう作るかだ。アプリとかシステムの開発というのは、まずどんな機能が必要なのかを考えるとこから始める。
夢アプリの場合は、大雑把に言って次の5つの機能が必要になるはずだ。
・寝てるときに音鳴らす部分。
・鳴らす音声ファイルを管理する部分。
・設定を管理する部分。
・寝ている間に記録したログを管理する部分。
・使い方を説明する部分。
なので、画面は5つになって、それぞれの画面を適当に設計すると下の様な設計図になる。設計図っていうかほぼ落書きだが。
この落書きのせいで一気にデイリーポータルZっぽくなっただろう。僕にとってはこれが設計図なのだ。
会社の仕事として設計図を書く場合はOfficeソフトなんかを使ってキッチリしたのを作るのだけど、自分しか見ない場合はこれで十分である。普通は更に細かい動きの設計なんかも書くのだが、僕はめんどくさがりなのでそういうのは省く。設計なんて飾りです。偉い人には以下略。
設計の次はアプリに使う画像やアイコンを作ったりプログラムを書いたりしてなんやかんやすると、下の画像みたいな画面が出来上がるのだ。
左のいたずら書きを元に色々作り込むと右のようになる。冗談みたいだけど僕は大体いつもこんな感じ。画面レイアウトはSleep Cycleというアプリを参考にした。
これは、起きる時間をセットしてボタンを押すだけの画面。
「GOOD NIGHT」ボタンを押したらiPhoneを枕の下に入れて寝るだけである。プログラムが経過時間とか振動からレム睡眠っぽいなーと判断したら登録されている音を鳴らす。ついでに振動のログを保存する。
眠りのパターンを調べてみる
アプリの開発と並行して、寝ている間のログを取って「睡眠中になにが起きているか」を調べてみた。脳波とか眼球運動を調べられれば一番良いのだが、そういう設備は無いし予算も無いのでiPhoneの加速度センサーで振動だけ調べてみた。それでも寝返りは検知できるのでデータからなにかが見えてくるはずである。
寝てると猫が乗ってきてうなされたりします。
作りかけの夢アプリを枕の下に入れて寝て、一晩明けたらこんなログが取れた。ログはテキストファイルとして抜き出してExcelでグラフにした。
横軸が時間、縦軸が振動の大きさを表す。
飛び出してるところで寝返りをしているらしい。
左で寝始めて、右が朝である。左よりも右の方が寝返りが多くなっていて、なんとなく眠りが浅いのかな?という感じである。朝に向けて眠りが浅くなるというのはどうやら本当らしい。
また、違う日のデータをSleep Cycleというアプリのログと重ねてみた。Sleep CycleはiPhoneユーザーにはお馴染みの目覚ましアプリで、起きる時間をセットすると眠りが浅そうな時を見計らってアラームを鳴らしてスッキリ目覚めさせてくれる賢い目覚まし時計である。
細かい青い線は僕の夢アプリで取ったログ。黒くて太めの線がSleep Cycleのログ。
Sleep Cycleは睡眠のログをグラフで見る機能があるのだが、そのグラフと夢アプリで取ったデータのグラフと大体一致した。
夢アプリのログを処理してみたら更に近い感じになった。
正直、振動データだけで眠りの深い浅いを判断しちゃっていい物だろうかとうっすら思っていたのだが、睡眠アプリでは世界トップのSleep Cycleがそうしているのならきっとそれで良いのだろう。
他の画面もザクザク作ろう。
寝てるときに鳴らす音源ファイルを管理する画面。左の落書きが右のようになる。
設定画面。落書きを元にしても綺麗に作れるのだから現代のデジタル技術は素晴らしい。
コレにいたっては左のは落書き以下っていうか、書かないも同然の役割しか果たしてない気がする。
さぁ試そう、すぐ試そう
アプリは5日ほどで大体出来た。細かい調整は使いながらやっていけば良いので早速使って効果を試してみよう。
続きは次のページで。
なんとなくデイリーポータルの夢を見た気がした。
チェックが入ってる音源がランダムで再生されるのです。
手始めにデイリーポータルZラジオの夢だ
なんか適当な音源が無いかと探して、ああ、良いのがあったと思ったのが当サイトのラジオである。今回作った夢アプリはmp3ファイルを登録すると、それを夜中にランダムで再生する仕組みなのだ。ちょうどデイリーポータルZラジオの録音ファイルはmp3で、都合の良い事に30分程度に編集されてるのもある。
デイリーポータルZラジオ
mp3をダウンロードして夢アプリに取り込んでやればいい。iPhoneユーザーにはお馴染みのiTunesを使ってアプリ内にmp3ファイルをコピーしてやれば夢アプリで使える様になる
で、寝てみて次の朝どうだったか。
寝てる様子のイメージ画像。
あんまり覚えてない
最初から予想されていた事だが、なにせ夢なので寝て起きたら大体覚えてない。最後に見た夢は覚えてる事が多いが、夜中に見た夢なんて大体忘れちゃうものだ。
なんとなく編集部の工藤さんや石川さんが夢に出てきたような気もするが、それが夢の記憶なのか現実の記憶なのかいまいち判然としない。
そこで、夜中に無理矢理起こして夢の記録をさせるモードを作った。
4つの設定を切り替える事で、夢のコントロールを取るか安眠を取るかを選べる。っていうか安眠したいならこんなアプリを使う事自体間違っているが。
設定でどうにかする
ソフトウェアの設計で迷ったら設定にしてしまえばいい。特にこういう効果があやふやなアプリの場合は設定にしてしまって色々試せた方が良い。
そこで色々と設定を作った。「まどろみモード」ってのは起床時間の30分前になると音を流すというモード。起きる前の夢は覚えている場合が多いのでレム睡眠とか関係無く音を鳴らす様にした。
「夢優先モード」は、レム睡眠の判定を甘くして夜中に音が鳴る時間が多めになるようにしたモード。当然うるさいので夜中に起きてしまうかも知れない。
酷いのが「記録目覚まし」で、レム睡眠で音を鳴らして、それが終わると空襲警報みたいなサイレンを鳴らして無理矢理起こして夢の記録をつけさせる機能である。この記事を書くために付けた機能だ。
最後の「寝返りでミュート」は優しさ。音がうるさくて寝返りを打った、つまり眠りが浅くなりすぎたときに音量を下げる機能だ。記事を書くのに優しさはいらないのでオフにして寝る事が多い。
こんな感じで色々対策をして毎晩テストした。夢の内容をメモできるようにメモ帳とボールペンを枕元に置いて寝た。
しかして、上手い事好きな夢を見られてそれを記録できたのか?
ずっと真っ白。
頑固な眠りっぷりである
これがもう、笑っちゃうくらい起きないのだ。アプリの動作を確認するとちゃんとmp3を再生した後にサイレンを鳴らしているのだが、僕は起きない。夢も覚えていない。メモは残っていない。
夢アプリのログを見るとそれなりにレム睡眠っぽい時間に音を鳴らしている様だが、どうも夢をちゃんと見られたのか判らないのだ。
この日は4回DPZラジオの音源を鳴らしたらしい。
電車や海の音を鳴らしたらしいが記憶にはない。
どうも夢をコントロール出来てるのか出来てないのか釈然としないが、一度や二度の失敗で諦めていたら進歩はない。
まだまだ諦めずに毎晩アプリのテストを続けてみました。
遂に夢の内容をメモに残せた。字が汚すぎるが僕には読める。
こんな夢を見た
まず見ていたのは、実家で漫画を読んでいる夢である。その後なぜか海岸に行った。海は荒れていて、でも泳ごうとしていた。海岸沿いにコンビニが2軒あるが、そのコンビニでお菓子を買った。
シーンは変わってハウステンボスみたいなテーマパークへ取材に行った。男性二人組に話を聞いていたら起きた。
と、いう夢を見たのだがその時にどんな音声が鳴っていたのかというと、
音が鳴ってない時に夢を見てたらしい。
左の画像の赤い矢印のとこで夢を見ていた。なんと、音声は再生されてなかったのだった。ガーン。
なんでハッキリ言えるのかというと、起きた時に鳴ってたのが最後、半分見切れている「怪談の夢.mp3」だったからだ。怪談の音声ファイルなんだけどBGMのピアノがやたらとデカイ音で起きてしまった。笑いながら「うるせー(笑)」って起きたのだ。怪談なのに。
だから夢を見ていた時は怪談の前の部分、音は鳴ってない期間なのである。
レム睡眠中は体が動かなくなるから振動グラフは静かなはずなのに、ちょこちょこと振動が記録されてるのがちょっと不思議だ。青い線がみょーんと伸びている。
猫、または妻の仕業という事も考えられるが実はレム睡眠中でも多少は寝返りを打ってるのかも知れない。
大荒れの太平洋の夢を見ました。
こんな夢を見た2
夢の舞台は通っていた高校で、体育の授業でなぜかキャッチボールをしていた。キャッチボールは二人一組でやるが僕の相手がいないのだ。
気付くとグラウンドはぬかるんでいて、いつの間にか高校のグラウンドから小学校のグラウンドに変わっていた。ではその時どんな音が流れていたのか?
次はこんな夢を見た。
人間失格の朗読でどういう夢を見るのか。
左の画像の赤い矢印のとこで流れていたのは太宰治の「人間失格」の朗読である。Youtubeにあった人間失格の朗読動画をmp3変換サイトで変換してアプリに入れた。
人間失格の影響でキャッチボールの相手がいない夢を見たのだろうか。人間失格をいつも持って読んでいた友達が高校にいたので、その影響で高校の夢を見た可能性もある。
人間失格の影響を受けるなら、睡眠薬と間違えて下剤を飲んで下痢をするとか、下男や下女の前でおどけて落ち込む夢が妥当に思うが、どうもそういう夢の記憶は無い。
結局コントロール出来てるのか出来てないのかよくわからない具合だ。
僕が卒業した小湊小学校の校庭。
こんな夢を見た3
僕は前に住んでいた浦安のマンションに行って、部屋は空っぽなんだけどベッドだけは置いてあって、そこに布団を敷いた。なぜか洗濯をして洗濯物を干したら、不動産屋のお姉さんが来た。お姉さんのお父さんが死んだというので、弔いの酒を飲む事にした。で、起きた。
9時半に一度目覚めたらしい。
さるかに合戦とは関係無い夢を見た。
起きたら夢アプリからは「官能昔話 さるかに合戦」のmp3が流れていた。Sな猿がカニに柿を投げつける話だ。
9時半に目覚めたのでおそらく夢を見ていたのは左の画像の赤い矢印辺りである。夢を見ていた時でもそれなりに振動グラフが振れている。やっぱ動いてるなぁ、体。
僕が見た夢の内容と官能さるかに合戦とはあんまり関係なさそうだ。お姉さんのお父さんが死んだのとカニが酷い目に遭うのが重なってたりするのだろうか。
前住んでた部屋の夢を見たのは、おそらくディズニーの花火のせいだ。寝る前の夜、舞浜のイクスピアリに映画を見に行ったのだがちょうど20時半で花火が上がっていた。それを自転車に乗りながら見てたんだけど、そういえば浦安に住んでた頃は部屋から見えたんだよなぁと思い出したのだ。
夢は記憶を整理するために見ると言うが、本当にそうらしい。夢の中で洗濯してたのも、寝る前に妻が「明日は洗濯をする」と言ってた影響かも知れない。
浦安の部屋からはこんな感じで花火が見えてた。
1ヶ月半くらいテストをしてはプログラムを調整する繰り返して来たのだが、どうにも夢をコントロール出来てるのか判らない。14年前に実験してた時は割りと好きな夢を見られていた気がするのだが。
横で妻が寝ているので気を遣って音量を絞っているのがいけないのだろうか。以前はイヤフォンをしたまま寝て実験した事もあったが、先日試したらイヤフォンのケーブルを猫に食いちぎられてしまった。しかも3日連続で3つも。
また、あの頃と比べて眠りの質も変わったような気がする。若い頃は眠りが浅くても眠り続けられたが、最近は長時間寝ると疲れて起きてしまう。そういうのも夢のコントロールに影響してるのかも知れない。
まだ新品同様だったiPhone4Sの付属イヤホンが無残に。
今後も改良を続けます
記事内では単に「夢アプリ」と書いていたが、正式名称は「Dream×Dream」であり、AppStoreで配布しています。最初は公開しないで自分だけで楽しもうと思ってたのだが、なんとなく公開してみる事にしました。当面は無料にしておくので興味があったらダウンロードしてみてください。そのうち有料にするかもしれないのでお早めに。
Apple AppStoreはコチラ
Dream×Dream公式サイト
http://keijiweb.com/down/dream/
レム睡眠の時は体がまったく動かないのかと思ったら、少しくらいなら動いてる事が判りました。レム睡眠では体は動かないって思ってプログラムを作ったので、実態とプログラムが合ってないのかも知れません。
今後もレム睡眠を推定するプログラムを調整していきたいと思います。音を再生するタイミングをもっとちゃんと調整出来たら夢のコントロール精度も上がるんじゃないかと思うのです。だって、こないだ落語の夢見たんだもん。