Kalafina 4th アルバム Consolation

Kalafinaの新アルバム「Consolation」の発売が3/20に決定しましたね。
この時期にアルバムだすってことは「夢の大地」はシングル無しで
アルバム収録ですな。
DVD/BD付きの方はPVも収録のようです。

Kalafinaのアルバムが売り切れることはないと思うけど
JoshinWebのクーポン期限の関係で今のうちに予約しました。
現在はポイント別でBD付きの方が2979円でした。
ポイントはクーポン使うと減るので120ポイントくらい付いてたと思います。

クーポン出している時期はほぼJoshinWebで購入ですわ~(´・ω・`)
でも、CD、DVD、BDそれぞれ1枚しか使えないのが残念ですね。

さてと、なんやかんやでクーポン全部使い切っちゃったので、
Perfumeの新シングルはどこで買うかな~う~む ( ̄~ ̄;)








DAI CS8416 と DAC PCM1716

Raspberry Pi でI2Sを出力する際、PCM1716を使おうとしたんだけど
システムクロックが出力されないので使えませんでした。

そのことに気付く前に CS8416 と組み合わせて鳴らしてたので
ちょろっと紹介~(´―`)

まずは CS8416 のSPI、I2Cモードの選択についてです。
これ、よくわかってなかったのですが
どうも電源投入直後は不安定な状態で、リセットすると I2C モードになり、
さらに、AD0/CS ピンをHighからLowにしてやると SPI モードになるみたい。
データシート読むとそんなことが書いている気がします...タブン...(;´д`)
データシートが英語なのでよくわかんないのよねぇ~ヽ( ´ー`)ノ

CS8416 にコンデンサーとダイオードでリセット回路を追加しました。
これで電源スイッチ入れれば、ほぼI2Cモードになってくれます。
たまに失敗していますが...その時は手で線を抜き挿しして
手動リセットしちゃいます。


オーディオデータはPCからUSB経由で送ります。
秋月電子でPCM2704を買ってきて、SPDIF を取り出していたのですが
結構、必要な部品が多くてブレッドボードがゴチャゴチャに(;´д`)
ので、Aitendoで売っている以下の物を買ってきました。





秋月だと PCM2704 だけで400円。
写真のはAitendoで666円。
ブレッドボードに自分で組んでて思いました...
SPDIFを取り出すだけなら、これを買った方が楽ですな。(´・ω・`)


次は Raspberry Pi で I2C についてです。
Rev.2だと i2cdetect、i2cdump、i2cset などのコマンドの引数が変わったようですね。
i2cdetect -y 0
i2cdetect -y 1
上がRev.1の時、下がRev.2です。
引数が0から1になっただけですね。


PCM1716は直接ブレッドボードに刺せない小さなICなので、
ピッチ変換基板を使います。
いつも通り1回じゃうまくいきません...(´・ω・`)
でもまぁ、写真のようになってもハンダ吸取り線で取り除きつつ
ピッチ変換基板にハンダ付けしていきます。



以前は CS8416 で標準フォーマットを出力していましたが、今回はI2Sを出してみました。
データシートを見て、Serial Audio Data Format (05h)をそれっぽい設定値を
設定していったのですが SODEL と SOSPOL がよくわからず...
でも、それぞれ1ビットなので総当りで4回試せばどれかうまくいくはず!(´―`)
で、結局以下のようにするとI2Sフォーマットで出力されました。
i2cset -y 1 0x13 0x04 0x80
i2cset -y 1 0x13 0x05 0xa8  # 標準フォーマット、右詰、16bit
i2cset -y 1 0x13 0x05 0xa5  # I2Sフォーマット、16bit
で、ヘッドホンを繋いで聞いて見ると...ノイズだらけ( ̄~ ̄;)
いろいろいじってみましたが素人にはすぐ解決できませんでした。
なぜかオシロスコープのワニ口クリップを電源ラインに繋ぐとノイズが消えます。
もぅすぎ~(>_<)
仕方なく、USBのデジタル出力から調べてきましたが
おかしなところはありませんでした。
で、もう一度繋ぎなおすと...アレ~クリアになった!(;´д`)
最初との違いは机の上のケーブルをかたづけたくらいですかね。
ふ~む、ケーブルが散乱している上で回路組むとダメなのかもしれません。


PCM1716の音ですが...BU9480Fと比べると音質いいですね。
密度の濃い音って感じでした。








FictionJunction Yuki Kajiura LIVE vol.#4 PART II Everlasting Songs Tour 2009

Twitterチェックしていたら「1/15がガールズ&パンツァー2巻の予約締め切り日です。」
的なつぶやきがありました。
コレに気付いたのが1/16日で1日過ぎてんじゃ~ん(;´д`)
ってことで早速予約する通販サイトをチェック!
クーポンで少し安くなる JoshinWeb で予約しました。

ついでに「FictionJunction Yuki Kajiura LIVE vol.#4 PART II Everlasting Songs Tour 2009」も購入~
こちらはYouTubeに1曲目の「星屑」がアップされていて、いい曲だな~と思ったのと同時に
LIVE CD には収録されていない初めて聴いた曲だ!
ってことでDVD買おうと思ってたんですわ。

予約品と一緒に注文しましたが、発売済みのはすぐに発送してくれるので
1/19には届いてました。
今回はこちらを軽く紹介です。

このDVDは作曲家の梶浦由記のライブ映像です。
歌うのは本人ではなく、別に歌い手の方々がいます。
ライブでは本人もキーボードでステージに上がっていて、
MCではしゃべりまくり、というか主に本にしかしゃべってないので、
梶浦由記のライブなんだな~って感じがします。
作曲家でライブってめずらしいですよね~

梶浦由記はアニメのBGMやアニソンをやってる人で、
ずいぶん前から曲自体は聴いていたんです。
でも、その頃はいい曲やな~思いつつも、歌い手や作曲家を気にすることはありませんでした。
私が梶浦由記を知ったのは「光の旋律」ですね。
アニメのOPで使われてた歌ですが、かなりいい曲だったので
他の曲も聴いてみたいと思って歌い手を調べるとKalafinaだとわかり、
作曲は梶浦由記とのこと。
で、梶浦由記の過去の曲を調べてみると
ガンダムSEEDのEDや挿入歌、ツバサクロニクル、舞-HiME
前々から気になってた曲を全て担当されてたんですね~(・o・)
これを知ったときは衝撃でしたわ~(ノ゜o゜)ノ
それ以来ファンになっています。

で、DVDの方ですが歌い手が多いので幅広く楽しめると思います。
オリジナルでは曲の提供のみで声優が歌っている曲なんかは
FictionJunctionでおなじみの歌い手が歌うので新鮮さがありますね。

既に発売されているDVDがあと2つあって、来月には最新のライブBDが発売されます。









SONY MDR-1R の価格さらに安くなっていますね~

SONYの人気ヘッドホン MDR-1R さらに安くなっていますね~
通勤中や町中で装着している人がそこそこいるし、
店頭でもブラックの方は在庫切れしている時もあるので
やっぱ人気なんでしょうね。

今現在の価格を軽く調べてみました。

価格.comの掲示板によるとビック系の店舗だと約15500円相当で買えるようです。
1月第1週に秋葉原のソフマップに行ってみると、確かにそのくらいで買えそうです。
が、第2週に行ってみるとブラックの在庫が切れていて、
さらに、値段が上がっていました...(;´д`)

通販だと、JoshinWeb あたりですかね~
関西出身の人なら知っていると思いますが、
関西中心に展開しているヨドバシやビックのような量販店ですね。
阪神の選手がイメージキャラクターだった気がしたのですが、今は表示されてないっすな(´・ω・`)

MDR-1Rのほうですが、16162円にポイント162。
さらに久しぶりにクーポンが復活していて500円引きになっています。
ので、約15500円相当で買えますね。

しか~し!
このお店の楽天店舗の方では、さらにお得なようです。
ただし1月21日朝までっぽいかな。
現在、ポイント5倍なので15358円相当で購入できちゃいます。
キャンペーンにエントリーして、Facebookの「いいね」押す必要あるかも。
いつものことだけど、キャンペーンはわかりにくい...( ̄~ ̄;)
楽天のその他キャンペーンも利用すると、もっとお得ですな~(=´∇`=)






Raspberry Pi ALSA I2S ドライバ

※Raspberry Pi ALSA I2S ドライバ その2 UPしました。※


今回は前々回チラッっと書いた I2S ネタです。
以下のスレッドで公開されているドライバーを組み込んでみます。
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&t=8496&p=257874

I2SはIC間でオーディオ系データをやりとりする規格らしいです。
Rasspberry Pi でそれが出力されると何が出来るのかというと、
マイコンのように DAC IC を直接接続することが出来ます。

ドライバのコンパイルはうまくいかなし、電子回路は素人だし...
で、音が鳴るまでには結構時間かかっちゃいました。(;´д`)

まずはドライバのコンパイルですね。
rootで作業します。
ドライバのソースコードは
で公開されていますので、/root/i2s 辺りにダウンロードしておきます。

ドライバコンパイルにはカーネルソースも必要なのでダウンロードします。
カーネルのバージョンは3.6.11my+だと仮定します。
cd /usr/src
git clone -b rpi-3.6.y https://github.com/raspberrypi/linux.git
mv linux 3.6.11my+
cd 3.6.11my+
zcat /proc/config.gz > .config
make oldconfig
Makefile編集(4行目 EXTRAVERSION = my)
make modules_prepare
クロスコンパイル環境から Module.symvers を RPi の /usr/src/3.6.11my+/ へコピー
※Module.symvers はカーネルをコンパイルしないと生成されません。
cd /root/i2s
make -C /usr/src/3.6.11my+ M=/root/i2s modules
depmod -a
makeでエラーでなければOK。snd_pcm_pi_i2s.ko というファイルが出来ていると思います。
insmod snd_pcm_pi_i2s.ko
でドライバーを組み込めます。

mpg123 や aplay は相性が悪い?ようなので、他のプレイヤーをインストールします。
apt-get install alsaplayer alsaplayer-text
おっと、忘れてました。

I2Sの信号は以下のピンから出力されます。
参考HP
http://elinux.org/RPi_BCM2835_GPIOs
http://www.raspberrypi-spy.co.uk/2012/09/raspberry-pi-p5-header/
GPIO28 PCM_CLK
GPIO29 PCM_FS
GPIO30 PCM_DIN
GPIO31 PCM_DOUT
 


Rev2のRPiだと赤丸の所にヘッダーピンを取り付けやすくなっているので半田付けします。

それでは再生~(ノ゜o゜)ノ
root@raspberrypi:~/i2s# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 1: I2s [Pi I2s], device 0: Dummy PCM [Raspberry Pi PCM I2S]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
となっている場合は
alsaplayer -i text -d hw:1,0 test.mp3

で、I2Sの方に出力してくれます。
終了は別ターミナルから
alsaplayer --quit

ここでどんな信号が出ているのか見ておきます。

 


左詰になっていますね~これはI2Sフォーマットかな。
手軽に扱える DAC IC は BU9480F しか持っていなくて、
これは右詰の標準フォーマットでないといけないんですよね~。

I2Sフォーマットを入力出来る PCM1716 を買ってきたのですが、
組んでるうちにシステムクロックの出力がないので使えないことに気付いた~ ( ̄~ ̄;)

何か手軽な方法ないかと bcm2835 のデータシートPDFを眺めていると、
信号の出力フォーマットを変えられそうなことに気付きました。(・∀・)
最初に何度か見ていたんだけど、英語なので気付かなかったわ~(;´д`)

snd_pcm_pi_i2s.c の632行目を以下のように変更します。
//    *(i2s_registers+TXC_A) = 0<<31 | 1<<30 | 1 << 20  | 8<<16   |   0<<15 | 1<<14 | 33<<4 | 8 ;
    *(i2s_registers+TXC_A) = 0<<31 | 1<<30 | 16 << 20  | 8<<16   |   0<<15 | 1<<14 | 48<<4 | 8 ;
これで右詰っぽくなります。
LRクロックも反転しないといけないみたいですが、音は鳴るでしょう(タブン...
信号を見てみます。




それっぽくなっていますね。(・∀・)
DAC、アンプを繋いでヘッドホンで聴いてみると...
(写真の真ん中のICは関係ありません)


鳴った~!(ノ゜o゜)ノ
でも、たまに音が瞬断みたいな感じになりますね~
ドライバーの今後の修正に期待ってところでしょうか。

にしても Raspberry Pi はいろいろできて、おもしろいですな~(=´∇`=)
部品があればハイレゾ音源も試してみたいですわ。



Raspberry Pi クロスコンパイル

今回はRaspberryPiのクロスコンパイル環境ネタです。

・クロスコンパイル環境構築&カーネルコンパイル

http://www.sea-dog.jp/blog/archives/2012/08/22/19-54.php
見ればOK (´_ゝ`)

違いは
git clone -b rpi-3.6.y https://github.com/raspberrypi/linux.git
でソースコード持ってきて、RPiから zcat /proc/config.gz > .config として .config をカーネルツリーにコピーしました。
(既にRPiのカーネルが3.6.11だったため)
Makefileの4行目を EXTRAVERSION = my に変更。

RPi上でコンパイルすると5~6時間かかりますが、
PhenomII X6 1090T 3.2GHz、メモリ8GBなWIndows7 64bit 上に
割り当て
CPUコア:4
メモリ:2GB
Ubuntuな仮想環境では45分ほどで完了します。

出来上がったファイルは
scp filename pi@192.168.yyy.xxx:/home/pi
で、RPiへ直接転送できます。


・アプリのクロスコンパイル
辺りを参考にすればOK (´_ゝ`)

気付いたら mediatomb が Illegal instruction というエラーを出して
起動できなくなっていたのでクロスコンパイルしてみました。

まずは必要なライブラリ sqlite3、expat をコンパイルします。
./configure --host=arm-unknown-linux-gnueabi --prefix=/home/username/mycross
make
make install
次に mediatomb 本体です。
./configure --host=arm-unknown-linux-gnueabi --prefix=/home/username/mycross --disable-mysql --enable-sqlite3 --disable-rpl-malloc \
    --with-sqlite3-h=/home/username/mycross/include --with-sqlite3-libs=/home/username/mycross/lib \
    --with-expat-h=/home/username/mycross/include   --with-expat-libs=/home/username/mycross/lib \
    CXXFLAGS=-fpermissive
make
スクリプトなども再インストールできなくなっていたので
/var/cache/apt/archives
にある
mediatomb-common_0.12.1-4_armhf.deb
mediatomb-daemon_0.12.1-4_all.deb
を手動で展開してコピーしました。
あとは~DBがサイズ0だったので、mediatombのソースのconfig/sqlite3.sql を
実行してテーブルを作ってやります。

これで動くようになりました。

にしても、なぜ急に動かなくなったのか...
カーネルやライブラリいじくってて、変になってしまったのかな...(;´д`)



Raspberry Pi でLinuxカーネルコンパイル

RaspberryPiの公式フォーラムの英語の方でI2Sのスレッドが盛り上がっていますね。
オーディオに興味がある人は気になる話題ではないでしょうか。
私も注目しています。

そのスレッドで紹介されているソースコードが普通のプログラムではなく
Linuxドライバになっています。

ドライバのコンパイルにはカーネルのヘッダーファイルとかが必要なので、
RaspberryPi用のLinuxカーネルのソースを
 https://github.com/raspberrypi/linux
から持ってきて、
zcat /proc/config.gz > .config
make oldconfig
make modules_prepare
とすればドライバのコンパイルに必要なファイルだけ生成して準備OKなはずですが、
いざドライバを insmod で組み込もうとすると、
Invalid module format
とか、
no symbol version for module_layout
などのエラーメッセージが出て、うまくドライバを組み込めません。

仕方ないので、カーネルのコンパイル行いカーネルを切り替えます。
以下そのメモになります。
rootで作業しています。

https://github.com/raspberrypi/linux から3.2.27のソースのzipをダウンロード

/usr/src/3.2.27my
に展開

cd /usr/src/3.2.27my

zcat /proc/config.gz > .config

make oldconfig

make clean

Makefile 編集
先頭の
VERSION = 3
PATCHLEVEL = 2
SUBLEVEL = 27
EXTRAVERSION =
が uname -r などで表示されるバージョン番号になるようです。
EXTRAVERSION = my
と適当に修正しておきます。(しなくてもよい)

make
5~6時間かかります。
寝てる間にコンパイルするには
nohup make > out.log 2> err.log < /dev/null &
とします。こうするとsshを閉じてもバックグラウンドでコンパイルし続けます。
/usr/src/3.2.27my/vmlinux が出来てればOK

make modules_install

mkdir boot

make INSTALL_PATH=/usr/src/3.2.27my/boot install

cp /usr/src/3.2.27my/boot/vmlinuz-3.2.27my /boot

/boot/config.txt 修正
kernel=vmlinuz-3.2.27my の行を追加します。

再起動

これで新しいカーネルに切り替えることが出来ます。




Kalafina 新曲 「夢の大地」

Kalafina新曲夢の大地が先日のNHK歴史秘話ヒストリアで流れていましたね。

番組のテーマ曲ってことで storia、symphonia と似たテイストでした。
CDはいつ発売になるんでしょうね~



ワットチェッカー TAP-TST5

消費電力のチェックにはサンワサプライのワットチェッカー TAP-TST5 を使用しています。
昨日そのワットチェッカーの液晶がものすごく薄くなっていました。
何を表示しているのか、わからない...ついに壊れたのかな...
そういえば買ってからずいぶん年数経ってる気はする。



液晶を強く押してみたりしましたが治らず。
(そんなことでは治らないか(笑

買い換えるなら、中身覗いてみようと思って分解してみました。
機械とかなら分解して組み直すと調子よくなるしね (・∀・)

専門家ではないので、知らなかったのですが、
液晶と基板のつなぎ方がおもしろかったです。

何かで固定されているわけでもなく、
液晶と基板の間にゴムみたいなのがあって、
それが、信号を通しているみたいでした。

で、また組み直してコンセントに挿してみると...
あ~ら不思議!!
液晶が濃くなって、目視できるようになりました!(ノ゜o゜)ノ

ふ~む、電子機器でもこんな事あるんですなぁ~





Raspberry PiでPerfumeのモーションデータを動かしてみた

今回は Raspberry Pi で Perfume のモーションデータを動かしてみました。

PerfumeのモーションデータやBGM、ソースコードは以下のサイトからダウンロード出来ます。
 http://www.perfume-global.com/

このサンプルプログラムは openFrameworks を使用しているので、
まずはコレを使えるようにします。

https://github.com/openFrameworks-RaspberryPi/openFrameworks/wiki/RaspberryPi
を参考にコンパイル。
openFrameworks の RaspberryPi 用ソースコードも上記サイトにあります。
make時は
make Debug
がいいかも知れません。
リリース版だとサンプルプログラムが動かなかったのよねぇ~(;´д`)

GPUは256MBに~と書いてある?ので
sudo raspi-config
で256MBに設定します。

openFrameworks をコンパイルしたら Perfume のサンプルプログラムを
コンパイルするのですが、これはOpenGL用に書かれてる?ようなので、
ほとんどコンパイルできません。
RaspberryPi は組み込み向け用?の OpenGL ES をサポートしているみたいです。
今回はとりあえず、動いて音が鳴ればいいなってことで、
example-sync-sound をコンパイルし、実行してみます。

Perfumeサンプル/example-sync-sound ディレクトリを最初にコンパイルした
openFrameworks のディレクトリ openFrameworks/apps/devApps/
にコピーします。

openFrameworks/apps/devApps/raspberrypi_hello_world/ から makefile、config.make を
openFrameworks/apps/devApps/example-sync-sound/ へコピー。

Perfumeサンプル/ofxBvh/src/ から ofxBvh.cpp、ofxBvh.h を
openFrameworks/apps/devApps/example-sync-sound/src/ へコピー。

openFrameworks/libs/openFrameworks/sound/ から
ofOpenALSoundPlayer.cpp、ofSoundPlayer.cpp を
openFrameworks/apps/devApps/example-sync-sound/src/ へコピー。

makefile に以下の行を追加
OF_PROJECT_LDFLAGS = -lopenal -lsndfile
私は一番下の include の前に追加しました。

openFrameworks/apps/devApps/example-sync-sound/src/testApp.cpp を編集
32行目の glBegin(GL_LINE_STRIP); から46行目の glEnd(); をコメントアウトします。

openFrameworks/apps/devApps/example-sync-sound/src/main.cpp を編集
openFrameworks/apps/devApps/raspberrypi_hello_world/src/main.cpp
と全く同じ内容にする。
ので、上書きコピーでいいですね。

ここまでの準備ができたらコンパイル
cd openFrameworks/apps/devApps/example-sync-sound/
make Debug
openFrameworks を make Debug でコンパイルした場合はここも同じで。
うまくコンパイルできれば
openFrameworks/apps/devApps/example-sync-sound/bin
に example-sync-sound_debug が出来上がっていると思います。

Perfumeグローバルサイトからダウンロードしたwavファイル Perfume_globalsite_sound.wav を
openFrameworks/apps/devApps/example-sync-sound/bin/data/
にコピー。
モーションデータ(aachan.bvh、kashiyuka.bvh、nocchi.bvh)を
openFrameworks/apps/devApps/example-sync-sound/bin/data/bvhfiles/
にコピー。

実行~(ノ゜o゜)ノ
すると以下の動画ような感じになります。



XWindowなしで動作して、動きは普通にスムーズですね~。




Raspberry Pi でUSBカメラ & 2D描画 OpenVG を使ってみる

H264のハードウェアエンコードを試そうとしてたら、
USBカメラとOpenVGのネタが溜まったので紹介します。

いわゆるWebカメラ的な物は持っていないので、今回は下記のUSBマイクロスコープを使用します。



こんな感じで接続、設置しました。
RaspberryPiも普通に認識しているようです。



ここからが動くようになるまで結構長かった。(>_<)

まずはキャプチャーですね~
キャプチャー関係は Video for Linux two (v4l2)でいけることは知っていましたが、
一度も使ったことがないので苦戦しまくり。

最初は既存のツールのみで表示させてみます。

まずは ffmpeg をコンパイルです。
ffmpeg から分裂した avconv なら apt-get で取得できるのですが、
H264のハードウェアエンコード試してたら、ffmpeg のほうが相性いいようなので
コンパイルして使えるようにします。

以下のサイトを参考にすれば普通に出来ると思います。
RaspberryPi を1GHzにオーバークロックしても2時間くらいです...(;´д`)
mkfifo pipe
 ./ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 -vcodec mpeg4 -f avi pipe:1 > pipe

別コンソールで
omxplayer pipe

これで XWindow なくても表示は出来ますね。
でも、ラグが10~15秒もあります...( ̄~ ̄;)
エンコードに時間かかってるのかな?
ffmpegのオプション追加でフレームレートを3fpsに下げてみます。
./ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 -vcodec mpeg4 -f avi -r 3 pipe:1 > pipe
変化なし...
omxplayerのバッファリングが原因かもしれませんね。

もっとラグなしで表示したいな~「プログラム自作して表示してしまおう」
と思ってしまった。
これがまた苦戦しまくり、かなり時間をかけてしまいました。
最近はJavaばかりなので、C言語のブランクが5年以上あります。
これだけブランクあると、いろいろ忘れていること多すぎでダメダメですな (;´д`)

まずは v4l2 をプログラムで扱うにはどうしたらいいのかですね。
これはネット上に情報がたくさんあるので Google先生に聞けばOKっと。

2D描画の方ですが、RaspberryPi の /opt/vc/src/hello_pi 配下にサンプルプログラムが
幾つかあります。
/opt/vc/src/hello_pi/hello_dispmanx/ が2D描画のサンプルっぽいですね。
が!
これのことを調べてたら OpenVG のラッパーライブラリを見つけました。

https://github.com/ajstarks/openvg
そうそう、これこれ!
こういう簡単なのがほしかったのだ~(=´∇`=)
ってことで、これをコンパイルします。
まずは zip で持ってきて展開
sudo  apt-get install libjpeg-dev
cd 展開したところ
make
※エラー出るけど libshapes.o、oglinit.o ができてればOK
サンプルプログラムもあるのでコンパイルする場合は以下のようにする。
cd client
※ Makefile編集でgccオプションに -lEGL -lbcm_host 追加
make

最終的に v4l2 と OpenVG で作ってみたテストプログラムを動かすと以下のような感じ。
キャプチャー画像はほぼリアルタイムで更新され、XWindowなしで動作しています。



キャプチャー部分拡大 (写真撮ったタイミング違うけど)



「青い円、テキストを2行、線1本、キャプチャー画像を描く」を無限ループで繰り返してます。

もし、キャプチャー時に select timeout する場合は
以下のようにドライバーを入れ直すといいかもしれません。
sudo rmmod uvcvideo
sudo modprobe uvcvideo nodrop=1 timeout=5000
このUSBカメラとRaspberryPiだと、取り込み画像は320x240が限界のようです。
640x480だと画像が乱れまくりでした。

USBカメラの画像フォーマットは以下のようにして、知ることが出来ます。
sudo apt-get install v4l-utils
v4l2-ctl --list-formats-ext
キャプチャー部分のコーディングに役立つかと...思う。

スクリーンショットには日本語が出ていますが、デフォだと日本語は表示できません。
OpenVG自体は文字描画に対応していない?のかな。
ラッパーのほう覗いてみると、半角アルファベットの描画方法は FreeType を使って
PATHオブジェクトを生成しているようです。
じゃ~日本語もいけそうな感じがしますね。
が、完全対応はめんどくさいので、」だけ表示できるようにしてみます。
まずは準備~
Windows7 から日本語フォント dfpop.ttc を RaspberryPi にコピー
sudo apt-get install libfreetype6-dev
cd OpenVGラッパーを展開したところ
font2openvg.cpp 編集
make font2openvg
font2openvg dfpop.ttc dfpop.inc dfpop
とすると dfpop.ttf を元に dfpop.inc が生成されます。
中身はPATHオブジェクトのデータになっているようです。
これを自作プログラムで #include "dfpop.inc" して、loadfont() すればOKです。

font2openvg.cpp の編集は以下のように1カ所だけ。



dfpopフォントを使うとどんな半角を表示しようとしても、「あ」ばかり表示されます~(笑)

日本語完全対応は...私は必要ないので、他の方任せた!(グホッ

テストプログラムをコンパイルする時は
fontinfo.h
shapes.h
libshapes.o
oglinit.o
をOpenVGラッパーから持ってきて、
gcc -o z main.c libshapes.o oglinit.o -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -lbcm_host -L/opt/vc/lib/ -lGLESv2 -ljpeg -lEGL
別のフォントを使いたい場合は font2openvg で生成した inc ファイルも必要です。

ソースコードは折りたたんでます。


RaspberryPi 日本語コミュニティ開設

公式の Forum に日本語掲示板がいつのまにか開設されています。

http://www.raspberrypi.org/phpBB3/viewforum.php?f=82

RaspberryPi の情報交換・収集がしやすくなると思われます。