アニメ声で歌う合成音声エンジン

今日、ニコニコ動画でこのエンジンを使ってJRチャイムに歌詞をつけて歌っているのを聞いてびっくり。初代VOCALOIDが出た当時は仕事柄音声合成を使っていたのでデモを聞いたりした記憶がありますが、今回のエンジンはかなり洗練されている…。(最初はアマチュア声優の人がネタでやっているのかと思った)

クリプトン VOCALOID2特集
http://www.crypton.co.jp/mp/pages/prod/vocaloid/cv01.jsp

PostgreSQLの設定

先月のMT4検証で気になっていたのがデフォルトのPostgreSQLはローカルマシンでDBに接続するときは誰でも入れてしまうなーっと。これはpg_hba.confの設定でローカルマシンからの接続は無条件に許可しているからでした。

共用サーバになるといろいろな人が利用するのではこれではマズいと設定の見直し。

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# “local” is for Unix domain socket connections only
local all all password
# IPv4 local connections:
host all all 127.0.0.1/32 password
# IPv6 local connections:
host all all ::1/128 password

localはコマンドラインで通常接続するときに使用しているUNIXドメインソケット、hostがTCP/IPで接続するときの設定です。デフォルトではMETHODがtrustになっていますがこれをpasswordに変えることでDB接続時にPostgreSQL内で設定したユーザパスワードが必要になります。但しパスワード未設定のユーザは接続できなくなるので事前に設定の確認をしてください。(特にpostgresは忘れがち)

SSH接続の効率化

この前からTeraTermMenuの古い日本語版をカスタマイズしてコンパイルし使っていましたが、UTF版TeraTermには英語版の最新TeraTerm Menuが入ってました。それだけなら特に他の方法でやってみようという気にならなかったのですが、多段ログインのマクロを組んでいるときにヘルプを見たら…。普通にマクロの拡張子をTeraTermMacroに登録して利用できるようです。つまりマクロファイルダブルクリックでOKということなのでこれをスタートメニューとかクイック起動バーに登録すればTeraTermMenuは使わなくても良かったということです。

まずはwheelグループに属しているユーザでログインしsuでルートになる方法
username = ‘username’
hostname = ‘192.168.100.100’
password = ‘userpassword’
supass = ‘supassword’
ini = ‘black_euc.ini’
timeout = 30
msg = hostname
strconcat msg ‘:22 /ssh /auth=password ‘
strconcat msg ‘/user=’
strconcat msg username
strconcat msg ‘ /passwd=’
strconcat msg password
strconcat msg ‘ /f=’
strconcat msg ini
connect msg
pause 2
sendln ‘su -‘
wait ‘Password:’
sendln supass

iniの項目でカスタマイズしたiniファイルを定義します。これはサーバーによって扱っているロケールの文字コードが違う為文字コード別にiniファイルを作成しています。あとはDevelop/Staging/Publicで背景色と文字色を変えてサーバの取り違いミスを予防します。接続の後のpauseはサーバーの応答を待たずにsuコマンドを発行しないようにマクロ側を一時停止します。その後のwaitはサーバーからの応答を待ってパスワードを送信します。timeoutはwait用の値です。

上記はパスワード認証用ですが、次は公開鍵を使って1台目のサーバに接続しさらに他のサーバへsshへログインする方法です。(これはグローバルIPを持たないデータベース専用サーバ等でよく利用します)

username = ‘username’
hostname = ‘192.168.100.100’
password = ‘userpass’
key = ‘id_rsa’
rlhost = ‘192.168.100.101’
rluser = ‘rluser’
rlpass = ‘rlpass’
ini = ‘black_euc.ini’
msg = hostname
strconcat msg ‘:22 /ssh /auth=publickey ‘
strconcat msg ‘/user=’
strconcat msg username
strconcat msg ‘ /passwd=’
strconcat msg password
strconcat msg ‘ /keyfile=’
strconcat msg key
strconcat msg ‘ /f=’
strconcat msg ini
connect msg
pause 2

msg = ‘ssh -l ‘
strconcat msg rluser
strconcat msg ‘ ‘
strconcat msg rlhost
sendln msg
wait ‘Password:’
sendln rlpass

そして作成したマクロファイルをダブルクリックで起動できるように定義します。

WindowsXPでの登録方法
1.エクスプローラーの[ツール(T)]-[フォルダ オプション(O)]からファイルの種類タブをクリック。
2.[新規(N)]をクリック。
3.ファイル拡張子(F)の欄に「.ttl」と入力して[OK]をクリック
4.TTLファイルが登録されたら、「拡張子’TTL’の詳細」グループ内の[詳細設定(V)]ボタンをクリック。
5.一番上のテキスト入力は拡張子の種類に入る説明なので「Tera Term macro files
」と入力。
6.[アイコンの変更(I)]をクリックして好きなアイコンを選択。TeraTerm系のアイコンにしたい場合は[参照(B)]よりTeraTermのインストールされているフォルダへ参照しTeraterm実行ファイルの中から選択する。
7.[新規(N)]をクリックしアクションに「接続」と入力。実行するアプリーションは[参照(R)]でTeraTermマクロ実行ファイルを選択。この時%1が追加で挿入されるがダブルクォートで囲んで[OK]をクリック。
例) “C:Program Filesteratermttermpro.exe” “%1”
8.ついでに[新規(N)]でもうひとつ登録。アクションは「編集」でアプリケーションはTTLEditを選択する。
9.既定は「接続」になっていることを確認して[OK]をクリック。最後に[閉じる]をクリックして終了。

TTLEditはTeraTermマクロに特化したエディタで色分けもされているのでとても便利です。