#4.音声変換ソフトを利用する
作成したテキストファイル#3を音声ファイルに変換する。かんたん!AITalk®5を使用します。理由として、日本語のオーディオ書籍を作成するにあたって、音声変換の試行を何度も繰り返す必要があるため、AWSなどのクラウドサービスを利用すると費用が高額になる可能性があります。そうしたコストの増大を避けるため、一括購入型のソフトウェアを選択しました。
セール時にはSourceNextから5000円前後で購入できます。
ただし、作成したテキストファイル #3 をそのまま音声変換ソフトに読み込むと、1X時間を超える長時間の音声データが生成されることが多い。そのため、実際にオーディオ書籍を楽しむには、1ファイルあたり約1時間分にテキストを調整するのが望ましいと思います。
#テキストファイルを分割する関数#
import os
from time import sleep
def Audio_Book_Maker(book_text_path,
split_number=29900,
output_dir="aitalk5"):
'''
<実装>
全文章を含めたテキストファイルからオーディオ書籍を自炊する関数
<引数>
book_text_path = "テキストファイル"のパス
split_number = "テキストファイル"を分割して抽出する文字数
output_dir = 分割後の保存先ディレクトリ
<実行例>
Audio_Book_Maker(book_text_path="./(メアリー)フランケンシュタイン.txt",
split_number="29900",
output_dir="aitalk5")
'''
File = open(book_text_path).read()
File_Name = book_text_path.split("/")[-1].split(".")[0]
Split_Number = int(split_number)
Split_Num = int(len(File) / Split_Number) + 1
# ファイル分割
Audio_Text_List = []
for i in range(Split_Num):
start = i*Split_Number
end = (i+1)*Split_Number
Audio_Text_List.append(File[start:end])
# 分割ファイルをディレクトリ先に保存する
os.makedirs(output_dir, exist_ok=True)
for i, audio_text in enumerate(Audio_Text_List):
filename = f"{File_Name}_{i+1}.txt"
filepath = os.path.join(output_dir, filename)
with open(filepath, "w", encoding="utf-8") as f:
f.write(audio_text)
print(f"//(aitalk5)ディレクトリに、指定したファイルを{Split_Num}分割して出力しました//")
この関数を実行すると、指定したディレクトリ先に分割されたテキストファイルが配置される。
このファイルをかんたん!AITalk®5で読み込ませると、自作のオーディオ書籍が出来上がる。(完)
コメント(一覧)