見出し画像

備忘録 - 活字中毒者のライフハック (読み上げソフト編)

活字中毒

子供の頃から本を読むのが好きで、活字中毒(漫画も読む!)なんだろうなあと、何も読むものが無い生活が続くときっと発狂してしまいそう。

就職してかなりの間はキャリアアップも兼ねて、月うん万円単位で本を購入しては読んでいた。
本は嵩張るので、泣く泣く処分してしまった書籍の量はかなりになると思う。

活字離れ?

仕事でビジネスの前線を離れてから読書量はガクンとオチ、TVは殆ど観る事が無くなった代わりに、SNSやYoutube などで時間が消費され、簡単な文章は読むけど系統だった深い文章に接する事がほとんど無くなってしまって少し悲しい。

ん?

Youtubeなんか観ていると、最近は音声合成ソフトを使用して作成された動画が多い。読み間違いとかも多くて、酷いものも多いけどふと気がついた。

この読み上げソフトを使えば、読書をBGM的に行えるじゃない?

米国だと長いドライビングのお供にオーディオブックという巨大なマーケットがあると聴いた事がある。
日本だとマーケットも小さいし、本の書籍と同程度のお金を払って購入というのにも正直抵抗がある。

何を読み上げてもらう?

ながらで聴いて十分な軽さのコンテンツ。テキスト形式でデーターが入手できるものと言えば、真っ先に思い浮かんだのがあすなろ系のコンテンツ。

現在でもリアルタイムでフォローして楽しみにしているのが”魔導具師ダリヤはうつむかない"(有料のKindle版も全て購入していますですw)、”煤まみれの騎士”、"俺は全てを【パリイ】する"などなど。

1話あたりの長さも作品により色々だけど、読み上げソフトにブッコムにはちょうど良い感じなのも良い。

どれが良いかなぁ?

という訳で、フリー製品を中心に少し試してみたのが下記。

VOICEVOX
COEIRONKv2
Vicepeak (有料、体験版あり)

一番印象が良かったのが、Vicepeak で読み上げが本当に自然。
AI活用を謳っているけど、これなら数万円払っても良いと思える程の完成度。

フリーだとVOICEVOX もまあまあ許容範囲のクリオリティーで読み上げてくれる感じ。

私は根っからのマックユーザー

で、ふと思い出したのがマックって標準で読み上げ機能がついていたなという事。
私の現環境はMacMini M2 Pro のSonoma。
上記のフリー系読み上げソフトの試用もこのマックで行っている。

読み上げさせ方は何種類かあるのだけれど、一番自然に感じたのがラインコマンドの”say"を使った読み上げ。
これなら何とかなるぜ!
と感じ、快適な環境構築を行なった。
テキストに落として、Terminalからあれこれが一番簡単だけどGUI全盛の今どきの方法じゃない。

ざっと作成した読み上げフロー

テキストソース入手

下記の様に投稿の一番下の方に"TXTダウンドード" というのがあるので、これをクリック。

そうすると、下記の様に投稿を選んで”ダウンロード実行します”を押すだけで、テキストファイルとしてダウンロード可能。

そうすると下記の様にテキストファイルが作成される。

ものぐさ用スクリプト

手軽に読み上げてもらう用に、簡単なスクリプトを作成した。
名前は適当に付けて”read_script”

注:このスクリプトの説明は後ろの方で。

ダンロードしたテキストファイルを、アプリ化したスクリプトファイルにドラグ&ドロップすると、同じ場所に変換した音声ファイルが作成される。

そして、QuickTime Player 起動して、この変換したファイルを開いてくれる。

再生ボタンを押せば直ぐ聴く事が可能。

読み上げサンプル

上記変換した音声ファイルの一部だけ切り出したのが下記ファイル。
私的には下限に近くはあるけど、許容範囲内の読み上げクオリティー。


スクリプト説明

マックの”Script Editor"で作成。
コードだけ記載。
短いので簡単に理解できると思うので、使用・変更は自由に。
私はこのスクリプト利用での如何なる問題の責任を負いません。

-- v0.1 by MyOS 2025/05/05
-- サブルーチンの定義
on convFile(inFile)
	set extension to ".m4a" -- 変換の拡張子
	
	-- output音声ファイル
	set oldExtension to text -4 thru -1 of inFile -- 現在の拡張子を取得
	set voiceFile to text 1 thru -5 of inFile & extension -- 新しいパスを作成
	
	-- テキストファイルから音声データーへ変換
	set command to "/usr/bin/say -r 190 -f " & quoted form of POSIX path of inFile & " -o " & quoted form of POSIX path of voiceFile
	do shell script command
	return voiceFile
end convFile


on run
	set selectedFile to choose file with prompt "ファイルを選択してください"
	set filePath to POSIX path of selectedFile
	
	set voiceFile to convFile(filePath)
	-- QuickTime Player にて音声ファイルを開く
	tell application "QuickTime Player"
		set macPath to POSIX file voiceFile as alias
		open macPath
		activate
	end tell
	
end run


on open myFiles
	repeat with aFile in myFiles
		-- display dialog "アプリケーションを使用して実行されました。ファイル: " & (aFile as string)
		set filePath to POSIX path of aFile
		set voiceFile to convFile(filePath)
	end repeat
	
	set arraySize to count of myFiles
	-- display dialog "選択されたファイル数: " & arraySize
	if (1 = arraySize) then
		-- QuickTime Player にて音声ファイルを開く
		tell application "QuickTime Player"
			set macPath to POSIX file voiceFile as alias
			open macPath
			activate
		end tell
	end if
end open

ちょっとした事柄…

say コマンドの'-r' オプション、デフォルトの音声ではピッチは確かに変化するのだけれども、"Kyoko" とか音声データーを指定すると無視されてしまう…

今回音声形式としてm4a を使用したけど、この拡張子を変更すると型式も自動的にそれに合わせてくれるそう。

今回はアプリ化したスクリプトをダブルクリックしてファイルを選択する方法(on run) と、ファイルをドラグ&ドロップする方法(on open) の2種類に対応したので、少し長くなってしまった。
どちらか一方で良ければ半分近くに縮められる。

複数のテキストファイルをドラグ&ドロップすれば、個別に一気に変換可能。
1ファイルだけドラグ&ドロップした場合は、変換後QuickTime Player が開く。
2ファイル以上だと変換のみで、QuickTime Player は起動しない。

マック標準のsay コマンドでもかなりの水準である事が判ったので、これがAI化すれば大きく化ける可能性を感じた。

今は、辞書作成で読み上げ品質が上げられるかを調査中…




この記事が気に入ったらサポートをしてみませんか?