凹みTips

C++、JavaScript、Unity、ガジェット等の Tips について雑多に書いています。

JavaScript

WeMo を操作する Node モジュールつくった

はじめに Belkin 社の WeMo を JS から操作するために、「遠隔コンセントタップ WeMo を SOAP で動かすハックやってみた - 凹みTips 」にて書いた内容をモジュール化しました。 インストール & ソースコード インストール $ npm install wemo ソースコード g…

Native Client の導入と Hello World までのまとめ

はじめに Welcome to Native Client - Native Client — Google Developers Google Native Client とは、ブラウザ上でネイティブコードを安全に実行するためのサンドボックス化技術です *1。開発者側から見れば、Chrome 上で高速に動くアプリケーションを既存…

Web Speech API で遊んでみた

はじめに “Web Speech API”をサポートした「Google Chrome 25」のベータ版が公開 - 窓の杜 2013/01/14 公開の Google Chrome v25.0.1364.29 beta-m から Web Speech API が実装されました。これで JavaScript から音声認識が出来ると言うわけで、ユーザビリ…

Google リーダーではてブのコメントを自動で見れるようにした

はじめに 皆さん、Google リーダーで日夜情報収集に励まれていると思います。その際に、はてブ数やコメントを表示してくれる素晴らしい greasemonkey のエクステンションがあることはご存知でしょうか? gr-puls-hatena - GoogleReaderにはてなブックマーク…

遠隔コンセントタップ WeMo を SOAP で動かすハックやってみた

はじめに WeMo は belkin 社が提供しているホームオートメーション製品で、iPhone からコントロールできる電源タップ (WeMo Switch) やモーションセンサー (WeMo Motion) といったものがあります。 WeMo Switch Belkin WeMo 家庭用電源リモートスイッチ + …

Node.js × PhantomJS で何でもサクサクスクレイピングするよ!

はじめに 先日、PhantomJS でログインが必要なページでも自由自在にスクレイピング - 凹みTips という記事を書きました。 前回は PhantomJS のみを用いてスクレイピングを行なっていましたが、スクレイピングした結果を使って色々やりたい!となると、Node.j…

PhantomJS でログインが必要なページでも自由自在にスクレイピング

はじめに PhantomJS - Scriptable Headless Browser PhantomJS はヘッドレスな(ブラウザ画面のない)QtWebKit ベースのブラウザで、JavaScript の API を通じて、そのブラウザを自由自在にあやつることが出来ます。使用シーンとしては、Jenkins などの CI …

Google の URL 短縮サービスを Node.js で使う

はじめに Google の URL 短縮サービス goo.gl を使ってみようと思って Node.js で書いてみました。 goo.gl について Getting Started - URL Shortener API — Google Developers に書いてあるようにこんな感じに使えます。 $ curl https://www.googleapis.com…

作ってきた音声認識家電コントロールシステムのまとめ

はじめに 今年初めに公開された引越ししたので未来なお部屋を作ってみた。 - お前の血は何色だ!! 4 に触発され、リモコンはオワコン。音声認識でお部屋の家電を操作してみた。 - 凹みTips なる記事を書きましたが、最近はiRemocon も音声認識対応し、FHC や …

node-julius を更新して npm に登録した

はじめに Node.js で簡単に音声認識できるモジュールを作ってみた #nodefest - 凹みTips にて Julius の Node.js モジュール化を行いましたが、アップデートをかけたので報告します。 更新内容 ICU のモジュール依存をなくした npm からインストールできるよ…

Twitter のアイコンを音楽に変換するサービス TwMidi を作った

はじめに Twitter アイコンが音楽になったら良いなー、と思って作ってみました。 場所 TwMidi - あなたの Twitter アイコンを音楽に - 音楽というか適当な音の羅列って感じになります。。 仕組み コードはかなーり適当ですが、ざっと以下のような感じです。 …

OpenJTalk の Node.js モジュールを作り直した

はじめに 前回、OpenJTalk を使って Node.js で音声合成するモジュール作った - 凹みTipsで、OpenJTalk で言葉を喋らせることの出来る node モジュールを作りました。が、これを Julius の node モジュールと併用して使おうとしたところ、エラーで動きません…

OpenJTalk を使って Node.js で音声合成するモジュール作った

最新版の記事はこちら OpenJTalk の Node.js モジュールを作り直した - 凹みTips はじめに OpenJTalk はフリーの日本語音声合成エンジンです。 Open JTalk 以前、Node.js 用 Open JTalk アドオンを作ってみた - 凹みTipsというエントリを書きましたが、当時…

mmd.gl.enchant.js を使ってミクさんと音声認識で会話してみた

はじめに 本記事は、東京 Node 学園祭 2012 の LT 枠 - 6番目で発表したデモ内容の紹介になります。スライドは以下になります。(2012/11/25 20:57 貼り間違えたので修正) 構成としては、発表で紹介した Julius の Node.js アドオンから得た音声認識結果を …

Node.js で簡単に音声認識できるモジュールを作ってみた #nodefest

はじめに この記事は東京Node学園祭2012 アドベントカレンダーの 23 日目の記事です。現在、オープンソースの大語彙連続音声認識エンジン Julius を利用して音声による家電操作を行なっているのですが、どんな言葉を認識させるかの文法をゴリゴリ書いたり、…

MeCab で非同期に形態素解析する node-mecab-async を作って npm に登録してみた

はじめに node.js の mecab addon 作った - 凹みTipsというタイトルで前に MeCab の Node.js モジュールを作成しました。MeCab モジュールは他の人の手で作られたものが npm や github に幾つか上がっていますが、node-waf でコンパイルする古いものだったり…

Node.js でマルチスレッド対応のネイティブモジュールを作成する

はじめに 前回(Node.js で C++ アドオンから EventEmitter のイベントリスナを呼ぶ - 凹みTips)、C++ のネイティブモジュールから EventEmitter を利用して JavaScript 側で定義したイベントリスナを呼ぶ方法を紹介しました。ただ Node.js はシングルスレ…

Node.js で C++ アドオンから EventEmitter のイベントリスナを呼ぶ

はじめに EventEmitter は Socket.IO などでも採用されているように、次のようなコードでイベントリスナの登録/処理ができるモジュールです。 var EventEmitter = require('events').EventEmitter; var ev = new EventEmitter(); ev.on('hoge', function(dat…

node-iRemocon つくった

はじめに 前回(http://d.hatena.ne.jp/hecomi/20120930/1349018540)、iRemocon の IP 調べるのどうやれば良いのかな…、という締めだったので、やってみました。ついでに iRemocon を便利に使える Node.js モジュールも書きました。 iRemocon?という方は一…

Node.js で SSDP したり TCP/IP で Socket 通信したりする

はじめに iRemocon の発見や操作を node.js から行いたいな、と思って調べてみました。 SSDP 参考: Xedecimal / node-ssdp — Bitbucket インストールするには、 $ npm install ssdp で OK のようです。ただ、mac だとうまく行かなかったので mercurial 経由…

Twitter のリストの TL を定期的にメールで送信してくれるようにしてみた

はじめに 行き帰りのぶちぶち電波が途切れる地下鉄でイライラしながら TL をスクロールしまくって遡るのが面倒だったので作ってみました。 API 1.1 時代を見据えて、リストのツイートを取得する API を使わずに Streaming API 経由でデータを取得しているの…

Twitter の TL を全部 MongoDB にぶち込んでニヤニヤする

はじめに タイトルの通り、自分の Twitter のタイムラインを全部 DB にぶち込んで後でニヤニヤする方法を紹介します。データの取得と保存は Node.js + MongoDB で行います。 これで MongoDB シェル上で以下の様な形で過去のツイートを検索できるようになりま…

on{x}が面白いので色々やってみた

はじめに https://www.onx.ms/#!landingPage on{x} とは Microsoft が開発している Android 上で動く「日常のタスクを自動化してくれる」ツールです。Android の機能で何かイベントをキャッチ(ある場所についた、ある WiFi spot に接続した等)したらほげほ…

20 行で作る node.js による Twitter bot 作成講座

はじめに あんまり見当たらなかったので node.js での Twitter bot 制作について解説してみます。つぶやきを受け取ってそれをそのままオウム返しするところまで 20 行くらいで実現できます。User Stream でつなぐので cron で回す必要も無いです。(追記: 201…

パーサジェネレータ Gin を使って正規表現(っぽい)文字列を処理してみた

はじめに Gin は Boost.Spirit 風のパーサを JavaScript でお手軽にかけるライブラリです。EBNF っぽく文法を書くことができ、Spirit のようにセマンティックアクションを使ってゴリゴリと文法を解析、その場で計算等もすることができます。また、すべて Jav…

オンライン学習ライブラリ oll の node.js アドオンを作って JavaScript で機械学習させてみた

はじめに OLL によるオンライン学習を試してみた - 凹みTips にて oll (Online-Learning Library) を触ってみた記事を書きましたが、これを元に oll を node.js のアドオン化をしてみました。 ダウンロード hecomi/node-oll · GitHub 使ってみる github の …

Node.js 用 Open JTalk アドオンを作ってみた

はじめに Twitterの内容をベラベラ喋ったり、こっちの問いかけに応答してくれるようなシステムを作ろうと思っているので、その一環として作ってみました。 内容は過去の継ぎ接ぎのような感じです。 v8 を利用した C++ から JavaScript へクラスを簡単にエク…

Canvas を使ってみんなもお手軽に弾幕作ろうぜ!! - 其の肆 -

はじめに Canvas を使ってみんなもお手軽に弾幕作ろうぜ!! - 其の壱 - - 凹みTips Canvas を使ってみんなもお手軽に弾幕作ろうぜ!! - 其の弐 - - 凹みTips Canvas を使ってみんなもお手軽に弾幕作ろうぜ!! - 其の参 - - 凹みTips とやってきて第4回目…

JavaScript から iRemocon/Julius/OpenJTalk を制御できるようにした

はじめに v8 を利用した C++ から JavaScript へクラスを簡単にエクスポートするヤツ作ってみた - 凹みTips にて作った C++ クラスを JavaScript に持っていくヤツをちょっと改良しました HAS-Project/v8.hpp at master · hecomi/HAS-Project · GitHub creat…

Canvas を使ってみんなもお手軽に弾幕作ろうぜ!! - 其の参 -

はじめに 前回、敵を表示したので、今回はプレイヤーを表示して操作するところまで作ります。↓のような感じです。 プレイヤーの表示 こんな画像を用意しました。 まずは今までと同じように、 Player の画像やその他情報を Materials に登録 Player クラスを …