新・日々の暮らしに疲れてない?

一人バンド、火頭工房

Scalaかgolangか、それが問題だ。

タイトルの通りそれが問題だ、いや、だったのだ。

 

javascriptを学習して以来、もう一つくらいプログラミング言語を学びたいと思っていたのですが、候補のScalaかgo言語(golang)どちらにするか決められずにずっと悩んでいたのでした。更に、Pythonも良いかもなぁなど、気づけば半年ほど流れてしまったわけです。

 

これじゃいかん、とついに決心。go言語で行きます。なんか環境構築が一番簡単そう、かつIDEが軽量っぽかったので 笑。(実際中々快適です)

 

使ってみた感想は...「難しい」です。
型宣言? なんでこんな面倒なことを...
引数にも型宣言すんの?
ポインタ? 初心者キラーとして有名なアレ? やっぱ全然ワカンネ。
とまぁこんな感じでした。

 

ログ出力もjavascriptならブラウザのログをクリックすればプロパティが調べられたりして楽だったのですが、go言語はそういうことが出来ず、ちゃんとドキュメントを読む努力をしないといけないようです。そもそもgo言語で作りたいものがないという噂も出るシマツ。

 

チョ、待てよ。そういや近所の図書館でgo言語入門書があったぞ。

シケた図書館にしては珍しい蔵書だったので、覚えていたのです。そこでサイトで貸出状況をチェックをしてみたら...残念、貸出中。実はこの状態が2週間以上続いていて、誰か知らんが年末手前からずっと借りてやがるんですよね。

 

まぁそれは良いとして、毎回あの図書館のシケたサイトにチェックしに行くの面倒。キーワード打ち込んでクリックをするのにもカロリーを消費します、自動で確認してくれる機能があれば...

 

チョ、待てよ。こういうのどっかで聞いたことあるな...と思い出したのが「HTML解析」です。パーサーとかクローラと呼ばれるものです、これを試しに作ってみようというお話。

 

実際はセッションだかの関係上、図書館の在庫チェックには使えなかったので、方向転換して画像収集クローラを作ることに。

 

ちなみに実際、図書館のサイトに情報収集クローラをかけて犯罪に間違われたという話があります。悪意はなかった、ということで大きな事件には至らなかったと記憶していますが...サイト巡回は気をつけないとサーバーに負担をかけてしまうということですね。

 

私がこの手の記事を書く時は大体の作業は終わっていて、このクローラも多少ムリヤリですが、目的は達成しております。


しかし現状では画像の数だけhttpリクエストを発行しており、なんとなくサーバーフレンドリーとは言えない気がします。httpリクエストは一度だけで済みそうなものなので、もう少し勉強してみます。

 

サイトに設置されているボタン用画像などは保存しても仕方ないので、正規表現を使って特定の拡張子のみを保存する、といったことが出来ればと思います。

 

というわけでgo言語、始めてみましたというお話。

ハバネロ栽培とその使い道。

今年育てたハバネロ、最終のご報告です。

 

寒い地域に住んでいるのですが、生育自体には問題なかったように思います。

 

寒い分、栽培のスタートが遅れ気味でしたが沢山収穫できました。
生育が悪いものは早めに撤去した方が良いですね、残しておいても実が小さくあまり意味がありません。

 

霜が降りると要注意、果実の状態が一気に悪くなります。
実がクニャクニャになってしまい、その後あわてて収穫してもすぐに腐ってしまいます。この点は寒い地域住まいの私は不利です、回避するには事前に未熟なハバネロを収穫することになります。


こんな感じに↓ これでもかなりの量が霜にやられ、腐りました。 

f:id:hiatama:20160103223755j:plain


さて、ハバネロは収穫してからの処理が大切、適当に放置しておくとカビが生えてしまいます。ハバネロは水分が多くうまく乾燥しないようですので、実を割り、良い天気が続く時に一気に乾燥させる必要があります。

 

乾燥が難しい場合、保存には冷凍がおすすめ。あるいは醤油漬けやオリーブオイル漬け。

オリーブオイルオイル漬けはあまり日持ちしないという噂ですが、作って2ヶ月目の現在問題ありません。この様子ならおそらく4ヶ月~半年は大丈夫だと思いますが、カビにはくれぐれも注意してください。繰り返しますが、ハバネロはとてもカビやすく、オイル漬けにしても果実の中に含まれる水分からカビ毒を出すかも知れません。

 

ハバネロの辛さはとても有名ですが、その真価は香りにありまぁす。
唐辛子とピーマンをブレンドしたような独特の香りを持ち、他のスパイスでは代替がきかないと思います。

 

試してみた調理例としては...
アヒージョハバネロオイルをちょい足し、鳥や豚の素焼きにハバネロオイルかハバネロ醤油、カレーや洋風煮込みに実を半分~1個、など。活躍の場は広いです。

 

今年の目的は実よりも種を取ることでしたので、その目的は十分に果たしました。次は5月頃から栽培を開始しますので、お楽しみに。

 

雨降らしサイト「レインマン」のその後

公開して以来しばらく様子を見ていた雨降らしサイト「レインマン」ですが、

ちょっと手を加えました。

http://imrainman.com/main.html

 

今までは雨、しずく、雷の3種の音源を鳴らすのみだったのですが、いくつか音源を追加しました。新たに加えたのは、風、鳥、虫です。

 

これらは最初は音源を読み込んでおらず、ユーザーがクリックによりダウンロードし
Web Audio APIで再生を開始するオプション音源となっています。さらに雷もオプション扱いにしました。

 

やはり後から機能を追加するのは色々と面倒で、最初から拡張を予測する必要性を
痛感しております、保守って大事。とてもいびつなコードが出来上がってしまいましたが、また追って直していこうと思います。

 f:id:hiatama:20151222215855j:plain

 

あとボチボチデザインもなんとかしようかなぁと思いつつあります。

「分けたい気持ち、帰り道」を公開。

どうも、火頭です。

昨夜、完成した楽曲を動画にしてYouTubeに投稿しました。

 

www.youtube.com

 「分けたい気持ち、帰り道」という曲です。

歌ってくれたのは謎のボーカル 蔵 さんです。とても可愛い声をしている方でずっと聴いていたくなります。

 

YouTubeはもはや音楽を聴くサイトとして地位を確立していますね。モバイルでの試聴も可能にしてくれるので、YouTubeへの投稿によって楽曲のファイナルバージョンが決まってしまう、とそんな気がします。

 

映像に関する知識が全くないので、良い案が出るまで動画投稿は控えていたのですが、曲はもう完成と言っても良い状態で、公開しないのもただの怠慢だなということで、めでたく公開です。

 

f:id:hiatama:20151220092800p:plain

 

蔵:

f:id:hiatama:20160615144501j:plain

東京都在住、1990年生まれ。青山学院大学卒。

好きな食べ物は辛いもの。

Web Audio API で楽曲再生。 ~続き~

どうも、火頭です。

以前よりWeb Audio APIを使ってサイトで自作曲を再生する機能を試しています。

 

新しい機能を試しました、StereoPannerNode です。

 

まぁ普通のパンです。-1から1の間で値を指定すれば、音源の左右の定位をコントロールできるというもの。

 

短い曲を作り、ループ再生で延々と流せるようにしました。

おなじみのこちら↓のサイト、Bonus Track2に置いてあります。 別曲を同じ機能でTrack6にアップしました。

http://hiatamaworkshop.com/main.html

 

4種の音源をダウンロード後、同時再生します。

画面に表示される「円」が音源をあらわしていて、クリック&ドラッグなどで動かせます。画面上下の配置によって音量が変わり、左右で定位が変わります。

 

これでユーザーが自由に音源のミキシングに携われるようになりました。

 

しかしWeb Audio APIは本当にバンド音楽向けの機能やでぇ...

 

追記:

Web Audio APIでは長い曲を再生する使い方は推奨されていないようです。効果音のような使い方が正しいようです。(楽曲再生にはAudio Tagを使う方法が推奨されています)ただ、自分がやりたいことはAudio Tagでは今のところ機能不足。

 

あとサイトの当初の目的を忘れつつあり、なんでもかんでも実験してしまうので、コードの保守が崩れつつあります。自身のバンド音楽の公開を想定していたので、扱える音源の数を4つにしているのがネックです(結局一人バンドの形に落ち着き、メンバーがいないんですけど)。

 

書き直すのは大変だ。

雨降りサイト「レインマン」

旧ブログで紹介したサイト「レインマン」をこちらでも紹介します。

Web Audio APIの学習のために作ったサイトです。

概要は「雨音」「雨音2」「雷」の3種類の音源をXHRでダウンロードし、Web Audio APIを使って再生、ボリュームや室内の環境をコントロールできる、というもの。ループ再生によって何時間でも雨音を楽しめます。

 

こちら↓

http://imrainman.com/main.html

 

3種の音源をダウンロードするので、ネット環境によっては結構時間がかかるのがネックです。私は貧弱なネット環境で生活していますので、動作確認が大変でした。

 

音源を再生するには、XHRで取って来たファイルに対しWeb Audio APIのdecodeAudioDataという変換処理を施します、これには数秒時間がかかります。wavファイルにするとかなり速く処理できるのですが、ファイルサイズが大きくなると結局ダウンロード時間が増えてしまうので、mp3にしています。

 

後はWeb Audio APIゲインノードというものを通せば、音量がコントロールでき、フィルターを通せば音のこもりかた(室内シミュレート)がコントロール出来ます。

 

その他、Web Audio APIで気づいたこととしては...

・PCの設定と同じサンプルレートの音源の方がデコード処理がわずかに速いっぽい(ユーザーの大多数はデフォルトの44.1kHZ 16bitでしょう)。

・mp3のbpsは128でも192でもデコード処理の速度に大して変化なし。音質は当然192bpsの方が上。

・今回のような音量が均一の音源ではループ再生の繋ぎ目がどうしても気になる。ファイルを長くすると当然ループする頻度は落ちるのですが、ファイルサイズとの兼ね合いがあるので5分以上のサイズは避けたい。音源の方に短いフェードイン、フェードアウトをかけておくのが良いかも。

などです、間違っていたらすみません。

 

追加機能として、一定時間でランダムにパラメーターを変化させるランダマイズ機能をつけたり、Webstorageを使って気に入った設定を保存・ロードできるようにしました、ちなみに設定は一度ロードしたら消えます。

 

もっとデザインをキレイにしたら良いんですけど...億劫です。

 

ちなみに、ライブラリは一切使っていないので、ブラウザ間の違いが乗り越えられません。クロームFirefoxOperaは動作確認済みです(キチンと更新されていれば)。たぶんIEでは動きません、動かす気もなし。

私は某アンドロイド系しゅまほ☆(スマホ)を使っているのですが、機体自体がWeb Audio APIに対応しておらず、動作しません。iOS系は対応しているはずですが、持っていないので実機確認は出来ません。

 

f:id:hiatama:20151207172024p:plain

火頭工房について。

まずは火頭工房について書きます。

 

一言でいうとバンドです、メンバーは私、火頭だけの一人バンド。

 

コラボ形式で曲を作ることを目指しているのですが、あまり知り合いがいないので大抵は一人で曲作りをします。下のサイトで楽曲を聴けます。

http://hiatamaworkshop.com/main.html

 

最近、Web Audio APIというJavaScriptの技術に注目していて、上のサイトではその技術を使って曲を再生しています。

 

自分で弾ける楽器はギター。エレキもアコギもクラシックギターも持っています。

 

DAWはStudioOne2を使っています(3にアップデートしたいな)。

 

エレピとかハモンドオルガンがとても好き。

 

好きなミュージシャンはSteely DanPink FloydRadioheadなど(当然他多数)。

 

ミキシング、レコーディング技術に興味あります。

 

趣味で家庭菜園をやっています、食べる野菜の半分以上は自前です。

 

ゲームも好きですが、最近はしていません。

 

とりあえず、簡単な説明でした。