ふらっと立ち寄ったローソンで見つけた「とっておき宣言 シナモンロール」です。

経験からすると、コンビニに売ってるシナモンロールって菓子パンの亜種的な食感だったり、味が薄かったりでガッカリすることが多いので、そこまで期待はしてませんでした。しかしながら今回のはレベル高かったです。味もそこそこ濃く、日本的な甘さで、かつ菓子パンの亜種の域を脱していて、おいしかったですよ〜!! 「シナモンロールって甘過ぎるんでしょ??」って方にもお勧めできるんじゃないかな?って思いました。

ちょうど六本木にシナボン</a2>が再上陸したと聞いて(できるだけ美味しい)シナモンロールを望んでたところでしたのでとても満足でした。でも、やっぱり本物食べたいので今年中にシナボン行きたいな、って思っています。(改めて比べるとシナボンのシナモンのトップの砂糖の量が相当違いそうですねf(^-^;))

Web Music Developers JPのアドベントカレンダーの12月6日の記事です!

ネタはCanvasで作ったLCDディスプレイです。先日の「FMシンセサイザー」の部品の説明になります。

作り始めたキッカケ

「FMシンセサイザー作ったけど、なんか味気ないな。。。」と思ったところからで、 「デジタルシンセだからデジタルっぽく見せられるドットのLCDで雰囲気は出るんじゃない?」という短絡的な発想でした。 さっそく作り始めたのですが、ふと「文字のドットの位置ってどこから起こせば良いのよ??リファレンスどれにするの??」という疑問が沸き、 今度はこれ系の液晶が付いた機器を探したのですが最近って高性能なカラーか、 もしくは昔ながらの7セグの電卓の液晶ばかりでなかなか見つからず、 結構焦ったのですがゴソゴソ探したら、それこそリファレンスが出てきてホッとしました。

出て来たのはコレです。なんとも懐かしいYamaha MU2000です。 1999年に発売されたみたいです。MIDIファイルも引っ張りだして来て、 ひとしきり遊んでから作業続行しました。MU2000のお陰もありドットの文字を起こすのは短時間でできました。

本題の使い方

手順は簡単です。

(1) HTMLファイルにcanvasのエリアを作ります。(例:index.html)

<canvas id="canvasLCD"></canvas>

(2) 以下のJavaScriptを貼付けます。(例:main.js)

var lcd = new CanvasLCD('01');
lcd.init('canvasLCD', 'initialword', true);
  • 1行目
    - 引数はディスプレイの色のタイプです。
    - 01, 02, 03, 04, 05, 06 の6種類用意しています。(デモページに全種類出てます)
  • 2行目
    - 第1引数(canvasLCD)はHTMLで指定canvasのIDです。
    - 第2引数(initialword)は、最初のロゴ表示の直後に表示させる文字列です。
    - 第3引数(true)はロゴ表示をさせるか否かのフラグです。

(3) 文字をディスプレイに表示させる。

lcd.write2Display('lettersRL01', 'ABCDEFG');
  • 第1引数(lettersRL01)は文字をどう出現させるかです。3種類用意しています。
    - letters 指定された文字列を一度に表示
    - lettersRL01 指定された文字列を左から右に向かって表示させる
    - lettersRL02 指定された文字列を左から右に向かって表示させる
    - lettersRL01との違いは複数あった場合、複数行同時に表示させる点

基本的な動作はこんなところです。

ちょっと面倒ですが、こんなこともできます。

  • 表示できる文字数、行数も変更することが可能です。
    canvasLCD.jsの中をいじらないといけないのがイケてないです。すみません。
var digits = { 'x': 18, 'y': 2 }; // Line55: canvasLCD.js
  • 色の種類も追加することが可能です。canvasLCD.jsのcolorSetに追加すれば利用可能です。

感想

色のセットは数字の古い順から時代で並べてるつもり(確固たる根拠はなく感覚です)なんですが、並べて初めて気がついたのが「進化してるんだな〜」というところでした。lcdType: 04 は初めて見たときは「暗いところで見られていいね!」って昔は思ったのですが、最新の lcdType:06 と比べると、ギラつきが多くて(コントラストの設定ができる機器もありましたね)ちょっと見難いですよね。lcdType:06 はYamaha MX49だったり、Roland INTEGRA-7の色合いですね。(INTEGRA-7は背景がもう少し黒いかな。。) 目的だったデジタルっぽく見えるのも達成できたし(自己満足)、楽しかったし、比較もできたし、よかったな〜、と自己満足しています。

Web Music Developers JPのアドベントカレンダーの初日(12月7日)の記事です!

ネタは「WebAudioでVocalキャンセラー(簡単な方)」です。 Web Audio APIに組込まれていない信号処理だったので作ってみました。

遊び方

音楽ファイルを点線の中にドロップして音源をロードします。ロードが完了するとボタンが「START」に変わるので、それをクリックすると再生が始まります。Vocalキャンセルは「START」ボタンの隣の「Vocal OFF」をクリックすることでキャンセルされます。 青い(緑?)デカイ丸はDrag&Dropをブラウザがサポートしているかを示しています。黄色の場合はDrag&Dropはできないので、、、試せません。。。Chromeなら間違いなくサポートしていますので、Chromeでお試しくださいね。

原理

簡単な方のVocalキャンセラーなので簡単な原理ですw ステレオな楽曲のVocalは音像が中央に位置するように録音されています。このことを逆手にとってVocalのキャンセルを行います。LチャンネルからRチャンネルの差分をとる、ただそれだけで実現できてしまいます。 既にお気づきかもですが、この方法では以下の2点のデメリットがあります。 Vocalキャンセルを行った楽曲はモノラルになる ドラム等の音像が中央に位置している音もキャンセルさる 左右のスペクトル、振幅を見てVocalをキャンセルしつつステレオを保てるさらに精度のよい方法もありますので、実装すれば実現可能なんじゃないかな〜?と思いますが、今回は簡単な方でやっちゃいましたf(^-^;)

Web Audio APIで表現する

ポイントは1行です。js/basicSet.jsの49行目。

outLch[i] = outRch[i] = inLch[i] - inRch[i];

この1行がLチャンネルからRチャンネルの差分をとっている部分です。簡単ですよね? その他のWeb Audio APIの部分は、、、説明すると長くなりそうなのでまたの機会にしようかな、、、なんて思います。すみません。。。

その他

今回のスクリプト群を使うとDrag&Dropで音楽再生を始められるWeb Audio APIのアプリが簡単に作れますので、もしよろしかったらご利用ください!! Web Audio APIってクライアント側のJavaScriptで動作するのでサーバ側にJava、Perl、PHPとかミドルウェアは必要なく、クライアントにWeb Audio APIに対応したブラウザ(例えば Chrome !!)がインストールされてさえいれば音が鳴る仕組みですので公開は非常に簡単です。「音ネタをたくさん用意して試してもらいたい。」と思っても、楽曲等をサーバに上げる場合には必ず著作権の問題があって難しい、、、という時の解決策がコレかなって思います。ユーザー自身で音ネタを用意できるので、ユーザーにも楽しんでもらえると思います。 今回のスクリプト群の中の「js/fileApi.js」がDrag&Dropについて書いた部分になります。詳しくは「HTML5 FileAPI」でググると情報がたくさん出てきます。

さらに、今回の「Vocalキャンセラー」はjs/basicSet.jsの47〜54行目で実現しています。もし、その他の信号処理を書きたい場合はここに上書きすれば独自の信号処理を入れられます。 1点注意点としては、

outRch[i] = inRch[i];
outLch[i] = inLch[i];

のようにoutRch、outLchに信号を入れないと音は出ないので忘れないように気をつけてくださいね!

大きさは長軸10cm、短軸7cm、厚さ1cmくらいのちょっと太った楕円形。見た目は大きい印象ではないけど、食べてみてびっくりなボリュームですw おなかいっぱいになっちゃう勢いで驚きました。。。
味はチーズ味のスナック菓子的な感じで悪くはないけど、2個以上は難しいと思いました。
ということで、コンビニスナックとしては悪くないですよー。
噂のチーズですが、衣と肉の間に塗られてるって感じですね。

そして気になる店舗内です。やっぱりチーズ臭かったですww (ちなみにチーズ臭でこのチーズナゲットのことを思い出したくらいですw)
価格は130円。期間限定商品です。
ちなみに、公式サイトでは「ファミマが最近臭いのはチーズナゲットが原因です」的な告知がされるくらいなので、早期打ち切りもあり得るかな?って思います。気になる方はお早めにどうぞ〜。
http://www.family.co.jp/goods/ff/chicken/hc0g7400000m144r.html

あんまり関係ないですが、ドメインのお話。
ファミリーマートって「family.co.jp」なんだね。始めて知った。

このイベントは「アナログシンセを始めとする電子楽器自作愛好者の交流」が目的のイベントです。感想は超楽しかったです!男の子だからか(?)基盤とかが露出されてる機械とか、アルミ削りだしのモノに胸熱になっちゃいますねf(^-^;) いくつか紹介します。

まずは g200kgさん 作のVSTプラグインのソフトウェア!! その名も「Kamioooka(上大岡)」です。VSTとはNuendo、CubaseをつくるSteinbergが提唱をするDAW(Digital Audio Workstation)ソフトウェアのプラグインです。簡単に言うとエフェクトや音源を組み込むことのできるフレームワークです。

すごくカッコいいシンセのVSTで、Cubaseでも動きます!!Freeダウンロードでき制限なしで使用もできるので、気になる方はお試しあれ!!!個人的には、接続されてるワイヤがビヨンビヨン動いたるするあたりカッコいいと思います。もちろん音源としてもかなりイケてますよ。 プレゼンもあって、最後にWebAudioとは言わなかったものの「これからはブラウザで音源を作れる時代ですよ〜」的なお知らせをしていただきました(^-^) ナイスです!!来年はWebAudioでも参戦ですかね?? デモとかダウンロードはこちら!! → http://www.g200kg.com/jp/software/kamioooka.html

2つ目は「うまく使ってる」と思ったモノ。

基盤が6個立ってますが、これが音源。実は何かもおまけについて来た基盤らしいです。しかも、もともとは画像処理用らしいです。「何でそんなの使うんですか?」という疑問には「使い勝手がよかったから」と教えていただきました。音自体はPCで波形を作り、基盤起動時にその波形を基盤に渡してセットをして音を出しているとのことです。因みに、コントロールはMIDIコントローラ、PCシーケンサからの制御の2つの方法があるそうです。

3つ目は「これはスゲー!キワモノ!!」と思ったモノ。
もともとはKorg社のMonoPoly、なんですが作成者の方のお仕事の延長で、MonoPolyの外装をそっくりアルミ削りだしに変えちゃったよ、というキワモノです。

外装だけではなく鍵盤もメッキが施されてたりして、楽器というよりアートでした。ちなみに、MonoPolyとしても機能していて音がちゃんとでるそうです。
小・中学校に職業紹介的なことをしているそうで、「何かかツカミがあったらな〜」というところが作成のキッカケだったそうです。写真はありませんがnanoKEY2も外装がアルミ削りだしになったのがありました。

最後は「新しいインターフェイス」です。
その名も「ウダー」です。詳しくはこちら → http://uda.la/