potato_logger

更新頻度低いです。いろんな分野の記事を書けたらいいですね。

sunken azure world (Deeper and Deeper Remix)のはなし

このブログには、技術ネタ以外の話も積極的に盛り込んでいきたい次第です。

選ばれました

http://diderse.jp/adddaida/index.html

2/14〜28の間で開催されていた"Daida Remix Contest 2nd Game"にて、拙作であるsunken azure world (Deeper and Deeper Remix)を採用いただき、Webアルバム"ADD;DAIDA"に収録されました。本楽曲は、昨年開催された"THE BMS OF FIGHTERS 2012"にて公開されたmakiさんのBMS楽曲"sunken azure world"のリミックスとなります。Webアルバムには、SOUND VOLTEXで楽曲が採用されたshinさんや、大御所すぺらんかー先生のリミックスも収録されています。ぜひぜひ。(というか曲に対してジャケットまで丁寧に作っていただいて誠に恐縮です・・・)

リミックスのコンセプトについて

今回"Deeper and Deeper Remix"という安直なリミックス名にしたんですが、まあとりあえず深海の雰囲気を出してみたかったっていう簡単なコンセプトと、"sunken azure world"以外のmakiさん(が過去の名義で活動なさっていた頃)の楽曲をちょっとだけミックスしてみたというのもあって、アーティストに関して深く掘り下げるという意味も込めています。一応補足しておくと、このリミックス名は曲作り始める前から既に決まっていました。まあそのせいで安直になってしまったというのもあるんですが。何の楽曲を混ぜたのかという話もしたかったのですが、原曲作曲者であるmakiさんの気分を害する可能性があると判断したので、ひとまず割愛致します。というか、勝手に混ぜちゃってすみませんでした・・・・・・(土下座)

きっかけとか作ってみての感想とかを長々と

2/13に、上記のWebアルバム"AD;DAIDA"公開記念のUstream配信があり、そこでWebアルバムの収録楽曲が全曲流れていた(自分は途中参加だった)のですが、その配信で初めてsunken azure worldを聞いて「すげえいい曲だな」って思ってたら、パッとremixが頭に思い浮かんで、尚且つ周囲の「参加したかった」という発言につられて、今回のコンテスト参加に至りました。で、さり気なく書いたんですが、実は原曲を聞いたのは"AD;DAIDA"公開記念Ustが初めてで、BMS自体も未プレイの状態で作曲しておりました。makiさんごめんなさい・・・こんな素晴らしい楽曲を今まで無視していたなんて・・・。ちなみに、BOF2012の代打三兄弟の他2曲(atmbzkさんの曲、ねここうもりさんの曲)はプレイ済みでした。これはひどい。

で、実際に作ってみたのですが、実は色々あって現在の作曲環境が、MacBookに導入したVMWare上で動くWindows 7に導入したFL Studio 10という、だいぶアホな環境になっています。(数ヶ月使ってみて悟りました。やっぱりWindowsマシン必要だこれ。)よって、あまりメモリを浪費できない環境を強いられたので、今回はSynth1(とってもかるい万能フリーシンセ)、TranceDrive(結構軽いTrance楽曲向けフリーシンセ)、Autogun(makiさん本人も使用なさっているプリセット42億シンセ)、Sytrus(今回サブベースにしか使わなかったけどこちらもわりと万能シンセ)というシンセ群でリミックスに挑戦しました。 ワブルベースも全部Synth1(だったはず)です。まあ良さげなプリセットを見つけたので、それをちょっといじって使った程度なのですが、それでもやはり音作りにはだいぶ苦戦しました。何度かMassiveに逃げたくなることがありましたが、環境が環境なのでそうするわけにもいかず、今回はSynth1でがんばりました。でもSynth1ホントにできる子なので皆さん積極的に使いましょう。 TranceDriveについては、いい音は出るのですが、たまにFL Studioでオートメーションを使ってパラメータをいじれないことがあって、そこだけはちょっと残念でした。とはいっても、いじるパラメータは1個だけでしたし、音を鳴らしてる途中で変化させるわけでもないので、シンセをクローンして解決したので、そこを除けばTranceDriveもとても良いシンセだと思います。 Autogunは、とにかくプリセットから良い音を見つけ出すのに苦労しました・・・。最初は、曲の序盤で使われているベル音と、曲の終盤で使われているベル音を別の音にしようと思っていたのですが、終盤に使うベル音を決めるときに、いい音が見つからなくて結局挫けました。Autogunマニュアル*1によれば、全部のプリセットを試そうとすると、1つのプリセットにつき1秒試すだけでも136年以上かかるらしいですから、挫けるのも当然でしょう・・・。(ちなみに今回使ったのは98番です。) Sytrusは・・・うん、まだよく分かんない。(ごめんなさい)

最後に

今までいちBMSプレイヤーだった自分も、このような形でBMS界隈に微力ながら貢献できたことを嬉しく思います。 あらためて、今回は採用いただき、本当にありがとうございました!

*1:翻訳: http://www42.atwiki.jp/fruity/pages/144.html

自分専用Twitter Botのはなし

きっかけ

先日、東京Ruby会議10に参加して、色々なセッションを聴いてるうちに、自分も何かアクションを起こしたくなったので、まずは「自分のためのCodeを書く」ために、自分専用のTwitter Botを作り始めました。

https://github.com/potatosh/knynrh

Botにやってほしいこと

  • 明日が雨だったら傘を持って帰るよう促してほしい
  • Beatportで自分の好きなアーティストの新譜が出たら知らせてほしい
  • でも全部知らせるのは無理だと思うので、アーティスト名リプライしたら詳細を知らせてほしい

今のところはこんな感じです。

ちなみに今は

まだ上記の機能の実装には取り掛かっていなくて、まずはこれらの機能を楽に実装できるように、基盤づくりから始めました。機能ごとに実装するファイルを分けられるようにして、それぞれSpecを書きつつ実装できるようにしました。基盤を作るのにだいぶ時間がかかってしまいましたが、一昨日ようやく動くようになりました。

で、今は1日1回"hi"って呟くだけのBotになっています。

今後

リストアップした機能を実装していくために、色々APIを叩くことになるのですが、既に専用のGemがあって、これを使おうか、練習がてら自分で実装しようか迷っているところです。

もしよろしければ

Ruby初心者が必死にRubyを書いているので、おかしい部分が多々あるかもしれません。Pull Requestを投げているので、何かツッコミをいただければ幸いです。

謝辞

https://github.com/r7kamura/chatroid

今回のBotには、r7kamuraさんのChatroidを使わせていただいています。また、Botの基盤を作る際にも、Chatroidの設計を参考にさせていただきました。多大なる感謝を致します。(READMEにも書きたいんですが、どう表現したらいいか悩んでいます・・・)

東京Ruby会議10に参加してきました 3日目

3日目のセッションの感想を書いてみた(一部)

http://tokyo10.rubykaigi.info/

先日2日間開催された東京Ruby会議10ですが、2日目が大雪の影響で中断となってしまい、2日目の一部セッションが発表されませんでした。この2日目に発表されなかったセッションを補完するため、間が空いて3日目が、「シン・東京Ruby会議10 劇場版 ||=」という名前で2/10に開催され、そちらに参加してきました。ということで、今回も特に気になったものを抜粋しようと思います。

Ruby cruising Love / 大和田 純さん

今回、開催場所の名前にちなんで、「大和田Ruby会議」という形で、東京Ruby会議本編直前の特別セッションとして、大和田さんがRubyistとしてどのようなことを考えているかについて発表していました。

大和田さんがRubyの勉強の際に読んだ書籍が3冊紹介されていて、3冊とも名前を聞いたことがあって、うち1冊は私も実際に読んだことがある本でした。

たのしいRuby 第3版

たのしいRuby 第3版

初めてのRuby

初めてのRuby

メタプログラミングRuby

メタプログラミングRuby

読んだことがあるのは「初めてのRuby」なのですが、「Rubyだったらこういう書き方をする」という解説があって、Rubyを勉強しつつ、CやJavaとは違う文化を知ることができました。「たのしいRuby」でも、「JavaやCでやっていることをRubyでやるにはどうするか」ということが書かれているそうですが、「初めてのRuby」とはどう違うのかが気になるところです。

また、「言語を学ぶときは、本を読むだけではなく、実践を通じて学んだ」、「技術は訓練によって身に付けることだ」と話していて、やっぱり言語を学ぶには実際に書くことが大事なんだと思いました。

Railsプログラマーの日常 / joker0117さん

joker0117さんは、日々のRailsによる開発において、特に意識していることについて発表していました。

発表の中で、「メンタルモデルと実装の一致」という話があって、いまいちピンと来なかったのですが、その後の話を聞いて、昨年のDevelopers Summitで角谷さんが言っていた「ソフトウェアは、お客様の頭の中にある」という言葉を思い出しました。そのためにも、業務ドメインの言葉を使って表現する努力は欠かせないなぁと感じたのでした。

また、「一番大事なビジネスロジックを書くのはモデルだ」と話していて、これに関しては、今までRailsにあまり触っていない身としてちょっと新鮮に感じました。ただ、オブジェクトというものが、値と振舞いを持つものであるを考えると、それも普通のことなのかなぁ、となんとなく感じました。

沖縄に集まってRails Hackathonをやってみた。 / 安川 要平さん

安川さんは、昨年11月に行われたRails Hackathon in Okinawaについて発表していました。 1日目は自己紹介から始まり、その後はずっと開発を行い、2日目に結果発表、3日目には自由時間として沖縄のいろいろな場所に行ったそうです。

個人的には、成果として発表されていたScreenXTVというサービスがとても便利そうだと思いました。ターミナルの内容をオンラインでリアルタイム配信できるサービスで、これがあれば、勉強会の場所がなくても、オンラインでの勉強会がとても捗るのではないかと考えました。

巻き込まれ型人間のボッチ脱出計画 / すがまさおさん

すがまさおさんは、Ruby界隈の方々とあまり交流がなかった頃に、交流を増やすために取り組んだことについて発表なさっていました。

すがまさおさんは、RubyKaigiのレポート班に誘ってもらって、それをきっかけに交流が増えたそうです。また、レポート班に誘ってもらうまでに、コードを書いて公開したり、勉強会に参加したり、ブログを書いたりして、交流のきっかけを作ったそうです。

発表の中で、「コードを書くと言っても、いきなりすごいライブラリを書けるわけではないので、まずは自分のためのコードを書いた」と話していました。これはhibariyaさんが札幌RubyKaigi2012で発表なさっていたLTの内容で、コードを書く大きな助けになったそうです。(私自身もとても感銘を受けました。)

私もRubyプログラマ界隈にはまだまだ馴染めないので、このセッションは、もっとアウトプットを増やしていきたいと強く思うきっかけになりました。

3日目のセッションを通して思ったこと

3日目のセッションは、Rubyistのみならず、プログラマとして考えるべきことを多数聞けて、とてもためになりました。特に、実践を通して学び、積極的にアウトプットすることは、とても重要だと、強く思いました。Ruby初心者として、まだまだ自分にできることは少ないですが、まずはできるだけアウトプットするよう心がけていきたいです。

Rubyを勉強したい」と思いつつも、なかなかモチベーションを保ち続けることができずに悩んでいた時期が私にもあったので、今回はその悩みに対するアドバイスになるセッションが多く、とても楽しく聞けました。

今回予期せず3日間になった東京Ruby会議10ですが、3日とも学びとなることが多く、本当に参加してよかったと強く思えました。次回の大江戸Ruby会議03も楽しみです!(申し込み済み)

http://regional.rubykaigi.org/oedo03