開発に関わったソフトウェア

オープンソースソフトウェア
HRI-JP Audition for Robots with Kyoto University (HARK)
Speech Signal Processing Toolkit (SPTK)
研究用ソフトウェア
A high-quality speech analysis/modification/synthesis system (STRAIGHT)

C 言語の挙動確認

free
free(NULL) は, Segmentation fault (コアダンプ)を起こすと思って試してみたら, 何も問題なかった.
if (p!=NULL) free(p);
とする必要はなく, 単に free(p); で良い.
fclose
fclose(NULL) は, Segmentation fault (コアダンプ)を起こす
#define FCLOSE(FP) if (FP!=NULL) {fclose(FP); FP=NULL;}
とし fclose のかわりに FCLOSE を使おう.
memset
memset(p,0,nLength) のような使い方はよくある.
p がNULL で nLength が非ゼロのときSegmentation fault (コアダンプ)を起こす
p がNULL でも nLength がゼロのときは問題ない.
nLength がゼロのとき, p はどこを指すポインタでも問題ないとも言える.
第二引数がゼロの場合に特化して,
#define MEMZERO(P,SIZE) if (P!=NULL) memset(P,0,SIZE);
とし memset(p,0,nLength) のかわりに MEMZERO(p,nLength) を使おう.

Raspberry Pi Tips

OS(Rasbian) をインストールする
NOOBS をダウンンロード
インターネットブラウザで
https://www.raspberrypi.org/downloads/noobs/
を開きます.
次に, Download ZIP をクリックします.
NOOBS_v1_4_1.zip をファイルに保存します.
NOOBS_v1_4_1.zip を解凍します.
NOOBS_v1_4_1 フォルダ内のファイルトフォルダを
FAT32 フォーマト済みの SDHC カードにコピーします.
フォルダの中の図
SDHC を Rasberry Pi に入れ, 電源を入れます.
インストールメニューが表示されるので Rasbian を選択します.
暫く待つと Rasbian が起動し, Rasbian の設定画面が表示されます(rasp-configが起動).
(必要な項目を設定し) OK を押します.
Rasbian の初期ユーザ名とパスワード
User name: pi
Password: raspberry
USB の出力電流の上限を解除
/boot/config.txt へ次の内容を記述する
--- ここから ---
safe_mode_gpio=4
max_usb_current=1
--- ここまで ---
Raspberry Pi B+ では, デフォルトで USB 出力電流の合計が 0.6 A に制限されています.
この設定をすることで上限を 1.2 A に変更可能です.
コンソール環境で日本語を表示させる
準備
$ sudo apt-get update
$ sudo apt-get install jfbterm
$ sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname
使用
ログイン後に jfbterm を実行
日本語表示環境が不要になったら exit する

How to use Tweepy

Tweepy をインストール
python-pip をインストール(apt-get install python-pip)
git をインストール(apt-get install git)
テンプに tweepy を展開(cd /tmp & git clone https://github.com/tweepy/tweepy.git)
tweepy をインストール(cd /tmp/tweepy & python setup.py install)
Tweepy でつぶやく
つぶやきコマンドを python で書き, tw.py として保存
但し, consumer_key, consumer_secret, access_token, access_t\ oken_secret は適宜自分のものに読み替える
---- ここから ----
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
import tweepy
import sys
argvs=sys.argv
argc=len(argvs)
consumer_key='abc...wxy'
consumer_secret='abc...LMN'
access_token='abc...LMN'
access_token_secret='abc...HIJ'
auth=tweepy.OAuthHandler(consumer_key,consumer_secret)
auth.set_access_token(access_token,access_token_secret)
api=tweepy.API(auth)
if (argc==2):
tweet_text=argvs[1]
api.update_status(tweet_text)
elif (argc==3):
tweet_text=argvs[1]
tweet_img=argvs[2]
api.update_with_media(tweet_img,tweet_text)
else:
tweet_text=u'全角文字でツートテスト'
api.update_status(tweet_text)
---- ここから ----
てすとつぶやき
$ python tw.py "Hello World via Tweepy!"