10:12:29 # Life Androidのサウンドってどうなっているんだろう。 リアルタイムDSP処理とかできないかなぁ、と調査。 録音再生のAPIはあるようだけど、直接たたくにはどうしたらよいか? /dev/adspというそれっぽいのがある。 結構癖がありそうな予感。
$ ls -l /dev/adsp crw-rw---- system audio 251, 9 2008-12-28 13:12 VDEC_LP_MODE crw-rw---- system audio 251, 8 2008-12-28 13:12 VIDEOTASK crw-rw---- system audio 251, 7 2008-12-28 13:12 JPEGTASK crw-rw---- system audio 251, 6 2008-12-28 13:12 LPMTASK crw-rw---- system audio 251, 5 2008-12-28 13:12 QCAMTASK crw-rw---- system audio 251, 4 2008-12-28 13:12 VFETASK crw-rw---- system audio 251, 3 2008-12-28 13:12 AUDPREPROCTASK crw-rw---- system audio 251, 2 2008-12-28 13:12 AUDRECTASK crw-rw---- system audio 251, 1 2008-12-28 13:12 AUDPPTASK crw-rw---- system audio 251, 0 2008-12-28 13:12 AUDPLAY0TASK
17:21:58 # Life Android 開発のためにDebianパッケージではないeclipse をいれてみる。 eclipse 3.4 を探す。たくさん種類があるのでよくわからないのだけどとりあえず java 開発者向けというのを選択してみた。 eclipse-java-ganymede-SR1-linux-gtk-x86_64.tar.gzを取得して展開。
ecasound の 880Hz の metronome の音をとりだす。 ecasound -el:sine_fcac,880,1 -eemb:%1,10000 -efl:2000 -i null -t 0.5 -f 16,1,8000 -o a.wav
22:24:06 # Life 2008年終了のお知らせ。 そろそろ終了します。 今年もいろいろな方にお世話になりました。 来年もまたよろしく。
22:16:50 # Life Yamaha の資料。 ネットワークオーディオについて。 最近調べていた資料。 ネットワーク経由での音声通信として、 Cobranet とEtherSoundという既存のプロトコルが存在するらしい。
23:41:20 # Life リモコンとしてiPod Touch と Android を使いたい。 VNSeaや Android VNC Viewer というのがあるらしい。 iPod Touch にいれようとしたらjailbreak が必要っぽい。 Android VNC Viewerをとりあえず試す。
サーバ側もいろいろとあって、tightvncserver, vnc4server などのパッケージがある。 ちょっと変なものとしては既存の画面に接続するx11vnc, vino(X11), linuxvnc(console)がある。 あと一癖あるものとして、qemu が VNCサーバになる。 クライアントもvinagre, tightvncviewer, gtkvncviewer, gvncviewer などいろいろある。
類似のプロトコルとしては、RDPやNXがあるので実際どれを使うべきか迷うところ。
vncserver :10 で起動してみたのに接続してみたら、とりあえずつながった。 vncserver -geometry 320x200 :10 くらいかな?
vinoを設定してみた。 簡単にサーバが起動して、動いた。素晴らしい。
しかし、Xの画面はそのまま飛ばすと視認できるような画面の解像度ではないなぁ。 24bpsで転送するとかなり負荷が厳しい。
18:27:12 # Life Android ビルドするための、Debian での java の基本的な設定。 あと根本的な問題として、jdkをいれていなかったのでjavacがなかった。 apt-get install sun-java6-bin sun-java6-jdk で解決。 sudo update-alternatives --config java 、 sudo update-alternatives --config javac で、alternativesを確認。 JAVA_HOMEとかは設定しなくてもなんとなくいけているっぽい?
$ ant Buildfile: build.xml dirs: [echo] Creating output directories if needed... resource-src: [echo] Generating R.java / Manifest.java from the resources... aidl: [echo] Compiling aidl files into Java classes... compile: [javac] Compiling 2 source files to /home/dancer/tmp/android/HelloAndroid/bin/classes dex: [echo] Converting compiled files and external libraries into bin/classes.dex... package-res: package-res-no-assets: [echo] Packaging resources... debug: [echo] Packaging bin/HelloAndroid-debug.apk, and signing it with a debug key... [exec] Using keystore: /home/dancer/.android/debug.keystore BUILD SUCCESSFUL Total time: 6 seconds $ unzip -v bin/HelloAndroid-debug.apk Archive: bin/HelloAndroid-debug.apk Length Method Size Ratio Date Time CRC-32 Name -------- ------ ------- ----- ---- ---- ------ ---- 696 Defl:N 306 56% 12-28-08 18:32 6e1cba75 res/layout/main.xml 1244 Defl:N 484 61% 12-28-08 18:32 31169ce1 AndroidManifest.xml 748 Stored 748 0% 12-28-08 18:32 566dca28 resources.arsc 1692 Defl:N 845 50% 12-28-08 18:32 7e377064 classes.dex 327 Defl:N 231 29% 12-28-08 18:32 b7aa5506 META-INF/MANIFEST.MF 380 Defl:N 263 31% 12-28-08 18:32 160db9b1 META-INF/CERT.SF 776 Defl:N 602 22% 12-28-08 18:32 42b77e60 META-INF/CERT.RSA -------- ------- --- ------- 5863 3479 41% 7 files
生成物(apk)はadbで実機にインストールできる。
$ adb install bin/HelloAndroid-debug.apk * daemon not running. starting it now * * daemon started successfully * 61 KB/s (4369 bytes in 0.069s) pkg: /data/local/tmp/HelloAndroid-debug.apk Success
これで、HelloAndroid テンプレートが実機で動きます。
16:06:46 # Life HelloAndroidを作成してみようとする。 ant パッケージがインストールされていない状態だったので挫折。
$ export PATH=$PATH:/..../android-sdk-linux_x86-1.0_r2/tools/ $ activitycreator --out HelloAndroid com.android.hello.HelloAndroid $ ant bash: ant: command not found
antパッケージをインストールしてみた。 なんか変なエラーが。
$ ant Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-1.5.0-gcj-4.3-1.5.0.0/lib/tools.jar Buildfile: build.xml BUILD FAILED /home/dancer/tmp/android/HelloAndroid/build.xml:35: Invalid byte 1 of 1-byte UTF-8 sequence. Total time: 0 seconds
LC_ALL=C にしないとまともにうごかないようだ。 \ が変な文字になっていた。locale が EUC-JP だったからか。
16:41:14 # Life dinstall が一日4回になったのか。 Debian sid のリリースサイクルが12月から一日四回になっていたようです。 いままで一日二回、昔は一日一回。 approx とかのキャッシュの有効時間の設定を変更しないとなぁ。
22:52:58 # Life 今日はLILO Monthly Seminarに参加してきました。 いろいろ話をしましたが、vi を起動した直後に 「i」派、「行番号」派、「j」派、「/」派のどれか、という議論が一番おもしろかったと思います。 会場を提供いただいたグッデイさんありがとうございました。
10:19:38 # Life Android を充電するためにUSBポートにさしてみた。 dmesgを見て気づいたのだがUSBストレージクラスが見えているようだ。 lsusbではVendor Specific Device もあるよう。
[ 2245.678798] usb 7-1: Product: Android Phone [ 2245.678798] usb 7-1: Manufacturer: HTC [ 2250.755048] usb-storage: device scan complete [ 2250.758863] scsi 3:0:0:0: Direct-Access HTC Android Phone 0100 PQ: 0 ANSI: 2
22:46:54 # Life Debian の busybox binary を android で動かすまでをメモしてみる。 ドキュメントを全く読んでないので何か間違ったことを書いているかも。 adbが動いて接続している前提で。
まず、Debian の busybox-static パッケージの最新の armel 版を探してくる。
$ wget http://ftp.debian.org/debian/pool/main/b/busybox/busybox-static_1.10.2-2_armel.deb $ dpkg -x busybox-static_1.10.2-2_armel.deb tmp/ $ ls -l tmp/bin/busybox -rwxr-xr-x 1 dancer dancer 1621892 2008-09-08 10:36 tmp/bin/busybox
まず、Android にファイルを転送する。
$ adb push tmp/bin/busybox /sdcard 926 KB/s (1621892 bytes in 1.709s)
adb shell 上で実行。 /sdcard は noexec / fmask などのオプションつきでマウントされているので いじるのが簡単そうな /dev あたりで操作。
$ su # cat /sdcard/busybox > /dev/busybox # chmod 0755 /dev/busybox # /dev/busybox
どうやら Debian の static armel バイナリはそれなりにうごくっぽい気配。
08:19:13 # Life Android SDK をいれるために eclipse をインストールしようとしてみる。 Android SDK に必要なのは Eclipse 3.3 か 3.4。 なぜか Debian には3.2 しか入っていない。 3.2しか入っていないということについてはいろいろな人が認識していて、 どうやら432350が該当するバグIDらしい。 3.3 と 3.4 について作業しているというログはあるんだけど結局アップロードはされていなくて、 Andreas Tille がパッケージつくるぞといきまいていますね。 そしてMLを見てみると、 pkg-java-maintainers ML で12月に入ってからすごく活発にいろいろと行われているということがわかった。 Android SDK 自体の RFP (Debian パッケージ作成の依頼)も出ていて459219。
13:23:14 # Life apt preferences のドキュメントを探す。 man -k apt で検索してみると、 apt_preferences というマニュアルページがあることが分かる。 testing(lenny)に pin したいときは一番簡単な設定として /etc/apt/preferences ではなく、 apt.conf にAPT::Default-Release "testing";を突っ込んだらよいことがわかるので今回はそれで解決する。 なんかmanpageが変なのでバグをファイル。
13:40:48 # Life git のエンコーディング関連のメモ。 GUIのエンコーディング指定: デフォルトはロケールのencoding (utf-8ではない?)、 git config の gui.encoding、 gitattribute の encoding アトリビュート。 コミットログのエンコーディング: i18n.commitEncoding、デフォルトは utf-8。 ログの出力: i18n.logOutputEncoding
Windows 関連のメモ。 TortoiseGit が最近出たが、まだ新しいのでこれからどうなるか? gitextentionsというのがすでにあるらしい。 GitCheetah。
14:38:27 # Life 気づいたら、flashplugin-nonfree をアップグレードしたら64bit版が利用されるように。 ./libflashplayer-10.0.d21.1.linux-x86_64.so.tar.gz か。
23:19:18 # Life mplayer で MacBookのisight の入力の画面の鏡面を表示する。 mplayer tv:// -vf mirror 。 これでMacOSX で表示されるように鏡面画面が出る。
05:47:04 # Life 東京エリアDebian勉強会報告。 2008年12月20日土曜日に第47回東京エリアDebian勉強会を実施しました。 今回の参加者は 前田耕平さん、 一井崇さん、 やまだたくまさん、 小室文さん、 平澤俊雄さん、 藤沢理聡さん、 じつかたさん、 岩松信洋さん、 小林儀匡さん、 山本浩之さん、 キタハラさん、 日比野啓さん、 id774さん、 やまねひできさん、 でんさん、 でんさんの友人Aさん、 上川x2の 18名でした。
(+ ;;資料コピー14人分 -4006 ;;会場代 -1500 ;;勉強会費 x 15 +7500 ) 1994 の黒字
08:19:11 # Life latex beamer. PDF のメタデータをちゃんと追記してくれているような気がします。 文字コードの変換とかどこでやってるんだろう?
$ pdfinfo debianmeetingresume200811-presentation.pdf| iconv -f utf-8 -t euc-jp Title: 東京エリア Debian 勉強会 - 資料 Subject: Keywords: Author: 上川 純一 dancer@debian.or.jpIRC nick: dancerj Creator: LaTeX with beamer class version 3.07 Producer: dvipdfmx (20080607) CreationDate: Fri Dec 12 08:58:44 2008 Tagged: no Pages: 26 Encrypted: no Page size: 362.83 x 272.13 pts File size: 118578 bytes Optimized: no PDF version: 1.4
00:08:36 # Life xpdf が日本語表示しないなぁ、と思っていたら。 ttf-japanese-gothic が入っていなかった。 506165を追跡するところまでやって、 結局アップグレードし忘れていたのか。 というおちで。
09:34:00 # Life Git の diff に色をつけて表示。 Planet Debian で Git 関連の小技が話題になっています。 git config の color.ui を auto にすると、出力デバイスに応じてカラー表示してくれます。 ページャで lv を使っているのですが、 lv は -c をつけるとANSIカラーを処理してくれるようになるようなので、 ~/.gitconfig にこんな感じで追加してみました。
[color] ui = auto [core] pager = lv -c
11:34:49 # Life sqlite3 を使ってみようかと。 sqlite3 パッケージをインストールして、python-pysqlite2 をインストール。 lennyのバージョンについてドキュメントがおかしいよというバグをファイルしたらsidのバージョンでは 全く違うドキュメントの仕組みになっていた。
08:52:09 # Life iPod Touch でリモコン。 MacBookでのプレゼンテーションリモコン用にちょこっとハック。 MacBookでウェブサーバを立ち上げ、上と下ボタンを用意します。 上ボタンが押されたらXtestでPgUpボタン、 下ボタンが押されたらXtestでPgDnボタンがおさるという挙動をしこんでおきます。 iPod Touch でそのウェブサーバに接続すればあら素敵、リモコンのできあがりです。 MacBook は avahi で接続できるようにしておくと適当な無線環境でもつながるので便利かも。 写真の絵のへちょいのは勘弁してください。 ソースは、 git clone git://git.debian.org/git/tokyodebian/monthly-report.git, utils/ipodtouchremote
11:20:29 # Life jaaa. Jack か alsa の音源の spectrum を解析してくれるツール。 X window で表示させることができる。 試しに歌ってみて自分の声の音程をみてみようかなぁ、と思うと デフォルトの表示だと幅広すぎるので、周波数の表示範囲を0-1kHz くらいにして、 解像度が低くなりすぎるので、遅くなりすぎない程度にbandwidth もある程度狭くする。 で、ドレミファソラシドと歌ってみて周波数分布を目視で確認できたところで満足。
22:05:05 # Life pythonからグラフを作成する。 oooをpythonから制御してみたり、python-pychart(2年くらいメンテナンスされていない?) を使ってみたり、 python-pycha(あまり活発に開発されていない?)を試してみたりしたのですが、あまりしっくりこないので、 その他の方法を探索してみた。 gnuplot 以外の方法を模索してpython のグラフ描画ツールにいきついたので、 gnuplot 以外という条件で。 matplotlibや、 pybld からたどれる Graceとかが気になる。 しかし、Grace のほうが gnuplot より古の香りがするのはなんでだろう。 気を取り直して、python-matplotlibパッケージをとりあえずインストール。
22:29:29 # Life 今日はkeyjnote のコードを読む。 mplayer には slave モードというのがあり、 キーボード入力はうけつけず、stdin から制御するようにできるらしい。 wid を指定して既存のウィンドウにエンベッドすることもできるらしい。 うーむ、便利だ。
08:35:22 # Life 先日話題になった OCaml のポーティング。 ./asmcomp/ 以下にあるようだ。 asmcomp/arm/* 以下に arm 向けのコードがあるようだ。
ocaml-3.10.2$ ls asmcomp/*/ -d asmcomp/alpha/ asmcomp/amd64/ asmcomp/arm/ asmcomp/hppa/ asmcomp/i386/ asmcomp/ia64/ asmcomp/m68k/ asmcomp/mips/ asmcomp/power/ asmcomp/sparc/
00:31:40 # Life 今日はカーネル読書会。 いろいろと話をしましたが、 H比野さんが ocaml を android VM に移植するのと、 advi のコードをデバッグするということが決定したようです。
07:49:40 # Life whizzytex のドキュメント。 3年前に更新したのが最後の古いドキュメントを参照してはまっている人が数人いたようなので、修正。 ptex-binからpinitex が消えているので、"platex -ini"を指定する必要があります。 whizzytex で日本語設定するための from scratch な方法を紹介してあげるのが 親切なのかなぁ。
$Id: 200812.html.ja,v 1.42 2009/01/17 23:57:50 dancer Exp $