tekose14ch

tekose14のブログ。Hiphop/Rap, アイドル, 映像/音声, ライフログ

srtファイルで動画に歌詞の字幕をつける方法 : BLOG

srtファイルで動画に歌詞の字幕をつける方法

2019.01.29

こちらの記事で、srtファイルによる動画の字幕のつけ方を基本的なところから解説させていただきました。

srtファイルで動画へ字幕をつける方法 : BLOG - tekose14ch

srtファイルで動画へ字幕をつける方法 2019.01.27 私も検索して手こずったので、忘れないように自分へのメモも兼ねて。 自分が作成した動画や撮影した動画、インターネットからダウンロードした映像、外国映画などに、字幕をつけたいと思ったことはありませんか? 今回は字幕ファイル(srtファイル)を使用して動画に字幕をつける方法をご紹介します。 目次 [開く] 字幕をつけ方は様々 srtファイルの作成 メモ帳で新規テキストの作成 字幕の編集 字幕ファイルの保存 字幕表示に対応した再生プレーヤー 字幕プレーヤー (STPlayer) VLCメディアプレイヤー MPC-BE まとめ [閉じる] 字…

この記事では少しステップアップして、歌詞字幕を付けていきたいと思います。

srtファイルのおさらい

srtファイルの字幕の書き方を確認しておきましょう。

srtファイル記述のルール

字幕番号:
1から、動画には表示されません。
表示時間:
HH:MM:SS,MMM(時間 : 分 : 秒 , ミリ秒)で指定します。
テキスト:
字幕で表示したいテキストを記述します。
<改行>:
次の字幕との間に改行を入れます。

「ファイル」-「名前を付けて保存」をクリックし、.srt形式に変更し、文字コードを「UTF-8」に設定し、「保存」ボタンをクリックします。

このとき、動画ファイル名とsrtファイル名は同じ名前にして、動画ファイルと同じフォルダに保存しましょう。




srtファイルで字幕を書いていくのは、非常にシンプルで簡単ですね。

歌詞字幕をつける



それでは、歌詞字幕をsrt字幕で再現していきましょう。

音楽番組などを視聴すると、歌詞字幕は、歌詞が一節ごとに切り換わっていきます。

これをsrtファイルで再現するには、表示させたい歌詞の一節を字幕番号ごとに書いていく必要があります。

まずは、歌詞をメモ帳などに書き起こして、テキストデータにしましょう。

ロッカジャポニカ - MUGEN
ロッカジャポニカ - MUGEN



歌詞をメモ帳などに書き起こす作業が大変だと言う人は、Google音声入力を利用すると捗りますよ!

Google音声入力を利用すると、歌詞を読み上げるだけで書き起こしてくれます。

Google音声入力の利用方法の記事はこちらです。

Googleドキュメントの音声入力を使ってパソコンで音源を文字に書き起こす : BLOG - tekose14ch

こんにちは。みなさん、録音された会話や対談、またはその映像などを文字に書き起こすという機会はありますか?もちろん再生しては聴いて、止めては打ち込んで……と書き起こしていけますが、大変な時間が掛かります。その書き起こすという作業を簡単にしてくれる機能があります。それが、Googleドキュメントの音声入力機能です。

AndroidでGoogle音声入力 : BLOG - tekose14ch

こんにちは。このブログをご覧になっている人は、ラップが好きな人が多いと思います。なかには、ラップやってるよ!フリースタイルやるよ!という方もいるんじゃないでしょうか。そんな方にお勧めしたいのが スマホで音声入力 です!

スマホで音声入力をする方は、Googleドキュメント、Evernote、Simplenoteなどのアプリを使用すると

スマホ↔パソコンでのやり取りをせずにどちらのデバイスでも閲覧・編集ができます。

スマホで入力した歌詞を、パソコンから閲覧して編集、コピペするなどの使い方もできて、大変便利です。



次に、書き起こした歌詞を、表示したい時間の行へ、一節ごとにコピー&ペーストしていきます。



歌詞を書き起こしたメモ帳に直接、字幕番号と表示時間を書き込んでいく方法も、コピー&ペーストの手間がなくて簡単ですよ!

書き込む前に、歌詞を書き起こしたメモ帳は複製コピーして残しておくと安心ですね。



プチリリメーカーというソフトを使うと、1/100秒単位ですが、曲に合わせてクリックするだけで歌詞字幕の表示開始時間を決めていくことができます!



動画をWAVやMP3に変換するなどして、ソフトにドラッグ&ドロップして、再生。

あとは曲に合わせてクリックするだけです。

歌詞を書き起こしたメモ帳を音源ファイル名と同じ名前にして同じフォルダに入れておくと、歌詞も自動で読み込んでくれます。

注意点は、一行に表示できる文字数に制限がある点です。

文字数を超えた場合は、キリの良い箇所で改行されます。

また、保存されるファイルはLRCファイルになり、表示開始時間の表記は[mm:ss:mm]となります。

srtファイルを書いていくのが面倒!

srtファイルは、字幕番号を書く、字幕を入れたい再生時間を探る、歌詞をコピペする……などを繰り返すことに時間を取られていきます。

また、

「字幕番号がズレてしまっていたので修正したい!」
「字幕を全体的に200ミリ秒ズラしたい!」

などという時の修正に、いちいち書き直していくというのは非常に効率が悪いです。

そこで私がオススメするのは、srtファイルの中身をGoogleスプレッドシートで書くという方法です!

Googleスプレッドシートを活用する

srtファイルの修正をメモ帳だけで行うには効率が悪く大変です。

そこで使用するのがGoogleが提供しているサービスのGoogleスプレッドシートです。

スプレッドシートを活用すれば、srtファイルの記入・修正を効率よく行えます。

「字幕番号がズレてしまっていたので修正したい!」
「字幕を全体的に200ミリ秒ズラしたい!」

といった修正も簡単に効率よく行なうことができます。

これからご紹介する方法は Microsoft Excel でも同様の作業が可能ですよ。

Googleスプレッドシートへ記入する

Googleアカウントをお持ちでない方は、Googleアカウントを作成しましょう。

Googleアカウントをお持ちの方は、Googleドライブの左側にある新規からGoogleスプレッドシートを選択して、新しくGoogleスプレッドシートを作りましょう。

https://drive.google.com

スプレッドシートへはどのように書いても問題無いですが、分かりやすいように、私はこのように書き込みました。



それぞれのセルの配置と内容を説明します。

字幕番号の記入

上のように、srtファイルの書く項目をバラして書きます。

基本的な操作はMicrosoft Excelと同じです。

字幕番号は、マウスカーソルが黒の+のときに下へドラッグすれば、自動的に連番で記入されていきます。(オートフィル機能)

これは便利!

表示時間の記入

srtファイルの表示開始時間、表示終了時間は「HH:MM:SS,MMM」(この記事では MMM = ミリ秒)ですが、

そのまま記入すると、Googleスプレッドシートでは 書式なしのテキスト として認識されてしまいます。
(セルの中で左寄せされればテキスト、右寄せされれば数値という見分けかたができます)

srtファイルを修正する時の効率化のために、表示時間のセルは表示形式を弄っておきましょう。



Googleスプレッドシートで表示時間を数値として扱うためには「HH:MM:SS.MMM」である必要がありますが、

srtファイルでは「HH:MM:SS,MMM」である必要があります。

("." と "," が違う!)



「HH:MM:SS.MMM」とセルに記入した時間を「HH:MM:SS,MMM」と表示させます。



「表示形式 > 数字 > 表示形式の詳細設定」から「その他の日付や時刻の形式…」をクリックすると「カスタムの日付と時刻の形式」が開きます。



画像のように [経過時数(01)]:[分(01)]:[秒(01)],[ミリ秒(001)] となるようにしましょう。

逆三角(▼)をクリックすると日付・時間・期間の単位が一覧で表示されるので、そこからクリックすることで単位を追加できます。

既にある単位は、クリックすると頭に0を付けるか削除するかを選択できます。

ミリ秒は追加後にクリックして「1/1000 秒の精度」を選択すると(001)になります。

「:」と「,」はキーボードで記入します。

画像のように

[経過時数(01)]:[分(01)]:[秒(01)],[ミリ秒(001)]

となったら「適用」をクリックしましょう。

これで、セルに表示時間を「HH:MM:SS.MMM」で記入すると「HH:MM:SS,MMM」として表記されます。





これらをテンプレートに、Googleスプレッドシートへ字幕を表示させたい再生時間と歌詞字幕を記入(もしくはコピペ)していきましょう。

HTMLファイルにする



Googleスプレッドシートに字幕番号、表示開始時間、表示終了時間、字幕を書き込みましたか?

これをsrtファイルにするために、メモ帳へコピー&ペーストします。

ひとつのセルごとにコピー&ペーストしていては大変です。

まずは、すべてのセルをひとつにまとめます。

すべてのセルをひとつにまとめる手順

  1. 1.字幕番号でまとめます。
  2. 2.全部を一つのセルにまとめます。
  3. 3.ペーストしたメモ帳をHTMLファイルで保存します。
  4. 4.保存したHTMLファイルをブラウザで確認します。

字幕番号でまとめる

手順 1. 下の式をGoogleスプレッドシート内の字幕番号 1 と同じ行で空いているセルにコピー&ペーストしましょう。
(上に載せた私の画像と配置が違う場合は、セルの位置が合うよう下の式を書き換えてください)

=B2&"<br />"&TEXT(C2,"HH:mm:ss,000")&" --> "&TEXT(D2,"HH:mm:ss,000")&"<br />"&F2&"<br /><br />"

ちなみに、桁が繰り上がる際の値については、TEXT関数を通した後でしっかり繰り上がった値が表示されますよ。

(例: 00:10:68,082 → TEXT関数 → 00:11:08,082)



式の構造はこんな感じ。



srtファイルは、字幕番号、表示時間、字幕のテキストごとに改行が必要です。

これをオートフィル機能で、続く字幕もひとつのセルにまとめていきます。

全部を一つのセルにまとめる

手順 2. 最後に、それぞれひとつにしたセルをすべてひとつにまとめます。

下の式をGoogleスプレッドシート内の空いているセルにコピー&ペーストしましょう。
(上に載せた私の画像と配置が違う場合は、セルの位置が合うよう下の式を書き換えてください)

CONCATENATE内の範囲は、前項で字幕番号ごとにまとめたセルを指定してください。

="<html><head></head><body><div><p>"&CONCATENATE(G2:G6)&"</p></div></body></html>"



コピー&ペーストしたセルの上で右クリックをしてコピーを選択するか、ショートカットキー「Ctrl+C」でコピーします。

メモ帳を新規作成して、そこにペーストします。

ペーストしたメモ帳をHTMLファイルで保存

手順 3.ペーストしたメモ帳を保存します。



このとき「ファイル」-「名前を付けて保存」をクリックし、.html形式に変更し、文字コードを「UTF-8」に設定し、「保存」ボタンをクリックします。

ファイル名は何でも構いませんが、分かりやすいよう、動画ファイルと同じファイル名で良いかと思います。

これで、GoogleスプレッドシートからHTMLファイルへの変換ができました。

保存したHTMLファイルをブラウザで開く

手順 4. 保存したHTMLファイルをブラウザで確認しましょう。



メモ帳をさらに新規作成して、ブラウザのテキストをコピー&ペーストします。

「Ctrl+A」でテキストを全選択できます。

キーボードを使ったショートカットは覚えておくと便利です。



保存します。

「ファイル」-「名前を付けて保存」をクリックし、.srt形式に変更し、文字コードを「UTF-8」に設定し、「保存」ボタンをクリックします。

このとき、動画ファイル名とsrtファイル名は同じ名前にして、動画ファイルと同じフォルダに保存しましょう。



これで、字幕ファイルの完成です。

srtファイルを修正する

Googleスプレッドシートを活用して、字幕ファイルを作成しました。

なぜ、Googleスプレッドシート上で字幕ファイルの内容を記入したのか。

それは修正したいと思った際に、効率が良いからです。

では、「字幕を全体的に200ミリ秒ズラしたい!」というときには、どのようにしたらいいでしょうか。

「字幕を全体的に200ミリ秒ズラしたい!」

HTMLファイルにする際の「字幕番号でまとめる」でコピペした式を修正します。

式中の表示開始時間、表示終了時間へ直接、時間を書き込む場合はこのようになります。

私はパッと見て分かりやすいように、表示時間修正をセルに入れて計算しています。

(字幕の表示を早める場合はマイナス、遅らせる場合はプラスの計算をします)



"$"を頭に付けると、オートフィル機能を使っても、"$"の付いた値だけは変わりません。

これで、オートフィル機能で一括に200ミリ秒ズラすことができますね。

表示時間をズラした際に、表示時間がマイナスの値になったら字幕が表示されなくなるので注意しましょう。

まとめ

srtファイルで動画に歌詞の字幕をつける方法をは以上になります。

画像ではサンプル的な内容のテキストを使いました。

今回、この記事を書くにあたって、私が実際に歌詞を字幕ファイルにしている画像を用意しました。

1.歌詞を書き起こす
ロッカジャポニカ - MUGEN

2.表示時間を決める


3.Googleスプレッドシートへ記入する


4.HTMLにして、srtのルールに従って表記させたものをコピペして、動画ファイル名とsrtファイル名は同じ名前にして、動画ファイルと同じフォルダに保存する


5.字幕表示対応のプレーヤーで再生する



内容は、3B junior「Cell Division~細胞分裂~」独占生中継 よりロッカジャポニカのMUGENの歌詞です。

この動画では、字幕を付ける方法の中で、前述したプチリリメーカーを併用しました。

プチリリメーカーの併用は私も初めてでした。

歌詞の頭を合わせるのは軽快に決めることができて楽しかったのです。

(コツは、気持ち早めにクリックする。まぁ慣れ)

しかし、表示終了時間はプチリリメーカーでは決めることができない為、字幕を消すタイミングが疎かになるなと感じました。

また、私の場合、歌詞の字幕はCD音源を基に表示のタイミングを決めており、その字幕をLIVE映像の時間に合わせています。

当然それだと、LIVEの空気感や歌の技量により意図しないズレが出てきますが、それも演出なのかなと思って楽しんでいます 笑

るんぱんのパート難しい…



srtファイルのみでは字幕のフォント、色と位置などの指定ができません。

字幕のフォント、色と位置などの指定は再生プレーヤーの設定から行うことが出来ます。



イデア次第でいくらでも効率よくできると思います。

自分のやりやすい方法を見つけてみてください。