Raspberry Piを自宅用動画プレイヤーにする (2014-10-24) このエントリーを含むブックマーク

Raspberry Piを自宅の今にあるTVにつないで、動画プレイヤーとして使っています。次回のための設定備忘録。

画面表示の最適化

(1) 普通にRaspbianでセットアップ

(2) 居間TV用に設定ファイルを編集

とはいえ、普通にセットアップしただけで、大抵そろっています。ただ、居間のテレビにつなぐと、文字が小さすぎて見えません。また、音も出ません。

そこで、/boot/config.txt を編集します。まず、HDMIに強制出力するようにします。

hdmi_force_hotplug=1

音声もHDMIで出力するようにします。

hdmi_drive=2

画面がちらちらする場合

disable_overscan=1

また、解像度を低くする場合、以下の行を追加します。(ただし各TVによって最適な値は異なります。

framebuffer_width=1024
framebuffer_height=768

動画の再生

動画の再生には、「omxplayer」を使います。はじめから入ってます。入ってなければ、apt-getでインストールします。

sudo apt-get install omxplayer

動画の再生は、コマンドラインから

omxplayer 動画ファイル名

ブラウザ上で動画を再生した場合、カクカクして現実的ではないですが、omxplayerを使った再生では、なかなか快適です。

Raspberyy PIで無線LAN子機wli-uc-gnを使う (2014-10-22) このエントリーを含むブックマーク

Raspberry PIで遊んでいるのですが、我が家に転がっていた無線LAN子機 Buffalo WLI-UC-GN が使えませんでした。USBに刺さったデバイス自体は認識しているのですが、使えません。そこで、以下のサイトを参考に設定しようと思っているところ。

Windowsの環境変数の設定方法 (2014-10-20) このエントリーを含むブックマーク

Windowsで環境変数を設定する方法をまとめてみました。そもそも、環境変数とは、OS環境をカスタマイズするためのシステム変数です。開発者やネットワーク管理者であれば、環境構築の際に、設定を行う必要があります。その方法ですが、OSごとに微妙に方法が異なるのでここにまとめておきます。

OS 方法
Windows NT コントロールパネル > システム環境
Windows 2000 コントロールパネル > システム詳細 > 環境変数
Windows XP コントロールパネル > システム詳細設定 > 環境変数
Windows Vista コントロールパネル > システムとメンテナンス > システム > システムの詳細設定 > 環境変数
Windows 7/8 コントロールパネル > システム > システムの詳細設定 > 環境変数
Windows 7/8(カテゴリ表示) コントロールパネル > システムとセキュリティ > システム > システムの詳細設定 > 環境変数

ちなみに、Windows 7以降であれば、スタートボタンを押して、「プログラムとファイルの検索」から「env」とタイプすると「環境変数を編集」の選択肢が表示されるので、これを選ぶと表示されます。

Mac OS X MarvericksでC言語デバッグ (2014-10-14) このエントリーを含むブックマーク

最近、Mac OS X(Marvericks)のターミナル上で、C言語を使って開発しています。その場合、Xcodeを使ってやるのが環境構築するのが一番簡単です。

ただターミナル上、あるいは、EclipseやNetBeansでやる場合には、コマンドを入力する必要があります。

このとき、gccは普通に使えるのですが、gdbがありません。その代わり、デバッグには、lldbを使います。lldbの使い方は、以下より。

簡単にまとめると、以下の通り。

まず、コンパイル時に、デバッグオプション(-g)を追加。

gcc -Wall -O2 -g -c hoge.c

起動時に実行ファイルを指定してlldbを実行。

lldb ./appfile

実行するには「r」(または「run」)をタイプします。これだけで、落ちたときに、その付近の情報(関数名やファイル情報など)を表示してくれます。

(lldb) r

落ちた後でも、変数の内容を確認できます。値を確認するには、p(print) や po(print object)を使います。

(lldb) p 変数名
(lldb) po 変数名

lldbを終わるには、q(quit)をタイプします。

(lldb) q

また、ブレイクポイントを設定する場合には、「breakpoint」コマンドを入力します。例えば、test.cの237行目に設定するには、以下の通り。

(lldb) breakpoint set --file test.c --line 237
(lldb) breakpoint set -f test.c -l 237

あるいは、メソッド名で指定できます。例えば、「hoge()」にブレークポイントを指定したいときは、以下の通りです。うまくいくと、ソースファイルと行番号が表示され、設定されます。

(lldb) breakpoint set --method hoge

ブレークポイントで止めると、以下のようにソースコードと行番号が表示されます。

   234    char *p, *p2;
   235    int n, nstep, total;
   236    // no length
-> 237    if (*s == '\0') return def;
   238    total = 0;
   239    p = s;
   240    while (*p != '\0') {

一行ずつ進めるには、n(next)や、s(step-in)や、si(step-inst)をタイプします。

ローカル変数を見たいときは「frame variable」とタイプします。すると、一覧が表示されます。

(lldb) frame variable
(int) def = 96
(char *) p2 = 0x00007fff5fbff990 "^"
(int) base = 384
(int) n = 0
(char *) p = <variable not available>
(int) total = <variable not available>
(char *) p2 = 0x00007fff5fbff990 "^"

ローカル変数の「n」の値を見たいときは、「frame variable n」と入力します。

(lldb) frame variable n
(int) n = 0

Mac OS XでMIDIファイルをオーディオに変換する方法 (2014-10-12) このエントリーを含むブックマーク

Mac OS XでMIDIファイルをオーディオに変換する方法を紹介します。以前、Timidity++を使う方法を紹介しましたので、今回は、Fluidsynthを使う方法を紹介してみます。

MIDIファイルをMP3に変換する方法を紹介
MIDIファイルをMP3に変換する方法を紹介

(1) Homebrewのインストール

まだインストールいしていなければ、Mac OS X用のパッケージ管理ツールのHomebrewをインストールしましょう。ターミナルを開いて、以下のコマンドを実行します。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

(2) Fluidsynthのインストール

続いて、Homebrewを利用して、Fluidsynthをインストールします。

brew install libsndfile lame
brew install --with-libsndfile fluidsynth

(3) SoundFontのダウンロード

SoundFontをダウンロードします。TimGM6mb.sf2がパブリックドメイン(ライセンスの根拠)で配布していますので、リンクが切れる前に、このサイトでも再配布させていただきます。

wget http://kujirahand.com/download/2014/TimGM6mb.sf2

(ちなみに、wgetがないと言われたら、「brew install wget」でwgetをインストールしてください。)

(4) MIDIファイルを変換する

以下は、上記のSoundFontを利用して、「test.mid」を「test.wav」に変換する例です。

fluidsynth -F test.wav ./TimGM6mb.sf2 test.mid 

続いて、「test.wav」をMP3にします。

lame ./test.wav

iTunes(あるいは関連づけされているアプリ)で再生します。

open ./test.mp3

うまく鳴りましたね?