凹みTips

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

2012-01-01から1年間の記事一覧

Objective-C++ 使って iOS で Boost.Asio してみた

はじめに Objective-C と C++ が混在できる Objective-C++ という魅力的な響きに誘われて、iPhone 上で Boost を動かすってのをやってみました。 やったこと Boost.Asio が iPhone(シミュレータ)上で動いてます! 解説 Boost の導入に関しては以下のエント…

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…

Vrapper の設定覚え書き

Vim

はじめに Android のお勉強をしてみようと思い、Eclipse を入れてみました。が、どうもキー操作がアレだったので、コーディングは Vim で行おうかと思ったのですが…、補完やエラー処理周りはやはり Eclipse の方が優秀な感じがあります。そこで Vrapper とい…

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

はじめに 今年初めに公開された引越ししたので未来なお部屋を作ってみた。 - お前の血は何色だ!! 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-xbee を使って JavaScript で XBee から温度取得してみた

はじめに XBee は ZigBee 規格で通信を行なってくれる小型の無線通信モジュールです。前回(boost::asio::serial_port で ZigBee と会話してみた - 凹みTips)は C++ で ZigBee を扱いましたが、今回は Node.js での値の取得をやってみたいと思います。 出来…

libjulius を Mac で使ってみた

はじめに Mac で Julius を動作させようと思ってやってみました。 環境 Mac OS X 10.8.2 動作までのログ 最新版の Julius は 4.2.2(2012/10/13 現在)となっていて、文法コンパイラの mkfa が字句解析用の flex へのリンクをしないようになったため、flex …

MinTTY から ssh して Vim したときでも Powerline 綺麗に出したりしてテンション上げようず

はじめに Mac / Ubuntu は問題ないのですが、Windows で MinTTY から ssh して Vim 開くとダサダサだったので、何とかしたいと思ってやってみたまとめです。 結果 Before After 解説 mintty の導入やらは以下の記事を参考にしてみて下さい。 Windowsで最高の…

Mac OS X で node-gyp するのに -std=c++0x つけようとしてハマったけど解決した

はじめに node-waf はオワコンと聞いて node-gyp を使おうと思ったのですが、Mac で相当ハマったのでメモします。 環境 Mac OS X 10.8 Ubuntu 10.04 (比較検証用) 問題点 公式 の HelloWorld を C++11 風に書いてモジュール作れるかなぁ、と試してみました…

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 経由…

モテる! Node.js でつくる twitter ボット制作

というタイトルで身内の勉強会で発表してきました。資料は以下になります。 勉強会の時に気づいた資料の間違いや補足などを追記して SlideShare にアップしておきました。 モテる! Node.js でつくる twitter ボット制作 みんなループにハマって @ 飛ばしま…

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 に接続した等)したらほげほ…

Blender 2.63 での Python の使い方についてまとめてみた

はじめに Blender はとても高機能なオープンソース & マルチプラットフォームな 3DCG ソフトウェアです。中でも注目すべきなのが Python で全てを制御できる点です。新しくキューブを追加したりそこにテクスチャを貼ったり移動したりコピーしたりレンダリン…

boost::asio::serial_port で ZigBee と会話してみた

はじめに 部屋やベランダにセンサ仕掛けて色んな値取ってきたいなぁ、と思い ZigBee 始めました。通信部分は Boost Asio Serial_port 使ったのでプラットフォーム依存しないと思います(多分)。 ZigBee 事始め 超お手軽無線モジュールXBee 2012年 03月号 […

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

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

node.js の exec の同期版を作ってみた

はじめに タイトル通り node.js の exec 関数の同期版を作ってみたというお話です。 問題点 node.js の child_process から使える exec 関数は非同期に行われるので、例えば A という処理をコンソール上で行なって成否判定をしてから、 B を行いたい、といっ…

パーサジェネレータ 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 の …