Pythonで学ぶ音声合成 機械学習実践シリーズの表紙

Python で学ぶ音声合成 機械学習実践シリーズ(パイソンデマナブオンセイゴウセイ キカイガクシュウジッセンシリーズ)

プログラミング
著者:
山本龍一/高道慎之介(ヤマモトリュウイチ/タカミチシンノスケ)
出版社:
インプレス
出版日:
2021年08月12日頃
ISBN:
9784295012276
在庫:
在庫あり
4(1 件 / 楽天ブックス)
中級者向け
プログラミングPython機械学習深層学習音声合成統計

なぜ注目されているか

言及数
885
総合1147 27 ランクダウン 2 件の言及

書籍紹介

「音声合成」とは、人間の音声を人工的に作り出す音声情報処理の一分野です。深層学習の発展に従い、画像認識・音声認識などの分野と同様に、音声合成においてもパラダイムシフトが起きています。本書では従来の統計的音声合成システムの基礎を解説した上で、深層学習技術による近年の音声合成の発展について詳説しています。また実際に公開されているデータセットを用いて、深層学習を用いた音声合成システムの実装も行っています。本書は『 Python で学ぶ音源分離』『同音声認識』に続く、中級者以上向けの「機械学習実践シリーズ」です。

技書の森解説

テキストから人の声を作り出す音声合成 (Text-to-Speech) を、理論の章と日本語システムの実装の章を交互に進めながら Python で身につける本が『 Python で学ぶ音声合成』 (山本龍一・高道慎之介 著、インプレス、 2021 年 8 月刊) です。インプレスの「機械学習実践シリーズ」の一冊で、版元紹介によれば『 Python で学ぶ音源分離』『同音声認識』に続く中級者以上向けの巻にあたります。従来の統計的音声合成システムの基礎を解説したうえで、深層学習技術による音声合成の発展を詳説し、公開されているデータセットを使って深層学習ベースの音声合成システムを実際に組み上げるところまで扱います。付属ライブラリ ttslearn は著者が本書のために作成した音声合成のコアライブラリで、 pip でインストールでき、 MIT ライセンスで書籍の外でも利用できます。

統計的パラメトリック合成から WaveNet 、 Tacotron 2 へ進む章構成

ソースコードが付く章は第 4 章から第 10 章までで、第 4 章「 Python による音声信号処理」で波形とスペクトルの扱いを固めたあと、理論と実装が対になって進みます。第 5 章で深層学習に基づく統計的パラメトリック音声合成を学び、第 6 章で日本語 DNN 音声合成システムを実装する。第 7 章で音声波形の生成モデル WaveNet を学び、第 8 章で日本語 WaveNet 音声合成システムを実装する。第 9 章で一貫学習を狙った Tacotron 2 を学び、第 10 章で日本語 Tacotron に基づく音声合成システムを実装する。この三往復が本書の背骨で、実装の 3 章は著者のリポジトリでレシピとして公開されています。付録には日本語音声合成のフルコンテキストラベルの仕様がまとめられており、日本語特有の前処理を自分で組む際の参照資料になります。

テキストから波形までの三段パイプラインと、一貫学習が変えたもの

音声合成が難しいのは、入力のテキストと出力の波形の間に何段もの変換が挟まるからです。古典的な構成では、まずテキスト解析で読みとアクセント、音素の並びといった言語特徴量を作り、次に音響モデルが音素ごとの継続長やスペクトル包絡、基本周波数などの音響特徴量を推定し、最後にボコーダがそれらから波形を復元します。統計的パラメトリック音声合成はこの音響モデルを統計モデルで置き換えた枠組みで、深層学習 の登場で音響モデルの表現力が上がり、 WaveNet はボコーダの段を自己回帰型のニューラルネットワークで置き換えて波形の品質を引き上げました。 Tacotron 2 はさらに、テキスト解析と音響モデルを一つのネットワークで学習する一貫学習 (end-to-end) の代表例で、注意機構によって文字列とスペクトログラムの対応を学習の中で獲得します。本書がこの歴史的な順番で章を並べているのは、各段が何を担っていたかを知らないと、一貫学習モデルが何を省略し、どこで失敗しやすいかが読めないからです。日本語は高低アクセントと読みの曖昧さが大きく、テキスト解析の品質が結果を左右するため、日本語システムを実装対象に据えたことがこの本の希少性でもあります。

ttslearn と JSUT コーパスで日本語音声合成を再現する環境

実装は PyTorch 上で行い、第 6 ・ 8 ・ 10 章のレシピは JSUT コーパスを使った日本語音声合成システムとして公開されています。第 4 章から第 10 章の notebook は著者が実行した結果つきでドキュメントサイトに掲載され、すべて Google Colab でも実行できるよう配慮されています。動作環境は Linux と Mac OS X で、 Windows は動作未確認と明記されており、学習を回すなら CUDA と cuDNN を整えた Linux 環境が推奨です。 Python 環境は PyTorch や NumPy の導入しやすさから Anaconda が推奨され、 Docker イメージも公開されています。学習済みモデルも配布されているため、まず合成音声を聞いてから中身を追う学び方も選べますが、学習済みモデルは非商用のみの利用規約である点は押さえておく必要があります。

中級者向けの前提知識と、向かない読み方

シリーズが中級者以上向けと掲げるとおり、 Python と PyTorch の基本操作、確率と線形代数の初歩、フーリエ変換やスペクトログラムといった信号処理の語彙、そして GPU を使える環境が前提です。機械学習の入門書を 1 冊終えて、次に具体的な応用分野で手を動かしたい人にはちょうど合います。逆に、クラウドの音声合成 API を呼んで読み上げ機能を付けたいだけの人、数式抜きで結果だけ欲しい人、 Windows だけで完結させたい人には向きません。深層学習そのものの土台をまだ作っていない段階なら、ディープラーニング本の選び方 で整理している原理系の本を先に読むほうが、本書の理論章が素直に入ってきます。

日本語で、日本語音声を対象に、統計的パラメトリック合成から Tacotron 2 までを一つのコードベースで追える本は多くありません。音声インタフェースの研究開発に携わる人、合成音声の品質を自分の手で改善したい人、論文のモデル図をコードに落とす訓練を積みたい人にとって、この本と ttslearn は 2021 年刊でも土台として十分に機能し、投じた時間はその後の論文読解の速さで回収できます。

言及 Qiita 記事 (2 件)

この本に興味がある方におすすめ

この本に関連

[第3版]Python機械学習プログラミング 達人データサイエンティストによる理論と実践の表紙
[第3版]Python機械学習プログラミング 達人データサイエンティストによる理論と実践Sebastian Raschka;Vahid Mirjalili/株式会社クイープ 訳/福島 真太朗 監訳2020年10月22日頃
実践XAI[説明可能なAI] 機械学習の予測を説明するためのPythonコーディングの表紙
実践XAI[説明可能なAI] 機械学習の予測を説明するためのPythonコーディングPradeepta Mishra/株式会社クイープ2023年06月20日
ウェブ最適化ではじめる機械学習の表紙
ウェブ最適化ではじめる機械学習飯塚修平2020年11月19日頃
Pythonによるファイナンス 第2版の表紙
Pythonによるファイナンス 第2版Yves Hilpisch/黒川 利明/中妻 照雄2019年12月26日頃
BERTによる自然言語処理入門の表紙
BERTによる自然言語処理入門ストックマーク株式会社/近江 崇宏/金田 健太郎/森長 誠/江間見 亜利2021年06月28日頃
機械学習スタートアップシリーズ Pythonで学ぶ強化学習 [改訂第2版] 入門から実践までの表紙
機械学習スタートアップシリーズ Pythonで学ぶ強化学習 [改訂第2版] 入門から実践まで久保 隆宏2019年09月22日頃
Python 実践AIモデル構築 100本ノックの表紙
Python 実践AIモデル構築 100本ノック下山輝昌/中村智/高木洋介2021年09月17日頃
Python機械学習プログラミング PyTorch&scikit-learn編の表紙
Python機械学習プログラミング PyTorch&scikit-learn編Sebastian Raschka、 Yuxi (Hayden) Liu、 Vahid Mirjalili/株式会社クイープ/福島真太朗2022年12月15日
ディープラーニング実践ガイドの表紙
ディープラーニング実践ガイドAnirudh Koul/Siddha Ganju/Meher Kasam/足立 昌彦/太田 満久/新村 拓也2023年04月21日
現場で使える!Python深層強化学習入門 強化学習と深層学習による探索と制御の表紙
現場で使える!Python深層強化学習入門 強化学習と深層学習による探索と制御伊藤 多一/今津 義充/須藤 広大/仁ノ平 将人/川崎 悠介/酒井 裕企2019年08月07日頃

関連記事

関連用語

共有:Xはてブ