これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。
HTML ファイル生成日時: 2025/06/19 08:39:27.157 (台灣標準時)
Python で TTS (Text-to-Speech) を行うには、 edge-tts を使えばよいよう でござる。
以下のようなプログラムを作ってみたでござる。
#!/usr/pkg/bin/python3.13 # # Time-stamp: <2025/06/07 23:42:47 (UT+08:00) daisuke> # # importing edge_tts module import edge_tts # output file name file_mp3 = 'test_edge_tts_00.mp3' # voice name voice_name = 'en-AU-NatashaNeural' # text data text_data = """A long time ago in a galaxy far, far away... It is a period of civil war. Rebel spaceships, striking from a hidden base, have won their first victory against the evil Galactic Empire. During the Battle, Rebel spies managed to steal secret plans to the Empire's ultimate weapon, the DEATH STAR, an armored space station with enough power to destroy an entire planet. Pursued by the Empire's sinister agents, Princess Leia races home aboard her starship, custodian of the stolen plans that can save her people and restore freedom to the galaxy...""" # making a MP3 file communicate = edge_tts.Communicate (text_data, voice_name) communicate.save_sync (file_mp3)
作ったプログラムを実行してみたでござる。
% python3.13 test_edge_tts_00.py % ls -lF *.mp3 -rw-r--r-- 1 daisuke taiwan 226224 Jun 7 23:46 test_edge_tts_00.mp3
作られた MP3 を再生してみると、非常に自然な感じに聞こえたでござる。英 語だと、機械が読んでいるとは思えない出来になっているように思ったでござ る。
日本語も試してみたでござる。以下のようなプログラムを作ってみたでござる。
#!/usr/pkg/bin/python3.13 # # Time-stamp: <2025/06/07 23:58:16 (UT+08:00) daisuke> # # importing edge_tts module import edge_tts # output file name file_mp3 = 'test_edge_tts_01.mp3' # voice name voice_name = 'ja-JP-NanamiNeural' # text data text_data = """野ばら 小川未明 大きな国と、それよりはすこし小さな国とが隣り合っていました。当座、その二つの国の間には、なにごとも起こらず平和でありました。 ここは都から遠い、国境であります。そこには両方の国から、ただ一人ずつの兵隊が派遣されて、国境を定めた石碑を守っていました。大きな国の兵士は老人でありました。そうして、小さな国の兵士は青年でありました。 二人は、石碑の建っている右と左に番をしていました。いたってさびしい山でありました。そして、まれにしかその辺を旅する人影は見られなかったのです。 初め、たがいに顔を知り合わない間は、二人は敵か味方かというような感じがして、ろくろくものもいいませんでしたけれど、いつしか二人は仲よしになってしまいました。二人は、ほかに話をする相手もなく退屈であったからであります。そして、春の日は長く、うららかに、頭の上に照り輝いているからでありました。 ちょうど、国境のところには、だれが植えたということもなく、一株の野ばらがしげっていました。その花には、朝早くからみつばちが飛んできて集まっていました。その快い羽音が、まだ二人の眠っているうちから、夢心地に耳に聞こえました。 「どれ、もう起きようか。あんなにみつばちがきている。」と、二人は申し合わせたように起きました。そして外へ出ると、はたして、太陽は木のこずえの上に元気よく輝いていました。 二人は、岩間からわき出る清水で口をすすぎ、顔を洗いにまいりますと、顔を合わせました。 「やあ、おはよう。いい天気でございますな。」 「ほんとうにいい天気です。天気がいいと、気持ちがせいせいします。」 二人は、そこでこんな立ち話をしました。たがいに、頭を上げて、あたりの景色をながめました。毎日見ている景色でも、新しい感じを見る度に心に与えるものです。 青年は最初将棋の歩み方を知りませんでした。けれど老人について、それを教わりましてから、このごろはのどかな昼ごろには、二人は毎日向かい合って将棋を差していました。 初めのうちは、老人のほうがずっと強くて、駒を落として差していましたが、しまいにはあたりまえに差して、老人が負かされることもありました。 この青年も、老人も、いたっていい人々でありました。二人とも正直で、しんせつでありました。二人はいっしょうけんめいで、将棋盤の上で争っても、心は打ち解けていました。 「やあ、これは俺の負けかいな。こう逃げつづけでは苦しくてかなわない。ほんとうの戦争だったら、どんなだかしれん。」と、老人はいって、大きな口を開けて笑いました。 青年は、また勝ちみがあるのでうれしそうな顔つきをして、いっしょうけんめいに目を輝かしながら、相手の王さまを追っていました。 小鳥はこずえの上で、おもしろそうに唄っていました。白いばらの花からは、よい香りを送ってきました。 冬は、やはりその国にもあったのです。寒くなると老人は、南の方を恋しがりました。 その方には、せがれや、孫が住んでいました。 「早く、暇をもらって帰りたいものだ。」と、老人はいいました。 「あなたがお帰りになれば、知らぬ人がかわりにくるでしょう。やはりしんせつな、やさしい人ならいいが、敵、味方というような考えをもった人だと困ります。どうか、もうしばらくいてください。そのうちには、春がきます。」と、青年はいいました。 やがて冬が去って、また春となりました。ちょうどそのころ、この二つの国は、なにかの利益問題から、戦争を始めました。そうしますと、これまで毎日、仲むつまじく、暮らしていた二人は、敵、味方の間柄になったのです。それがいかにも、不思議なことに思われました。 「さあ、おまえさんと私は今日から敵どうしになったのだ。私はこんなに老いぼれていても少佐だから、私の首を持ってゆけば、あなたは出世ができる。だから殺してください。」と、老人はいいました。 これを聞くと、青年は、あきれた顔をして、 「なにをいわれますか。どうして私とあなたとが敵どうしでしょう。私の敵は、ほかになければなりません。戦争はずっと北の方で開かれています。私は、そこへいって戦います。」と、青年はいい残して、去ってしまいました。 国境には、ただ一人老人だけが残されました。青年のいなくなった日から、老人は、茫然として日を送りました。野ばらの花が咲いて、みつばちは、日が上がると、暮れるころまで群がっています。いま戦争は、ずっと遠くでしているので、たとえ耳を澄ましても、空をながめても、鉄砲の音も聞こえなければ、黒い煙の影すら見られなかったのであります。老人はその日から、青年の身の上を案じていました。日はこうしてたちました。 ある日のこと、そこを旅人が通りました。老人は戦争について、どうなったかとたずねました。すると、旅人は、小さな国が負けて、その国の兵士はみなごろしになって、戦争は終わったということを告げました。 老人は、そんなら青年も死んだのではないかと思いました。そんなことを気にかけながら石碑の礎に腰をかけて、うつむいていますと、いつか知らず、うとうとと居眠りをしました。かなたから、おおぜいの人のくるけはいがしました。見ると、一列の軍隊でありました。そして馬に乗ってそれを指揮するのは、かの青年でありました。その軍隊はきわめて静粛で声ひとつたてません。やがて老人の前を通るときに、青年は黙礼をして、ばらの花をかいだのでありました。 老人は、なにかものをいおうとすると目がさめました。それはまったく夢であったのです。それから一月ばかりしますと、野ばらが枯れてしまいました。その年の秋、老人は南の方へ暇をもらって帰りました。 """ # making a MP3 file communicate = edge_tts.Communicate (text_data, voice_name) communicate.save_sync (file_mp3)
実行してみたでござる。
% python3.13 test_edge_tts_01.py % ls -lF *.mp3 -rw-r--r-- 1 daisuke taiwan 226224 Jun 7 23:46 test_edge_tts_00.mp3 -rw-r--r-- 1 daisuke taiwan 2621808 Jun 7 23:59 test_edge_tts_01.mp3
再生してみると、悪くないと思ったでござる。ただ、ところどころ、不自然な 感じがするでござる。もうあと数年すると、日本語の TTS も不自然な感じが しなくなるくらいによくなるのでござろうか。