Archive for the ‘PC’ Category

予約してたんですけどね

火曜日, 10月 2nd, 2007

なんか発送予定日がノビるわノビるわで、もうイイや。って気分になっちゃったのでミクの予約はキャンセルしちゃいました。単純に歌わせて遊ぶのは当然として、もひとつネタっぽいこと考えてから、来るのを楽しみにしてたんですが。やろうと思ってたのは、ソフトで動的に演奏データ作成して喋らせるという、「ゴーストハックされますた」的一発ネタ。意外にあっさり、それを実現するためのツールがPerlで全部揃えられたので、はじめの内はやる気が結構あったんだけど、もう今更というか、なんというかねー。
一応、ざっくりと処理の流れを書くと、「テキスト→形態素解析(Yahoo!のやつを使ってみようかと)→音節単位(?)に発音データ作成→→演奏データをVSTホストへ投げる→最終的にミクが喋る」です

うん、超電波娘が見えるようだ。
発音時の音階調整、ゲートタイム、アクセントもろもろを精緻化しきれれば電波系じゃないのもいけるかしらん。

ところで、日本グランプリというか富士スピードウェイというか。
Wikipedia英語版でも項目が一個上がってますね。

http://en.wikipedia.org/wiki/Fuji_Speedwayより引用)
Toyota bias and control
During the 2007 Japanese Grand Prix, Fuji Speedway prohibited the spectators from setting up the flags and banners to support the teams and drivers, with the exception of the Toyota F1 team whose owner also owned the circuit. Therefore, there were very few flags and banners in the event compared with other Grand Prix events.

(トヨタ偏重の操作
2007年の日本グランプリでは、富士スピードウェイは観客にトヨタがオーナーのチームやドライバー以外を応援する旗や横断幕の利用を観客に禁止した。よって他のグランプリとは違い、通常見られる応援の旗や横断幕はほとんどなかった)

この項目は表面的にわかりやすいところなわけですが、いろんなブログとかまとめサイトみると酷すぎ、今回の主催のやり方。
次はトヨタ車買うのやめるか…(´ε´

来ませんね。

金曜日, 9月 21st, 2007

今日が発送予定の最終日なのにいまだにステータスが未発送です……ヒドス
ところで一昨日、本屋の店頭に並んでたのでMy Music Studioの創刊号を衝動買いしたんです。CMで「鼻歌で作曲」とかて言ってたのでついてるシーケンサがSingerSongWriterで間違いねえと確信しての購入なんですけどねw。
インストールしていじってみましたが純粋にSSWじゃなくて、Singer Song Writer MyMusicStudio(SSW MMS)てことでSSW8の機能制限版という体裁になってました。刊行予定をみると50号でSSWが完成するスケジュールになってるんですが、そこまで買い続けるとSSWのパッケージ実売価格より高くなる罠(分冊百科商法だし)。もっとも、冊子の内容次第では50号くらいが意外とちょうど投資額と等価になったりしそうな予感?普通にSSWパッケージ購入しても3万超えるわけだし。

そうそう、触ってみてすぐわかる機能制限としては
音符入力のみ動作して、ピアノロールでの編集やステップ入力はできない。
VSTiプラグインは同時に1つしか動かない。

はっきりいって創刊号メリットはVSCが490円で入手できることくらいです。
ちなみに2号付録はマイクつきヘッドフォンだそうな。
SSWが現状だとしょぼすぎて凝った用途には使えないなあ。

私はサクラでMMLごりごり書くのが一番楽という人種なのでシーケンサの機能制限とか関係ないですけど。
つか、ミクの技術資料が早く読みたいなぁ……。

考えること同じ人いるなあやっぱり。

月曜日, 9月 10th, 2007


まあ、私は負け組みなので……手元に来るのはやくて20日らしい。

それはそれとしてくそワロタwwww↓

Perlでニコニコ動画で遊ぶ。モジュールの導入

土曜日, 9月 8th, 2007

WindowsでActivePerl最新版を使ってニコニコ動画で遊びます。
とりあえずPPMで必要なモジュールをインストールっ。
コマンドプロンプトでPPMを実行。
標準のActivestateのリポジトリだとインストールできないものがあることとバージョンが古いものになるのでtcool.orgを利用させてもらいます。

> ppm install http://ppm.tcool.org/archives/WWW-Mechanize.ppd 
> ppm install http://ppm.tcool.org/archives/Crypt-SSLeay.ppd 
> ppm install http://ppm.tcool.org/archives/Config-Simple.ppd 
> ppm install http://ppm.tcool.org/archives/Jcode.ppd

次、PPMで入れられないモジュール(実はPPMパッケージを作る処理が同梱されてますがppdで配布してるところを知りませんので)なんですが下でネタにしてるFLV::ToMP3が入っているモジュールFLV::Infoも入れましょう。こちらはCPANのサイトから直接圧縮ファイルをダウンロードしての導入作業が必要になります。以下説明。
まず、CPANの「FLV::Info」のページを開きます。

CPAN
画面のDownloadからファイルを保存します。
ファイル「FLV-Info-0.18.tar.gz」を作業用にC:\tmpみたいな適当なフォルダに置きます。圧縮ファイルなので解凍ソフトでフォルダ付で解凍します。
コマンドプロンプトで解凍されてできたフォルダに移動します。
で、次のコマンドを実行。

> perl Build.PL 
> perl Build install

が、モジュールが足りないとエラーが出ると思います。というわけで改めてPPMで追加しましょう。

> ppm install AMF::Perl 
> ppm install SWF::File 
> ppm install Readonly

これらのモジュールがインストールできたら再度

> perl Build install

これで、おk。

ニコニコ動画のFLVをダウンロードしてMP3にする

土曜日, 9月 8th, 2007

久々にPerlで小物作成。
ニコニコ動画のFLVファイルをダウンロード&MP3作成。
動作に必要なジュールの説明は後ほど。

#!/usr/bin/perl
 
# mp3kure.pl
# programmed by MDR
 
use strict;
use WWW::Mechanize;
use Config::Simple;
use CGI;
use FLV::ToMP3;
 
my $url = ({
    TopPage => 'http://www.nicovideo.jp/',
    Watch   => 'http://www.nicovideo.jp/watch/',
    Api     => 'http://www.nicovideo.jp/api/getflv?v='
});
my $conf = Config::Simple->new('./mp3kure.ini')->vars();
 
my $mech = WWW::Mechanize->new( keep_alive=>4 );
$mech->get( $url->{'TopPage'} );
$mech->set_fields(
    mail => $conf->{'Main.Mail'},
    password => $conf->{'Main.Password'}
);
$mech->submit();
 
$mech->get( $url->{'Watch'} . $ARGV[0]);
my $res = $mech->get( $url->{'Api'} .$ARGV[0]);
my $q = CGI->new( $res->content );
my $uri = $q->param('url');
$mech->get( $uri, ":content_file" => "./$ARGV[0].flv");
 
my $converter = FLV::ToMP3->new();
$converter->parse_flv("./$ARGV[0].flv");
$converter->save("./$ARGV[0].mp3");
 
#エラー処理? そんなの関係ねぇ

設定ファイルはmp3kure.plと同じフォルダにmp3kure.iniを作って次の内容で置いてください。

[Main] 
Mail=ニコニコ動画にログインするメールアドレス 
Password=同パスワード

inpout32.dllをVCで使うためのヘッダファイル

土曜日, 8月 18th, 2007

USB版コマコンをつくって検証とかしてみたところ、求める精度(60F/sの完全制御)には到達できないと判断したのでUSBは捨てて、原点に立ち返ってパラレルポートを使って制御することに。USB版も安定して1F単位で動いてると見えてたんですが、数百フレームぶっ続けで実行させてるとふらつきが出まくるのでここはやっぱり同期信号をトリガにして作るのが結局正解だろうということで、ね。
まず、同期信号が入力されたのを検出するためにとりあえずinpout32で入力ポートのデータをチェックできるアプリを作成っと。

というわけで、inpout32.dllをVC++2005 ExpressEditionで使うときに突貫で書いたヘッダファイルの中身を公開。
まあ、ぶっちゃけ内容はCPANのDevice::ParallelPortをぱくって参考に機能をマネッコしたというのはバレバレですかね。
一応、namespaceとか使ってみましたがこういう使い方でいいんだろうか…と不安になる。

中身は以下。
(more…)

出来てたけどアップするの忘れてたので上げておく。

木曜日, 8月 9th, 2007

CONDUCTOR_SS

VBで作成してたけど、ふと思いつきVisualC++ 2005 Express Editionで作り直し+機能追加したもの。

conductor.png
マクロ編集・実行ツール「CONDUCTOR」

(動作環境)
.Net Framework 2.0
FTDI ダイレクトドライバ

対応機器は参考にさせていただいた「くすのき電算室」さんで公開されてる回路構成のモノ+シリアルIDになっていたりします。
くすのき電算室さんはレビューとかいろいろと参考になります。

.NETでここまでやったんだからもういいよねのVersion1.0

金曜日, 7月 13th, 2007

Marionettesコマコン

解凍してsetup実行で。
デバイスの1P、2Pのシリアルナンバーは参考にさせていただいたサイトと同一。
ちなみに2P側がちゃんと動いてるかのテストはしていない(待て
とりあえずほぼ満足いく精度でコマンド送信されてると思うんだけど、完璧にはならないのでもどかしい仕上がりなのが……うーん。
まあ同期してないんだからこの辺があきらめどころかなあ。

ツールバーのアイコンの一部はこちらのサイトのものを利用させてもらいました。
多謝

FT245BMに頼る

水曜日, 6月 27th, 2007

パラレルポート接続のエンジンをPerl・マクロ編集はVBScriptのHTAっていうコマコンですが被験者達(笑)の様子を見てると実用性の限界に達してるのを感じたので素直に1アプリとして完成させようということでセコセコとやってます。ちなみに暇つぶし勉強がてらVisualBasic 2005 Express Editionを開発に利用。ひさびさにVisualBasicまじめにいじってるけど、ずいぶん変わってるなあVB……。

さて。パラレルポートでの接続だとコントローラを2系統同時に操作するにはどうにも面倒なことになりそうな気配があり、サイトで情報公開してる人が居るUSB接続でのコントローラを同時に2系統操作する方針に現在は転換しております。参考にさせていただいたサイトと使ってるUSBのシリアル→パラレル変換チップ(FTDI社のFT245BM)を使っているIPI社のデモ基板USB245BPを購入(回路組むのに手間かけたくなかったので)、手持ちのテスト用PSパッドとつないで早速テスト。参考にしたものとはピンの結線が私のパラレル接続バージョンと微妙に違ってどうしようかなあと思ったんですが、さしあたって動くかどうかコマンド送信できるプログラムが作成できてなかったのでマネッコ結線(^^;シリアルナンバーもFT000001にあわせて公開されてるコマコンアプリ使わせてもらって……。

おk。

通信速度(?)の微調整は必要そうですが一通りの操作に問題無しです。 まずは試しにってことで1個しか基板買ってないわけですが買い足せってことですかね。なんとなく、本当になんとなくで使い道も考えずに単体チップも購入してるんですが考えなさすぎで持ち腐れ決定っぽい(・w・;
#確認しきれなかったけどアレ完成してるはず。ちょっと確信がもてた>Kの人 以下参考。ただのメモ

    PS  NG PS(参考)
D0 ↑   ↑   ←
D1 ↓   ↓   ↓
D2 →   →   →
D3 ←   ←   ↑
D4 □   A   ○
D5 △   B   ×
D6 ×   C   △
D7 ○   D   □    

USB245BP
     Pin
D0   1
D1   2
D2   3
D3   4
D4   5
D5   6
D6   7
D7   8
GND 15

XPで(略)HTAと格闘

火曜日, 5月 29th, 2007

FrameEditor version 0.5
120フレーム制限解除。
新規マクロ作成時に最大フレーム数指定可(30フレーム単位)
レバー方向の入力は任意のセルを選択して数字キーで入力。
テンキーでも通常数字キーでも可。レバー入力消去はDel、BS、Space。

あとは細かいバグ取り……
とりあえずここに置いておくのでフィードバックよろ。