Audacityのラベルを書きだしたファイルをYouTubeのタイムコード一覧に変換するPythonスクリプトを作成してください。
以下は、Audacityのラベルを記録したファイルをYouTubeのタイムコード一覧に変換するPythonスクリプトの例です。
import re
# ラベルを記録したファイルのパス
file_path = "labels.txt"
# YouTubeの動画の開始時間(秒数)
video_start_time = 0
# ラベルを格納するリスト
labels = []
# ファイルを読み込んでラベルを取得
with open(file_path, "r") as f:
lines = f.readlines()
for line in lines:
match = re.search(r"(\\d+\\.\\d+)\\s+(\\d+\\.\\d+)\\s+(.*)", line)
if match:
start_time = float(match.group(1))
end_time = float(match.group(2))
label_text = match.group(3).strip()
labels.append((start_time, end_time, label_text))
# タイムコード一覧を出力
for i, label in enumerate(labels):
start_time = label[0] + video_start_time
end_time = label[1] + video_start_time
label_text = label[2]
print(f"{i+1}\\t{convert_to_timecode(start_time)}\\t{convert_to_timecode(end_time)}\\t{label_text}")
# 秒数をYouTubeのタイムコード形式に変換する関数
def convert_to_timecode(seconds):
m, s = divmod(seconds, 60)
h, m = divmod(m, 60)
return f"{int(h):02d}:{int(m):02d}:{int(s):02d}"
上記のスクリプトでは、labels.txt
という名前のファイルからラベルを読み取り、video_start_time
で指定された開始時間を加えて、YouTubeのタイムコード形式に変換して出力します。出力されるタイムコードは、タブ区切りで番号、開始時間、終了時間、ラベルテキストの順に表示されます。タイムコード形式への変換には、convert_to_timecode
という関数を使用しています。この関数は、与えられた秒数をhh:mm:ss
の形式の文字列に変換します。