2016年11月7日月曜日

ゆっくりMovieMakerでフォントがプレビュー画面に反映されない時の応急処置

ゆっくりMovieMaker(ゆっくりムービーメーカー、通称YMM)は
「日本語対応フォント」でないとプレビュー画面にフォントが反映されない。



↑字幕のフォントを選択するとき、太字で表示されているものが「日本語対応フォント」。

…が、明らかに日本語に対応しているフォントなのに太字で表示されず
プレビュー画面に反映されないケースがある。


コーポレート・ロゴBはこんなフォントではない

どういうロジックで日本語対応/非対応を判断しているか分からないけど
実はttfファイルをフォント編集ソフトでひらいて
フォントファミリー名やフォント識別文字(?)を任意の「日本語対応フォント」のものに書き替えると
プレビュー画面に反映させることができる。


↑名前は別のフリーフォントだけど、中身はコーポレート・ロゴB。

……当然、ttfファイルの編集を堅く禁止しているフォントでは不可能。
というより、この方法自体あんまりよろしくないと言わざるを得ない。
名義を拝借しているフォントは共存できなくなるし。あくまで応急処置ということで。


2016年10月16日日曜日

【スプラトゥーン】ゲームパッドの画面をテレビに映す

諸事情により小さなテレビが1台余ったから
ずっとやってみたかったことをやってみる。


すなわち、いつものゲーム画面の下に
本来ゲームパッドにしか表示されないマップ画面を表示して
快適に遊ぼうという計画。

※ズルくね?と思った方はぜひ最後までお読みください。


手順
  1. ゲームパッドにWebカメラを固定する(過去記事を参照)
  2. キャプチャソフトでWebカメラの映像をPC画面に表示する
  3. PCのモニタと小さなテレビをデュアルディスプレイにする
  4. 小さなテレビ側にキャプチャソフトのウィンドウを移動する
  5. 移動したウィンドウを最大化する(アマレコTVならAlt+Enter)

結果

写真撮るとき近付きすぎた


よっしゃ~~~~!!
これでついついゲームパッド見逃す自分でも闘えるぞー!
ガチホコを見失ってタッチダウン決められたり
裏取りに気付かずボコられることがなくなるぞぉぉー!!
早速ナワバリバトルで試してみよ~~~!!!
















………………。




本日の教訓
普段ロクにゲームパッド見てないヤツが何をやっても駄目なものは駄目


※結局テレビは片付けました

2016年6月27日月曜日

Windows10アップグレードからの速攻巻き戻し

別に10に恨みがある訳ではないけど、まだ7を使い続けたい。

Windows10の認証はハードウェア(マザボ?)単位で紐づけが行われるらしいので
・True Imageで現在のWindows7環境のバックアップを取る
・Windows10へアップグレードする
・True ImageでWindows7へリカバリする
という手順を踏むことにした。これならWin7環境が汚れないし、
Microsoftのサーバ側には現在のハードウェアで認証した記録が残るから
Windows7のサポートが切れる際に無償で10へ移行できるはず。


作業手順

1. ブータブルメディアを作る

自分が持っているTrue Image Home 2012 plusはWindows10に対応しておらず
アップグレード時にアンインストールされる。
そのため、Windows10にした後にTrue Imageを起動するためのブータブルメディアが必要。

2. Cドライブ(システムドライブ)のバックアップを取る


3.Windows10にアップグレード

アップグレード用のアプリを使う。ダウンロード含めて1時間半~2時間くらい?
しかしWindowsで使うソフトウェアのことをアプリと呼ぶのは違和感あるな…

4. ブータブルメディアからTrue Imageを起動してWindows7環境を復元

無邪気に増分バックアップしまくってたせいで一晩かかった。
やっぱり定期的に完全バックアップ取らないとダメだ。


やったけど必要じゃなかった作業
・USBメモリにWindows10アップグレード環境をつくる
2016年7月末までに準備しておけばそれで良かった。

・Dドライブのバックアップを取る
Cドライブ以外への影響はなかった。
まあ必須じゃなかったというだけで、必要な作業ではある。

------------------------------------------------------

一応アップグレード直後のシステムのプロパティを開いて
ちゃんとWindows10のライセンス認証が通ったかどうかの確認はしたけど、
これで2020年に再アップグレードできなかったらイヤだなあ。

2016年6月26日日曜日

ニコニコ大百科IME辞書とMeCabと棒読みちゃん

※このエントリに出て来る「IME」は大体MS-IMEを指しています。


「ニコニコ大百科IME辞書」という、ニコニコ大百科に登録されている単語が
IMEで変換できるようになる素晴らしい辞書がある。

一方、棒読みちゃんはIMEを使って漢字→かな変換をしているので
この辞書をIMEに登録すると自然と棒読みちゃんも賢くなる。

ぜひ棒読みちゃんを賢くしたいけど、
IMEにニコニコ大百科の言葉を登録すると変換誤爆が怖いです><;という場合、
棒読みちゃんの漢字→かな変換処理にMecabを使用すると住み分けが出来る。

・Mecabって何さ
日本語の文を以下のような感じで解析するツール。

-------------------------------------------
C: >mecab
私の名前は山田太郎です。
私      名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ
の      助詞,連体化,*,*,*,*,の,ノ,ノ
名前    名詞,一般,*,*,*,*,名前,ナマエ,ナマエ
は      助詞,係助詞,*,*,*,*,は,ハ,ワ
山田    名詞,固有名詞,人名,姓,*,*,山田,ヤマダ,ヤマダ
太郎    名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
です    助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
。      記号,句点,*,*,*,*,。,。,。
EOS
-------------------------------------------

英語みたいに間にスペースが入っている訳ではないから、
コンピュータにとって日本語は単語ごとに分割するのが難しい言語。
Mecabはそれをいい感じに分割してくれるスゴいヤツ。Twitterのbotにもよく使われている。

Mecabが持っている辞書にニコニコ大百科の単語を登録すれば
棒読みちゃんはその通りに読み上げてくれるはず。
という訳でニコニコ大百科IME辞書の内容をMeCabの辞書に変換してみる。

1. MeCabのインストール

以下のページからMeCabをDLしてインストールする。
http://taku910.github.io/mecab/
※「Binary package for MS-Windows」と書かれているところ。
  棒読みちゃん側で動作確認しているのは0.98だけどそれ以降のverでも動くっぽい

インストール中に辞書の文字コードを聞かれるので、Shift-JISを指定する。
それ以外の文字コードにすると棒読みちゃん側で文字化けしてしまう。


このことからも分かる通り、ユニコード特殊文字バリバリな単語は
残念ながら今回棒読みちゃんに読ませることはできない。

インストールが終わったらMeCabのbinフォルダにパスを通す。
マイ コンピュータのプロパティ→システムの詳細設定→環境変数→ユーザー環境変数のpathの
先頭に以下の文字列を追加。
「<MeCabインストールフォルダ>\bin;」

こんな感じ



2. ActivePerlのインストール

Perlスクリプトでニコニコ大百科IME辞書→MeCab辞書用CSVファイルの変換を行うため、
以下からActivePerlをDLしてインストールする。
http://www.activestate.com/activeperl/downloads
※「DOWNLOAD PERL: OTHER PLATFORMS AND VERSIONS」と書かれているところ

自分の環境はActivePerl v5.16.3だから古いけど
多分最新版のActivePerlでもスクリプトは動く…はず…

3. スクリプトの準備

以下のスクリプトを「make_dic_csv.pl」として保存する。
文字コードはUTF-8。

スクリプト(要ActivePerl) -

色々凝っていたら長くなった…。


4. ニコニコ大百科IME辞書のDL

以下のページからニコニコ大百科IME辞書をDLする。
http://tkido.com/blog/1019.html

nicoime.zip を展開すると「nicoime_msime.txt」が出て来るので、
nicoime_msime.txtを3.で準備したmake_dic_csv.plと同じ階層に配置する。


5. スクリプトの実行

エクスプローラをひらき、make_dic_csv.plとnicoime_msime.txtがある階層で
Shiftキーを押しながら右クリック→「コマンドウィンドウをここで開く」を選択する。

Shiftキーを押しながらじゃないと表示されない

コマンドプロンプトの画面が表示されるので、以下を入力してEnterキーを押す。

-------------------------------------------
perl make_dic_csv.pl
-------------------------------------------

こんな感じになる

この時点で、make_dic_csv.plとnicoime_msime.txtがある階層に
「nico_dic.csv」が出来ている。


6. CSVファイルをMeCab辞書に変換

5. のコマンドプロンプトの画面で続けて以下を入力してEnterキーを押す。

------------------------------------------------
mecab-dict-index -f SHIFT-JIS -t SHIFT-JIS -d "C:\Program Files (x86)\MeCab\dic\ipadic" -u nico.dic nico_dic.csv
------------------------------------------------
※C:\Program Files (x86)\MeCab の部分はMeCabのインストールパスに応じて変更する


5.の画像の続き


これでMeCab用の辞書が完成する。

 「nico.dic」がMeCab用辞書


7. MeCabのユーザ辞書に登録する

作成したnico.dicをMeCabのdicフォルダの下に移しておく。
<MeCabインストールフォルダ>\dicの下に適当な名前(userとか)でフォルダを作成して
その中にnico.dicを入れる。(例:C:\Program Files (x86)\MeCab\dic\user\nico.dic)

その後、<MeCabインストールフォルダ>\etc\mecabrcをエディタでひらき、
以下の通りnico.dicのパスを指定して保存する。

--------------------------------------------------------
userdic = "C:\Program Files (x86)\MeCab\dic\user\nico.dic"
--------------------------------------------------------

辞書追加作業はこれでおしまい。


8. 棒読みちゃんのテスト

…の前に、忘れずに以下の設定をしておく。
棒読みちゃん設定画面→[システム]→[漢字→かな変換]→[01)漢字→かな変換モード]の欄で
MeCabを指定し、OKボタンを押す。

これを忘れるとMeCabを使ってくれない


以上で準備OK。
試しに「デカライン高架下でRブラスターエリートにやられた!」と入力してみる。
正しい読み方は「でからいんこうかしたでらぴっどぶらすたーえりーとにやられた!」


辞書追加前



辞書追加後



ちゃんと「でからいんこうかした」「らぴっどぶらすたーえりーと」と発音してくれる。
やったぜ。

しかしここで1つ悲しいお知らせが…。

「じゅうよんしきたけづつじゅう」

どうも数字を含む場合は数字の前後で強制的に分割して読んでしまうらしく、
MeCabの辞書に「14式竹筒銃・乙」を登録していても問答無用で分割されてしまう。
理由は分からない。MeCab側ではちゃんと「14式竹筒銃・乙」を1つの単語として認識している。

MeCab「ワイは分かっとるで」

一応nico_dic.csvから数字を含む単語を抽出してみると、その数9,947個…。
これらは多分、棒読みちゃん側で辞書登録しないと正しく読んでくれない。
無邪気に登録するとまず間違いなく重くなる。お手上げ。

じゃあMeCab用辞書を軽くするために数字を含む単語は除外しよう!
と言いたいところだけど、疲れたのでそれは次回の課題に _(┐「ε:)_


色々試して分かったのが、ニコニコ大百科は登録されているフレーズがやんちゃ過ぎて
真正面からMeCabに登録すると大変なカオスになるということ。

IMEは読み→漢字変換が目的なので問題にならないことが、
MeCabだと漢字→読み変換が目的なので問題になることがある。
例えばこの単語(単語:という 読み:タイヘンモーシャケゴゼマセンデスタトイウ)とか。

IMEの用途だと「という」と打って変換しても読みは関係ないから支障ないけど、
棒読みちゃんの場合は「という」を「タイヘンモーシャケゴゼマセンデスタトイウ」と読んでしまう。
つーか何なのこの読み方、何があったのさ。
※上記の手順でnico.dicを作成した場合はちゃんと「という」を「という」と読みます。

あと、棒読みちゃん側の前処理(MeCab実行前に行う処理)が結構強力で、
大百科通りの表記で辞書登録すると前処理後の字面と食い違ってしまうケースが多かった。
スクリプトの if($for_bouyomi){ ~ } の中の処理はその辺の試行錯誤の結果。


参考URL

ニコニコ大百科IME辞書 - 神は細部に宿り給う
http://tkido.com/blog/1019.html

[mecab] mecab辞書にwikipediaのタイトルリストを追加 [wikipedia][はてなキーワード] - fukushimuのメモ帳
http://fukushimu.blog.shinobi.jp/mecab/-mecab-%20mecab%E8%BE...

perl でSTDOUT への出力を一時的に無効にしたい - うまいぼうぶろぐ
http://hogem.hatenablog.com/entry/20110602/1307029127

Perl用、日本語「全角」→「半角」変換ルーチン - adiary開発日誌
http://adiary.blog.abk.nu/0263

文字コードの指定 - PerlPlus
http://www.perlplus.jp/perl/file/index12.html

手抜き固有表現抽出の試行 - ねがとんのねごと
http://d.hatena.ne.jp/negaton/20090405/1238917910

2016年6月20日月曜日

聞々ハヤえもんとASIO4ALLは相性が悪いらしい


聞々(ぶんぶん)ハヤえもんを久々に使おうとしたら
再生ボタンを押しても再生できないという現象に遭遇した。

昔からあるソフトだし…と思いつつVectorのWindows動作報告ページを見ると、
つつがなく動作する人と動作しない人に分かれている。
環境依存の問題と判断して色々試していたら、原因が分かった。
ASIO4ALLだった。ASIO4ALLを停止したらきちんと再生できるようになった。

困ったことに、ASIO4ALLは2016年現在
BEHRINGER XENYX 302USBの公式ドライバとなっている。
XENYX 302USB Download Page - BEHRINGER

なので、こちらのページから旧ドライバを導入した。
サポート - Hot Line Music
「※旧XENYX/U-Control用32-bit USB ASIO オーディオドライバー」もしくは
「※旧XENYX/U-Control用64-bit USB ASIO オーディオドライバー」が旧ドライバ。
ファイル名はそれぞれ
BEHRINGER_2902_WIN32_2.8.40.zip および BEHRINGER_2902_X64_2.8.40.zip。


…ということを色々やっていたら


何やらハヤえもんの方で「ASIO」という項目を見つけた。
これにチェックを入れればASIO4ALL環境でも正しく動作するのだろうか?
(とっととドライバを入れ替えてしまったためこの項目の効果は未確認)

実はASIO4ALL環境下で聞々ハヤえもんがうまく動作しないという問題は
Yahoo!知恵袋にも寄せられていたが、原因調査のために色々ググった時には引っかからなかった。
うまいことクリティカルワードを外してしまったらしい。ぐぬぬ。

2016年6月18日土曜日

【ニコ生配信】マイクの音量バランスやノイズ対策

ゲーム配信で悩みの尽きないマイク。
やたらと音声が小さかったり、ノイズが乗ったり…。

どうにか聞きやすくしたい。


1. 外付けオーディオインターフェースを使う

鉄板。
というか内蔵のオーディオインターフェースはPC内部にあるがゆえに
色んなアレやソレが混線してノイズ不可避。

これ以降の項目は外付けオーディオインターフェース前提。
自分が使用しているのはBEHRINGER XENYX 302USB
安価モデルながらヘッドホンマイクもダイナミックマイクも差し込めるニクいやつ。

マイクの話題には関係ないけど、ヘッドホンの音量をかなり大きく調整可能なので
元々の音量が小さな動画や生放送にある程度こちらで対応できるようになる。


2. 外付けオーディオインターフェースI/Fを他の電子機器から離す

意外と盲点。
外付けにしたから安心だーと言って別の電子機器の上に乗せたりすると台無し。
自分の場合はHDMIダウンコンバータというノイズのかたまりみたいなヤツに乗せていたせいで
ホワイトノイズどころかガ―――――ピ―――――みたいなノイズが入っていた。


3. ダイナミックマイクを使う

一番効果があったノイズ対策。
いかなるヘッドホンマイクを差してもサ――――ッというノイズが消えなかったのに
駄目元でCM2000をぶっ差したら全くノイズが乗らなくなった。ビックリした。


なんでそんなもん持ってたんだか


本来の用途が用途だけにポップノイズもほとんど乗らない。素晴らしい。
とは言えゲーム実況だとマイクを持ちながら実況するのはキツいので
その辺は工夫する必要がある。ネックストラップでうまいこと固定するとか。


4. VSTプラグインを使う

ハードウェアだけではなくソフトウェアの面からも何とかする場合の方法。
VSTプラグインの設定方法は省略。

Reafir


以下のページの真ん中あたりにあるReaFirの設定を適用すると
サ――――ッというホワイトノイズを抑えることができる。

Virtual Audio Mixerで生放送時のマイクノイズ対策 - 水おいしいです^o^




マイクの音量を最大にしてもニコ生でほとんど聞こえない時に使うコンプレッサ。
一番右上にある「MAKEUP」のツマミを回すと音量を底上げできる。

これ


自分の環境では、XENYX 302USBとTDR Feedback Compressor IIを組み合わせている。
XENYX 302USBはマイクの音量をかなり大きく調整できるものの
あまり大きくしすぎるとノイズまで増幅されるため、
ある程度XENYX 302USB側で大きくした後はTDR Feedback Compressor IIで音量を上げている。


おまけ

スプラトゥーンの配信をしていると、
意外と気になるのがゲームパッドのスティックのカチカチ音。
使用しているマイクの性能によってはこのカチカチ音を拾ってしまう。

 剥がれかけに見えるけど大丈夫

そんな時は100均や手芸屋さんに売っている
裏に粘着テープの付いた生地を巻いておくとカチカチ音が鳴らなくなる。

いっぺん横着して輪ゴムを巻いてみたらスティックが倒しきれなくなり
イカボーイがロボットパフォーマンスばりのゆっくりモーションでしか移動できなくなった。


2016年6月12日日曜日

【スプラトゥーン】仲間の「マンメンミ!」をゲーム音と一緒にキャプチャする

スプラトゥーンにおけるコミュニケーションの要、ナイスとカモン。
いわゆるひとつの「マンメンミ!」

このナイスとカモンの声はゲームパッドからしか出ないため、
普通にWiiU本体からの映像と音声をキャプチャしただけでは「マンメンミ!」が入らない。
うーん、録画にも仲間の声を残したい。
ファインプレーして互いに「ナイス!」した時のよっしゃ感を録画でも味わいたい。

という訳でゲームパッドから音を取り込もう。

ただしイヤホン端子にケーブルを差し込んでPCのライン入力に接続すると、
ゲームパッドからは音が出なくなる。
つまりこのままだとプレイ中にマンメンミ!が聞けない。

それだと寂しいので、一旦オーディオインターフェース(UA-3FX)を噛ませることで
PCのライン入力とイヤホン両方に音を流すようにする。
これならイヤホンを付ければゲームパッドの音が聞こえる。




UA-3FXのイヤホン端子は手前側(見切れている)

オーディオインターフェースは、インプットモニター機能(※)がついたものなら何でもいいはず。
※キャプチャした音声を遅延なしでイヤホン側に流す機能

しかしやっぱりイヤホン端子の出力をライン入力にぶっ込むのは無理があるらしく、
UA-3FXのINPUTレベルを最大にして、かつゲームパッドの音量も最大にして
ようやく普通にPC側で聞ける音量になる。

わざわざオーディオインターフェースを使わずに
100均にもある分配器を使ってイヤホンとオーディオケーブルに分配できれば楽だけど、
残念ながらそれだとPC側でほとんど聞こえなくなる。
(ただでさえ音量MAXで取り込まないと聞こえない弱さなのに、それを分配してしまうと…)

今回の用途には不向き