7 : 08 カラオケ字幕のルビ

← 7‒07 p↑ もくじ i 7‒09 n →

おしゃれなBSODシャツ/ほか

2003年 2月27日
記事ID d30227

2003年2月27日

XviD - uManiac 「新・安定版」

uManiac の stable のページは、ふたたび実質的な安定バージョンの置き場となり、 開発最前線のものをビルドしたインスタント・ビルドのコーナーとふたたび通常の感覚通りの二本立てに。 「新・安定版」というのはちょっと大げさな言い方かもしれませんが、xvid.org が公式リリースしたパブリックリリース0.9.1にもとづくビルドでおすすめ。(正式リリース版となる予定の 1.0 よりは、まだ前の開発段階のものです。)
http://umaniac.leffe.dnsalias.com/stable/XviD.Root.24.02.2003.1100.exe

この件について詳しくは「Xiph.org vs. Matroska.org ほか、メモ」をごらんください。

ところで、日米地域のユーザにとっては、うれしくないニュースもある。

ご存じのかたも多いと思うのですが、XviDのソースのライセンスには、Under section 8 of the GNU General Public License, the copyright holders of XVID explicitly forbid distribution in the following countries: - Japan - United States of America と書いてあります。 法律上、 このソフトウェアをあなたが日本または米国で distribution することは禁止されているけれど、 だれかが、日本または米国にいるあなたがこれをダウンロードできるようにしても、それは、あなたの責任ではありませんし、 ライセンスした側が訴えない限り、 誰の責任でもありません。いずれにせよ、Mpeg-4系は、DivXにせよXviDにせよ、権利関係がやっかいです。

おしゃれなBSODシャツ、いかがですか?

WindowsのブルースクリーンのデザインのTシャツの写真

「続けるには任意の場所を押してください」

ちい起動ではない。Blue Screen of Death (Win95/98) -- $14.25 日本へも発送可。
http://www.errorwear.com/errorwear.html

NOT FOUNDと書かれたシャツの写真

わたしが見つかりません

ブルースクリーンのシャツを着てマイクロソフトのロゴの前に立つ人の写真

いやな客 ~ BSODシャツを着込んでMSブースへ

なつかしのMADアニメ「残酷な Windows のテーゼ」をふと思い出しました。 このMADアニメの作者は台湾のかたなので映像中の Windows が中文版なところが、かえっておしゃれな気がしたり……。 同じ作者さんはのちに一部の画像をさしかえた「日本語版」も作成されました……が、せっかく作っていただきながら失礼なんですが、 オリジナルの中国語のやつのほうが妙にハマってるような……。

「人生に例外0Eが発生しました。強制終了しますか?」

この記事のURL


双方向アルゴリズムの実際

2003年 3月 1日
記事ID d30301

Explanation for Arabic Fix for USFV100_sample.usf: 日本語、英語などの左から右へ書く言語と、 アラビア語、ヘブライ語などの右から左へ書く言語が混ざっているときのいわゆる双方向アルゴリズムについて、 「バイナリーレベル」「エディタでみたソース」「最終的なプレゼンテーション」の3つのレイヤについて、具体例をあげて説明しました。

このように最終表示されるべきものが、
画像

左から右へ進むエディタ上では、こういうプレゼンテーション:
画像

「書く方向がひっくり返しなのだから、最終的な表示形の行頭の文字がエディタでは右端に来るのかな」 「いや、ひっくり返しということは、エディタでは左端のものが表示では右端かな」 などと、こんがらかるところですが、正解は、この場合、文章の最初の文字がエディタでは行のなかほど、 最後の文字もなかほどに来る、という、ちょっと通常の感覚とは違う結果になるようです。16進のコードはUTF-8です。(全文

追記

このメモは、USF形式の字幕ファイルをテストしていたときのものです。

MPClassic + USF 右から左シリーズ。ヘブライ語...

2003年3月11日: クリックするだけで簡単にヘブライ語を入力できる「仮想キーボード」を作りました。 ヘブライ文字とHTML参照コードの両方を生成するので、確認にもべんり。 参照コードのほうは16進表記にしたのでU+番号とも同じになります。 USF字幕のテストのために作ったのですが、ヘブライ語関連のもろもろでご利用ください。要JavaScript、IE6とMozilla1.3bで動作確認。
http://www.faireal.net/matroska/unicode/hebrew

主な特徴。 必要ならニクダも付けられます(学習教材にもべんり)。 ユニコードでは2コードポイントの合字となるダゲッシュ付き文字(ベート、カーフ、ペー)や、 点がついたシーン、スィーンを透過的に入力できます。 語末形はボタンそのものを別にしました。 ―― 入力フォーム自体はASCII。この種の文字入力は画像で文字を表していたり、あるいは入力フォームをユニコードで作ったりということで、 従来のエディタではソースが分かりにくかったのですが、次の例のようにすると、ASCIIのみで簡単に記述できます。

<button id="ALEPH" onclick="inputUnicode( 0x05d0 )" type="button">&#x05d0;</button>
function inputUnicode( n ) {
    document.forms[0].Glyph.value += String.fromCharCode( n );
}

既知の問題点。「バックスペース」が少し遅い。IEとMozillaの両方で有効にするために、 バックスペースをクリックすると文字列全体について内部的なコードを一回ユニコードの文字列に変更して、 それをさらにユニコードの文字番号に再変換するので、処理が重いです。

リンク

この記事のURL


[動画作成 Tips] カラオケ字幕のルビ (SSA)

2003年 3月 1日
記事ID d30301a

SSA/ASSスクリプトでは、「構造的」な方法でルビを使うことはできないが、 「物理的」にルビをふることができる。絶対位置指定とフォントサイズ、つまり posタグ と fsタグ を組み合わせれば良い。 では、カラオケ字幕のなかで物理的なルビを使い、ルビ部分にもカラオケ・エフェクトを乗せるには、どうすれば良いだろう?

スクリプトの実際を説明する必要上、実例として、「OH! スーパーミルクチャン」OPの冒頭部、約14秒を引用する。 ここではSSAで書いているがASSでも考え方は同じだ。なお、サンプルスクリプトでは、Karaoke, という文字のあとで改行を入れてあるが、 実際にはここは改行を入れない。

まず普通にカラオケの行を書く

Dialogue: Marked=0,0:00:00.62,0:00:07.58,Kanji,,0000,0000,0000,Karaoke,
{\K20}あ{\K23}な{\K25}た{\K25}も{\K113}狼{\K137}に{\K20} {\K19}変{\K19}わ{\K53}り{\K51}ま{\K33}す{\K50}か

ルビを物理的につける

同じインタイム、アウトタイムで、ルビ位置を決める。ルビベース側の位置調整は例えば、{\K0}+半角スペース を必要なだけ挿入することで物理的に行うことができる(ハードスペースのタグ\hを用いてもいいが、その場合でも、歌詞の間合いとは違う単なるポジショニングのためのハードスペースには色変化の時間を配分すべきでないことに注意。つまり{\K0}\hとなる。ハードスペースのタグを使っても、この場合は記述が簡略にならない)。posタグのパラメータは、VirtualDub で出力をプレビューしながら調整する。

Dialogue: Marked=0,0:00:00.62,0:00:07.58,Kanji,,0000,0000,0000,Karaoke,
{\K20}あ{\K23}な{\K25}た{\K25}も{\K0} {\K0} {\K113}狼{\K0} {\K137}に{\K20} {\K19}変{\K19}わ{\K53}り{\K51}ま{\K33}す{\K50}か
Dialogue: Marked=0,0:00:00.62,0:00:07.58,Kanji,,0000,0000,0000,Karaoke,
{\fs20}{\pos(370,570)}おおかみ

ルビ部分のタイミングを計算

この例では、「おおかみ」の色変化が始まるまでに「あなたも」の時間 ―― 20+23+25+25=93単位(単位は100分の1秒) ―― 待つ必要があるのでポジショニングの前に {\K93}+半角スペース を挿入する。「おおかみ」自体のカラオケは普通にタイムすれば良い(最初にまとめてルビ部分もタイムしておけば良い)。

Dialogue: Marked=0,0:00:00.62,0:00:07.58,Kanji,,0000,0000,0000,Karaoke,
{\K20}あ{\K23}な{\K25}た{\K25}も{\K0} {\K0} {\K113}狼{\K0} {\K137}に{\K20} {\K19}変{\K19}わ{\K53}り{\K51}ま{\K33}す{\K50}か
Dialogue: Marked=0,0:00:00.62,0:00:07.58,Kanji,,0000,0000,0000,Karaoke,
{\K93} {\fs20}{\pos(370,570)}{\K74}おお{\K19}か{\K20}み

同様にして、ほかの部分もルビをふる。

[V4 Styles]
Style: Kanji,mikachan-PB,40,13779496,16777215,16776960,16369335,0,0,1,2,1,2,30,30,20,0,128

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:00.62,0:00:07.58,Kanji,,0000,0000,0000,Karaoke,
{\K20}あ{\K23}な{\K25}た{\K25}も{\K0} {\K0} {\K113}狼{\K0} {\K137}に{\K20} {\K19}変{\K19}わ{\K53}り{\K51}ま{\K33}す{\K50}か
Dialogue: Marked=0,0:00:00.62,0:00:07.58,Kanji,,0000,0000,0000,Karaoke,
{\K93} {\fs20}{\pos(370,570)}{\K74}おお{\K19}か{\K20}み
Dialogue: Marked=0,0:00:00.62,0:00:07.58,Kanji,,0000,0000,0000,Karaoke,
{\K363} {\fs20}{\pos(465,570)}{\K19}か

Dialogue: Marked=0,0:00:07.64,0:00:14.36,Kanji,,0000,0000,0000,Karaoke,
{\K19}あ{\K20}な{\K20}た{\K19}が{\K0} {\K0} {\K110}狼{\K0} {\K24}な{\K106}ら{\K20} {\K115}怖{\K23}く{\K53}な{\K20}い
Dialogue: Marked=0,0:00:07.64,0:00:14.36,Kanji,,0000,0000,0000,Karaoke,
{\K70} {\fs20}{\pos(390,570)}{\K67}おお{\K35}か{\K8}み
Dialogue: Marked=0,0:00:07.64,0:00:14.36,Kanji,,0000,0000,0000,Karaoke,
{\K330} {\fs20}{\pos(520,570)}{\K22}こ{\K93}わ

実用上のカラオケの目的では(つまり歌詞を早めに教える)、インタイムを相当早めにして、 前の行が終わらないうちに次の行の歌詞をロードしたほうが良い。この場合、行と行のあいだに時間がないと、 前の行の行末まで色変化しきらないうちに次の行がロードされてしまい美しくないが、 実際にそれをみて歌を歌う立場からは、早く次の歌詞が見れたほうがいいだろう。

リンク

この記事のURL



<メールアドレス>