SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Moresampler はなにをやってます?
●
語ると長くなります。
●
詳しく返答すると信号処理についての言及が求
められるので、一部は省略します。このスライ
ドは主に Moresampler の処理に対する基本理
解、及び、他の Resampler との違いに着目し
ます。
●
これらの情報は Moresampler を活用すること
に繋がると思います。
UTAU はなにをやってます?
● Moresampler の中身を語るためには、まずは一歩引いて全体像
を見る必要があります。
● この GUI (インターフェイス)の背後は、なにかどのように動
いているのでしょうか?
UTAU はなにをやってます?(続
く)
(1)ユーザーはノートを選択して「再生」を押す
と
(2)GUI は一時なスクリプトファイルを生成して
コードを書き込みます
(3)このスクリプトが Resampler と Wavtool を呼
びさして、波形ファイルにアクセスしてノート
を接続します
(4)各ノートに対して Resampler と wavtool は一
回、もしくは複数回呼び出され、アクセスごと
に細かく短い波形がキャッシュフォルダーへ出
How does UTAU work?
(5)最後に一連の WAVTOOL 呼び出しで、キャッシュされた全波
形ファイルが接続(連結)されます
(6)GUI は、この繋がれた波形を読み込み、再生します。
GUI
スクリプト
resampler
wavtool
ライブラリー
キャッシュ
波形ファイ
ル
波形ファイ
ル
波形ファイ
ル
最終出力の繋げた波形
How does UTAU work?
Resampler の役割:
音高をシフト、音の伸びを伸長 / 短縮、フラグ
を適用(例えば g はジェンダー(=性別関数)
をイジる)
wavtool の役割:
各波形の音量を調整、オーバーラップを考えて
波形を接続する。
パラメトリック式 / 非パラメトリック式
メソッド
●
resampler の役割を説明しましたが、広義的い
うと音声を処理することです。
●
音声処理は主に二種類の処理メソッドがありま
す。
●
一つは、処理される音声を波形入力し、波形に
対して処理を行い、それを音声として出力する
方式です。
Input
(waveform)
Output
(waveform)
Some speech
processing
going on here
パラメトリック式 / 非パラメトリック式
メソッド(続き)
● もう一つは、音声が入力されると、その入力音声に対して分析
をし、様々な「特徴量」を抽出し、その「特徴量」に対して要
求される処理を行い、その「処理をした特徴量」から出力音声
を合成する方式です。
Input
(waveform)
Output
(waveform)
Analysis Features
Synthesis
Some
processing
going on here
Features
(modified)
パラメトリック式 / 非パラメトリック式
メソッド(続き)
● これらの、分析によって抽出される「特徴量」は様々です。基
本周波数(音高)、スペクトログラム、エネルギーなど。
● これらの分析結果は「元音声を再現する」ための完全な情報を
持っており、元音声は今後の処理で必要なくなります。。
● なんでこんな手間(分析と合成)を掛けるのか、直接音声をイ
ジることはできないのかな?
パラメトリック式 / 非パラメトリック式
メソッド(続き)
● これが面白いところです。後ほど説明します。
● 分析をしていれば、これら分析で得た「特徴量」に対して順次
処理することで自由度が色々上がります。逆に言うと、波形を
直接処理するのはあまりにも大変すぎる。
● 一般的に、前者を非パラメトリック式、後者をパラメトリック
式だと呼びます。
パラメトリック式 / 非パラメトリック式
メソッド(続き)
● 今までの resampler はほとんど非パラメトリック式でした。
● 例えば、 tn_fnds は TD-PSOLA という、とっても有名なピ
ッチシフトと時間伸縮方式で、フランス電信会社が 30 年前で
発明された、未だにもっとも優秀な非パラメトリック式メソッ
ドのうち 1 つであります。
● TD-PSOLA は波形を細かくカットして、それぞれの波形を複
製、もしくは削除して、重ねて出力したい波形を作ります。
● 全体の出力波形は入力波形に完全依存しますので、非パラメト
リック式に属します。
[Holmes, 2001]
パラメトリック式 / 非パラメトリック式
メソッド(続き)
●
非パラメトリック式は必ずも時間領域上(波
形)で処理することを意味しているわけではあ
りません。
●
もう一つの例は phavoco, ( Phase Vocoder の
略) これは周波数領域でフレームごとスペク
トルをいじって出力を作る。
●
これも入力波形を依存するため非パラメトリッ
ク式に属すると考えられる。
パラメトリック式 / 非パラメトリック式
Resampler は
● 森勢先生の WORLD を元にした Resampler は二種類あります。
WORLD の少し前のバージョンは非パラメトリック式でした。
( FD-PSOLA という周波数領域で作動するの TD-PSOLA の変
種)
● 最近のバージョンはパラメトリック式です。
● 現バージョンの WORLD が使用された特徴量は以下となります
● 基本周波数( F0 )
● スペクトルエンベロープ、スペクトルを繋げた曲線(スペクトル包絡線)
● 非周期成分:音声に含まれているノイズ成分
● これらの特徴量はずべて時間変量で、数百から数千となる細か
いフレームに保存されます。
パラメトリック式 / 非パラメトリック式
Resampler
● これらの特徴量を使用して、 WORLD 合成器は元波形を利用す
ることなく波形を再構築します。
● パラメトリック式は有りますが、大抵のケースで、元波形から
分析して、特徴量を得ることにしています。
● しかし、波形を依存せず、なにもないところから特徴量を生成
して出力波形を合成することも可能です。例えば、 HMM ベー
スの合成器は HMM から特徴量を得て WORLD へ入力します。
Sinsy と CeVIO はこういう方式である。逆に、 PSOLA
は、 HMM から得た特徴量から合成することは不可能です。
● これで少々パラメトリック式の強みが分かって頂けるのかと。
話し逸れましたので、ここからは Moresampler の話に戻ります
。
LLSM – foundation of Moresampler
● Moresampler が使用したパラメトリック式モデルは
LLSM ( Low Level Speech Model)
● LLSM が音声を再現するために使用する特徴量は数多く、その
ため、音質のロストをほぼ知覚出来ないレベルまで抑えていま
す。
LLSM – foundation of Moresampler
● LLSM における一番重要な特徴量は高調波(倍音)です。
● 元々の周波数を基本波、 2 倍の周波数( 2 分の 1 の波長)を持
つものを第 2 高調波(第二倍音)、さらに n 倍の周波数( n
分の 1 の波長)を持つものを第 n 高調波(第n倍音)と呼ぶ。
[Wikipedia]
1st
Harmonic (fundamental)
2nd
Harmonic
3rd
Harmonic
4th
Harmonic
5th
Harmonic
...
LLSM – foundation of Moresampler
● LLSM は各倍音に対して周波数、振幅、位相変化量を取得しま
す。
●
倍音だけでは、無論、音声の再現は出来ません。声は倍
音以外の成分が多数含まれています。例えば無声子音、
気音 .... など。
●
入力波形から倍音などの周期成分を減算すると、非周期
成分が得られます。 これらのを残余成分と呼びます。
time
frequency
1st
2nd
3rd
...
残余成分のモデリング
● 残存部は概ねノイズっぽい情報です。囁き声に似ています。
● ホワイトノイズを生成し、それにフィルタリングをすることで
、残余成分のスペクトログラムを近似します。
● そのフィルダリングの設定値は、残余成分のメインの特徴量と
することが出来ます。
残余成分のモデリング ( 続き)
● しかし、このやり方だと、元の残余成分が持っている、時間変
化のディテールが失われてしまう。
● 人間が発声するとき、声帯は高速に振動し、気道を通る空気の
量を調節することで、声を作っています
● 残余成分は周期成分ではないが、エネルギー変化量なら周期成
分である。これで残余成分の周期が求められる。
残余成分のモデリング ( 続き)
● 微弱だが残余成分のエネルギー周期性が見られる
残余成分のモデリング ( 続き)
● これをエンベロープを与えてモデリングする
● この包絡を「声の一部」として扱い、その振幅変化をもう一つ
のハーモニックモデルとして取り込む。
● 低周波のため少ない倍音(3 ~ 4)で十分だと考えます。
残余成分のモデリング ( 続き)
● 更に踏み込んで、残余成分のエネルギーモデリングを複数周波
数帯で構築出来ます。例えば
− 0 – 3KHz
− 3 – 6KHz
− 6 – 12KHz
− 12KHz – (サンプリング周波数の半分)
● LLSM を構成しているのは、主にこれら「メイン調波成分モデ
ル」、「比較に小さい調波成分モデルが 4 つ」、「ノイズスペ
クトログラムが一つ」です。
Works Cited
● LLSM は、複数の正弦曲線モデリングテクニックを参考して構
築しました。以下の知見をクレジットさせていただきます。
Pantazis, Yannis, and Yannis Stylianou. "Improving the modeling of the noise part in the harmonic plus noise
model of speech." Acoustics, Speech and Signal Processing, 2008. ICASSP 2008. IEEE International
Conference on. IEEE, 2008.
Quatieri, Thomas F., and Robert J. McAulay. "Shape invariant time-scale and pitch modification of speech."
Signal Processing, IEEE Transactions on 40.3 (1992): 497-510. 1992.
Serra, Xavier. "A system for sound analysis/transformation/synthesis based on a deterministic plus stochastic
decomposition." Diss. Stanford University. 1989.
Stylianou, Yannis. "Harmonic plus noise models for speech, combined with statistical methods, for speech and
speaker modification." Diss. Ecole Nationale Supérieure des Télécommunications. 1996.
Moresampler (resampler mode)
● Moresampler がスクリプトに呼び出されると、まずは
resampler としてなのか、 wavtool としてなのかを識別する。
● まずは resampler モードを説明します。
● 初めて Moresampler を実行すると、 Moresamper は resampler
として wav ファイルを当たる。そこで libllsm (という LLSM
の実装)を使って wav ファイルを分析する。
● 分析結果は .wav.llsm というファイルへ書き出し、次回
Moresampler 実行時は wav ではなくこちらを使う。これ以降
wav 削除しても動作しますが、現状では無論 wav の削除はオス
スメしません。
● 以降、 LLSM のパラメータ(特徴量)を操作して、スクリプト
から与えられた指示通りに波形生成をする。スクリプトの指示
内容はピッチ、音長、開始 / 終了時刻、フラグ、ピッチベンド
など。
Moresampler (resampler mode)
● 次はどうする?
● スクリプトは出力先を指示してきます。例えば
C:...123_abc.wav
● Moresampler は指示通り変更した LLSM パラメータを
C:...123_abc.wav.llsm.tmp へ出力
● もしここで互換性オプション( resampler-
compatiblity )を有効していない時は、指示された
C:...123_abc.wav 出力されません。
Input
(.wav)
Write to cache
(.wav)
Analysis
(libllsm)
LLSM
parameters
Synthesis
(libllsm)
Some
processing
going on here
Read/Write file
(.wav.llsm)
Write to cache
(.wav.llsm.tmp)
セグメントを繋ぐ
● なぜ合成を直接 resampler でやらないのか。
● wavtool モードで生成された wav の波形を見ましょう。
● 境界でグリッチノイズなどの欠陥が発生することを避けるため
、クロスフェードが必要される。(区間は概ねイメージとお
り)
セグメントを繋ぐ(続く)
●
問題:山と谷がズレてる。相殺されることもあ
る。
●
そのまま合わせると声が干渉する
セグメントを繋ぐ(続く)
●
干渉を低減する方式の一つは maximum cross-
correlation (極値相関) , 山と、谷のピークピ
ークをそれぞれずらして合わせる (add)
Shift and add
セグメントを繋ぐ(続く)
●
これが全部うまく合わせられることは、まずあ
りません。周波数もしくは位相がちょっと変わ
ると、またズレていく
ここ合わせたけど ここがずれ
た ....
セグメントを繋ぐ(続く)
●
基本周波数を f とすると、波形を t 秒ずらした
ら、第 n 倍音の位相は 2πnft ずれる(正弦波は
y(t) = sin(2πft) )
●
もし位相がうまく合わない場合、誤差は高域で
どんどん大きくなる。最初の倍音がうまく合わ
せても高域倍音が大きくズレる場合があります
。
クロスフェーディングのための
パラメトリックなソリューション
● よって、波形ではなく LLSM パラメータの方クロスフェードす
ることで解決する。
● これらのパラメータ(基本周波数、倍音、ノイズスペクトログ
ラム)は全部フレームと同期 * してるので、干渉は発生しませ
ん。
● これを內插と呼ぶ。
* (かなり説明を簡略化してます。パラメトリック化は內插可能
であることを確保してるわけではありません。倍音位相內插の
詳細はかなり複雑ですが、幸い Quatieri 教授と McAulay 教授
1992 年の知見があり、 LLSM はそれを元に改良しています。
Moresampler (wavtool mode)
● LLSM のパラメータレベルでクロースフェイドするた
め、 LLSM モデルファイルを受け付ける wavtool が必要となる
。
● これが Moresampler が resampler と wavtool 両方の機能を備え
た理由となります。こうすることで、 2 つの違うプロジェクト
をメンテする必要もなくなる。
● LLSM はそれなりにサイズが大きいので、書き出しによる
HDD(SSD) の摩耗や空き容量圧迫を低減するため、全体の流れ
をなんらかの工夫を加える必要が出てくる。
Moresampler (wavtool mode)
● Moresampler が最初に wavtool として呼び出せる時、一つ
の .wav ファイルを生成する。それは、パスとファイル名指定
なければ temp.wav となります。
● Moresampler は temp.wav に波形を書き込みません。単にコマ
ンドラインの内容を次々と temp.wav に追記するだけです。
( index として使う)
Moresampler (wavtool mode)
● 終わりに、 Moresampler はスクリプトからの最後の呼び出しで
あることを検知したら(スクリプトを開いてファイル名とマッ
チするかをチェック)、そこで temp.wav に書きだした内容を
読み込み、一時ファイルとして書きだした LLSM ファイルを全
部繋ぎます。続いて libllsm を呼び出して合成し、 temp.wav を
出力結果に書き換えます。
temp.wav
Script
Moresampler
(wavtool mode)
.llsm.tmp
(produced by
resampler mode)
Synthesis
(libllsm)
arguments
LLSM
segments
(final call)
waveform

Weitere ähnliche Inhalte

Was ist angesagt?

Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)akira6592
 
Backup and restore in linux
Backup and restore in linux Backup and restore in linux
Backup and restore in linux Mohammed Yazdani
 
音声認識の基礎
音声認識の基礎音声認識の基礎
音声認識の基礎Akinori Ito
 
論文紹介 wav2vec: Unsupervised Pre-training for Speech Recognition
論文紹介  wav2vec: Unsupervised Pre-training for Speech Recognition論文紹介  wav2vec: Unsupervised Pre-training for Speech Recognition
論文紹介 wav2vec: Unsupervised Pre-training for Speech RecognitionYosukeKashiwagi1
 
[IBM 김상훈] NAS_IBM Spectrum NAS 상세 설명
[IBM 김상훈] NAS_IBM Spectrum NAS 상세 설명[IBM 김상훈] NAS_IBM Spectrum NAS 상세 설명
[IBM 김상훈] NAS_IBM Spectrum NAS 상세 설명(Joe), Sanghun Kim
 
Backups And Recovery
Backups And RecoveryBackups And Recovery
Backups And Recoveryasifmalik110
 

Was ist angesagt? (7)

Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)
 
Backup and restore in linux
Backup and restore in linux Backup and restore in linux
Backup and restore in linux
 
Ansible
AnsibleAnsible
Ansible
 
音声認識の基礎
音声認識の基礎音声認識の基礎
音声認識の基礎
 
論文紹介 wav2vec: Unsupervised Pre-training for Speech Recognition
論文紹介  wav2vec: Unsupervised Pre-training for Speech Recognition論文紹介  wav2vec: Unsupervised Pre-training for Speech Recognition
論文紹介 wav2vec: Unsupervised Pre-training for Speech Recognition
 
[IBM 김상훈] NAS_IBM Spectrum NAS 상세 설명
[IBM 김상훈] NAS_IBM Spectrum NAS 상세 설명[IBM 김상훈] NAS_IBM Spectrum NAS 상세 설명
[IBM 김상훈] NAS_IBM Spectrum NAS 상세 설명
 
Backups And Recovery
Backups And RecoveryBackups And Recovery
Backups And Recovery
 

Andere mochten auch

How to use Moresampler? (Japanese)
How to use Moresampler? (Japanese)How to use Moresampler? (Japanese)
How to use Moresampler? (Japanese)khuasw
 
The past, present and future of singing synthesis
The past, present and future of singing synthesisThe past, present and future of singing synthesis
The past, present and future of singing synthesisEji Warp
 
Moresampler 0.2.0 に関する説明
Moresampler 0.2.0 に関する説明Moresampler 0.2.0 に関する説明
Moresampler 0.2.0 に関する説明Eji Warp
 
Juceで作るオーディオアプリケーション
Juceで作るオーディオアプリケーションJuceで作るオーディオアプリケーション
Juceで作るオーディオアプリケーションKohsuke Yuasa
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理DADA246
 
тема 8
тема 8тема 8
тема 8Nata_iv
 
Pasi Pohjola: Sosiaalityön tietokäytännöt ja asiakkaan osallisuus tiedon rake...
Pasi Pohjola: Sosiaalityön tietokäytännöt ja asiakkaan osallisuus tiedon rake...Pasi Pohjola: Sosiaalityön tietokäytännöt ja asiakkaan osallisuus tiedon rake...
Pasi Pohjola: Sosiaalityön tietokäytännöt ja asiakkaan osallisuus tiedon rake...Lastensuojelun Keskusliitto
 
Marketing - DuPage Airport Authority Full
Marketing - DuPage Airport Authority FullMarketing - DuPage Airport Authority Full
Marketing - DuPage Airport Authority FullMichael Masciola
 
Inbound Marketing - Introduction & Tips for 2017
Inbound Marketing - Introduction & Tips for 2017Inbound Marketing - Introduction & Tips for 2017
Inbound Marketing - Introduction & Tips for 2017Connect Labs
 
Build Better Games with Facebook | Bob Slinn
Build Better Games with Facebook | Bob SlinnBuild Better Games with Facebook | Bob Slinn
Build Better Games with Facebook | Bob SlinnEmily Baker
 
Congruence Distributive Varieties With Compact Intersection Property
Congruence Distributive Varieties With Compact Intersection PropertyCongruence Distributive Varieties With Compact Intersection Property
Congruence Distributive Varieties With Compact Intersection Propertyfilipke85
 
Karlene Stewart CV 1 211-2
Karlene Stewart CV 1 211-2Karlene Stewart CV 1 211-2
Karlene Stewart CV 1 211-2Karlene Stewart
 
2011-2016 Loveland Region Industry Profile Across Other Colorado Regions
2011-2016 Loveland Region Industry Profile Across Other Colorado Regions2011-2016 Loveland Region Industry Profile Across Other Colorado Regions
2011-2016 Loveland Region Industry Profile Across Other Colorado RegionsMichael Masciola
 

Andere mochten auch (17)

How to use Moresampler? (Japanese)
How to use Moresampler? (Japanese)How to use Moresampler? (Japanese)
How to use Moresampler? (Japanese)
 
The past, present and future of singing synthesis
The past, present and future of singing synthesisThe past, present and future of singing synthesis
The past, present and future of singing synthesis
 
Moresampler 0.2.0 に関する説明
Moresampler 0.2.0 に関する説明Moresampler 0.2.0 に関する説明
Moresampler 0.2.0 に関する説明
 
Juceで作るオーディオアプリケーション
Juceで作るオーディオアプリケーションJuceで作るオーディオアプリケーション
Juceで作るオーディオアプリケーション
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
 
тема 8
тема 8тема 8
тема 8
 
Pasi Pohjola: Sosiaalityön tietokäytännöt ja asiakkaan osallisuus tiedon rake...
Pasi Pohjola: Sosiaalityön tietokäytännöt ja asiakkaan osallisuus tiedon rake...Pasi Pohjola: Sosiaalityön tietokäytännöt ja asiakkaan osallisuus tiedon rake...
Pasi Pohjola: Sosiaalityön tietokäytännöt ja asiakkaan osallisuus tiedon rake...
 
Marketing - DuPage Airport Authority Full
Marketing - DuPage Airport Authority FullMarketing - DuPage Airport Authority Full
Marketing - DuPage Airport Authority Full
 
Inbound Marketing - Introduction & Tips for 2017
Inbound Marketing - Introduction & Tips for 2017Inbound Marketing - Introduction & Tips for 2017
Inbound Marketing - Introduction & Tips for 2017
 
Mikä on isämies & mihin häntä tarvitaan?
Mikä on isämies & mihin häntä tarvitaan?Mikä on isämies & mihin häntä tarvitaan?
Mikä on isämies & mihin häntä tarvitaan?
 
Build Better Games with Facebook | Bob Slinn
Build Better Games with Facebook | Bob SlinnBuild Better Games with Facebook | Bob Slinn
Build Better Games with Facebook | Bob Slinn
 
แฟ้มสะสมผลงาน
แฟ้มสะสมผลงานแฟ้มสะสมผลงาน
แฟ้มสะสมผลงาน
 
Congruence Distributive Varieties With Compact Intersection Property
Congruence Distributive Varieties With Compact Intersection PropertyCongruence Distributive Varieties With Compact Intersection Property
Congruence Distributive Varieties With Compact Intersection Property
 
Karlene Stewart CV 1 211-2
Karlene Stewart CV 1 211-2Karlene Stewart CV 1 211-2
Karlene Stewart CV 1 211-2
 
Isyyden monet roolit
Isyyden monet roolitIsyyden monet roolit
Isyyden monet roolit
 
Presentation
PresentationPresentation
Presentation
 
2011-2016 Loveland Region Industry Profile Across Other Colorado Regions
2011-2016 Loveland Region Industry Profile Across Other Colorado Regions2011-2016 Loveland Region Industry Profile Across Other Colorado Regions
2011-2016 Loveland Region Industry Profile Across Other Colorado Regions
 

How does Moresampler work? (Japanese)

  • 1. Moresampler はなにをやってます? ● 語ると長くなります。 ● 詳しく返答すると信号処理についての言及が求 められるので、一部は省略します。このスライ ドは主に Moresampler の処理に対する基本理 解、及び、他の Resampler との違いに着目し ます。 ● これらの情報は Moresampler を活用すること に繋がると思います。
  • 2. UTAU はなにをやってます? ● Moresampler の中身を語るためには、まずは一歩引いて全体像 を見る必要があります。 ● この GUI (インターフェイス)の背後は、なにかどのように動 いているのでしょうか?
  • 3. UTAU はなにをやってます?(続 く) (1)ユーザーはノートを選択して「再生」を押す と (2)GUI は一時なスクリプトファイルを生成して コードを書き込みます (3)このスクリプトが Resampler と Wavtool を呼 びさして、波形ファイルにアクセスしてノート を接続します (4)各ノートに対して Resampler と wavtool は一 回、もしくは複数回呼び出され、アクセスごと に細かく短い波形がキャッシュフォルダーへ出
  • 4. How does UTAU work? (5)最後に一連の WAVTOOL 呼び出しで、キャッシュされた全波 形ファイルが接続(連結)されます (6)GUI は、この繋がれた波形を読み込み、再生します。 GUI スクリプト resampler wavtool ライブラリー キャッシュ 波形ファイ ル 波形ファイ ル 波形ファイ ル 最終出力の繋げた波形
  • 5. How does UTAU work? Resampler の役割: 音高をシフト、音の伸びを伸長 / 短縮、フラグ を適用(例えば g はジェンダー(=性別関数) をイジる) wavtool の役割: 各波形の音量を調整、オーバーラップを考えて 波形を接続する。
  • 6. パラメトリック式 / 非パラメトリック式 メソッド ● resampler の役割を説明しましたが、広義的い うと音声を処理することです。 ● 音声処理は主に二種類の処理メソッドがありま す。 ● 一つは、処理される音声を波形入力し、波形に 対して処理を行い、それを音声として出力する 方式です。 Input (waveform) Output (waveform) Some speech processing going on here
  • 7. パラメトリック式 / 非パラメトリック式 メソッド(続き) ● もう一つは、音声が入力されると、その入力音声に対して分析 をし、様々な「特徴量」を抽出し、その「特徴量」に対して要 求される処理を行い、その「処理をした特徴量」から出力音声 を合成する方式です。 Input (waveform) Output (waveform) Analysis Features Synthesis Some processing going on here Features (modified)
  • 8. パラメトリック式 / 非パラメトリック式 メソッド(続き) ● これらの、分析によって抽出される「特徴量」は様々です。基 本周波数(音高)、スペクトログラム、エネルギーなど。 ● これらの分析結果は「元音声を再現する」ための完全な情報を 持っており、元音声は今後の処理で必要なくなります。。 ● なんでこんな手間(分析と合成)を掛けるのか、直接音声をイ ジることはできないのかな?
  • 9. パラメトリック式 / 非パラメトリック式 メソッド(続き) ● これが面白いところです。後ほど説明します。 ● 分析をしていれば、これら分析で得た「特徴量」に対して順次 処理することで自由度が色々上がります。逆に言うと、波形を 直接処理するのはあまりにも大変すぎる。 ● 一般的に、前者を非パラメトリック式、後者をパラメトリック 式だと呼びます。
  • 10. パラメトリック式 / 非パラメトリック式 メソッド(続き) ● 今までの resampler はほとんど非パラメトリック式でした。 ● 例えば、 tn_fnds は TD-PSOLA という、とっても有名なピ ッチシフトと時間伸縮方式で、フランス電信会社が 30 年前で 発明された、未だにもっとも優秀な非パラメトリック式メソッ ドのうち 1 つであります。 ● TD-PSOLA は波形を細かくカットして、それぞれの波形を複 製、もしくは削除して、重ねて出力したい波形を作ります。 ● 全体の出力波形は入力波形に完全依存しますので、非パラメト リック式に属します。 [Holmes, 2001]
  • 11. パラメトリック式 / 非パラメトリック式 メソッド(続き) ● 非パラメトリック式は必ずも時間領域上(波 形)で処理することを意味しているわけではあ りません。 ● もう一つの例は phavoco, ( Phase Vocoder の 略) これは周波数領域でフレームごとスペク トルをいじって出力を作る。 ● これも入力波形を依存するため非パラメトリッ ク式に属すると考えられる。
  • 12. パラメトリック式 / 非パラメトリック式 Resampler は ● 森勢先生の WORLD を元にした Resampler は二種類あります。 WORLD の少し前のバージョンは非パラメトリック式でした。 ( FD-PSOLA という周波数領域で作動するの TD-PSOLA の変 種) ● 最近のバージョンはパラメトリック式です。 ● 現バージョンの WORLD が使用された特徴量は以下となります ● 基本周波数( F0 ) ● スペクトルエンベロープ、スペクトルを繋げた曲線(スペクトル包絡線) ● 非周期成分:音声に含まれているノイズ成分 ● これらの特徴量はずべて時間変量で、数百から数千となる細か いフレームに保存されます。
  • 13. パラメトリック式 / 非パラメトリック式 Resampler ● これらの特徴量を使用して、 WORLD 合成器は元波形を利用す ることなく波形を再構築します。 ● パラメトリック式は有りますが、大抵のケースで、元波形から 分析して、特徴量を得ることにしています。 ● しかし、波形を依存せず、なにもないところから特徴量を生成 して出力波形を合成することも可能です。例えば、 HMM ベー スの合成器は HMM から特徴量を得て WORLD へ入力します。 Sinsy と CeVIO はこういう方式である。逆に、 PSOLA は、 HMM から得た特徴量から合成することは不可能です。 ● これで少々パラメトリック式の強みが分かって頂けるのかと。 話し逸れましたので、ここからは Moresampler の話に戻ります 。
  • 14. LLSM – foundation of Moresampler ● Moresampler が使用したパラメトリック式モデルは LLSM ( Low Level Speech Model) ● LLSM が音声を再現するために使用する特徴量は数多く、その ため、音質のロストをほぼ知覚出来ないレベルまで抑えていま す。
  • 15. LLSM – foundation of Moresampler ● LLSM における一番重要な特徴量は高調波(倍音)です。 ● 元々の周波数を基本波、 2 倍の周波数( 2 分の 1 の波長)を持 つものを第 2 高調波(第二倍音)、さらに n 倍の周波数( n 分の 1 の波長)を持つものを第 n 高調波(第n倍音)と呼ぶ。 [Wikipedia] 1st Harmonic (fundamental) 2nd Harmonic 3rd Harmonic 4th Harmonic 5th Harmonic ...
  • 16. LLSM – foundation of Moresampler ● LLSM は各倍音に対して周波数、振幅、位相変化量を取得しま す。 ● 倍音だけでは、無論、音声の再現は出来ません。声は倍 音以外の成分が多数含まれています。例えば無声子音、 気音 .... など。 ● 入力波形から倍音などの周期成分を減算すると、非周期 成分が得られます。 これらのを残余成分と呼びます。 time frequency 1st 2nd 3rd ...
  • 18. 残余成分のモデリング ( 続き) ● しかし、このやり方だと、元の残余成分が持っている、時間変 化のディテールが失われてしまう。 ● 人間が発声するとき、声帯は高速に振動し、気道を通る空気の 量を調節することで、声を作っています ● 残余成分は周期成分ではないが、エネルギー変化量なら周期成 分である。これで残余成分の周期が求められる。
  • 19. 残余成分のモデリング ( 続き) ● 微弱だが残余成分のエネルギー周期性が見られる
  • 20. 残余成分のモデリング ( 続き) ● これをエンベロープを与えてモデリングする ● この包絡を「声の一部」として扱い、その振幅変化をもう一つ のハーモニックモデルとして取り込む。 ● 低周波のため少ない倍音(3 ~ 4)で十分だと考えます。
  • 21. 残余成分のモデリング ( 続き) ● 更に踏み込んで、残余成分のエネルギーモデリングを複数周波 数帯で構築出来ます。例えば − 0 – 3KHz − 3 – 6KHz − 6 – 12KHz − 12KHz – (サンプリング周波数の半分) ● LLSM を構成しているのは、主にこれら「メイン調波成分モデ ル」、「比較に小さい調波成分モデルが 4 つ」、「ノイズスペ クトログラムが一つ」です。
  • 22. Works Cited ● LLSM は、複数の正弦曲線モデリングテクニックを参考して構 築しました。以下の知見をクレジットさせていただきます。 Pantazis, Yannis, and Yannis Stylianou. "Improving the modeling of the noise part in the harmonic plus noise model of speech." Acoustics, Speech and Signal Processing, 2008. ICASSP 2008. IEEE International Conference on. IEEE, 2008. Quatieri, Thomas F., and Robert J. McAulay. "Shape invariant time-scale and pitch modification of speech." Signal Processing, IEEE Transactions on 40.3 (1992): 497-510. 1992. Serra, Xavier. "A system for sound analysis/transformation/synthesis based on a deterministic plus stochastic decomposition." Diss. Stanford University. 1989. Stylianou, Yannis. "Harmonic plus noise models for speech, combined with statistical methods, for speech and speaker modification." Diss. Ecole Nationale Supérieure des Télécommunications. 1996.
  • 23. Moresampler (resampler mode) ● Moresampler がスクリプトに呼び出されると、まずは resampler としてなのか、 wavtool としてなのかを識別する。 ● まずは resampler モードを説明します。 ● 初めて Moresampler を実行すると、 Moresamper は resampler として wav ファイルを当たる。そこで libllsm (という LLSM の実装)を使って wav ファイルを分析する。 ● 分析結果は .wav.llsm というファイルへ書き出し、次回 Moresampler 実行時は wav ではなくこちらを使う。これ以降 wav 削除しても動作しますが、現状では無論 wav の削除はオス スメしません。 ● 以降、 LLSM のパラメータ(特徴量)を操作して、スクリプト から与えられた指示通りに波形生成をする。スクリプトの指示 内容はピッチ、音長、開始 / 終了時刻、フラグ、ピッチベンド など。
  • 24. Moresampler (resampler mode) ● 次はどうする? ● スクリプトは出力先を指示してきます。例えば C:...123_abc.wav ● Moresampler は指示通り変更した LLSM パラメータを C:...123_abc.wav.llsm.tmp へ出力 ● もしここで互換性オプション( resampler- compatiblity )を有効していない時は、指示された C:...123_abc.wav 出力されません。 Input (.wav) Write to cache (.wav) Analysis (libllsm) LLSM parameters Synthesis (libllsm) Some processing going on here Read/Write file (.wav.llsm) Write to cache (.wav.llsm.tmp)
  • 25. セグメントを繋ぐ ● なぜ合成を直接 resampler でやらないのか。 ● wavtool モードで生成された wav の波形を見ましょう。 ● 境界でグリッチノイズなどの欠陥が発生することを避けるため 、クロスフェードが必要される。(区間は概ねイメージとお り)
  • 27. セグメントを繋ぐ(続く) ● 干渉を低減する方式の一つは maximum cross- correlation (極値相関) , 山と、谷のピークピ ークをそれぞれずらして合わせる (add) Shift and add
  • 29. セグメントを繋ぐ(続く) ● 基本周波数を f とすると、波形を t 秒ずらした ら、第 n 倍音の位相は 2πnft ずれる(正弦波は y(t) = sin(2πft) ) ● もし位相がうまく合わない場合、誤差は高域で どんどん大きくなる。最初の倍音がうまく合わ せても高域倍音が大きくズレる場合があります 。
  • 30. クロスフェーディングのための パラメトリックなソリューション ● よって、波形ではなく LLSM パラメータの方クロスフェードす ることで解決する。 ● これらのパラメータ(基本周波数、倍音、ノイズスペクトログ ラム)は全部フレームと同期 * してるので、干渉は発生しませ ん。 ● これを內插と呼ぶ。 * (かなり説明を簡略化してます。パラメトリック化は內插可能 であることを確保してるわけではありません。倍音位相內插の 詳細はかなり複雑ですが、幸い Quatieri 教授と McAulay 教授 1992 年の知見があり、 LLSM はそれを元に改良しています。
  • 31. Moresampler (wavtool mode) ● LLSM のパラメータレベルでクロースフェイドするた め、 LLSM モデルファイルを受け付ける wavtool が必要となる 。 ● これが Moresampler が resampler と wavtool 両方の機能を備え た理由となります。こうすることで、 2 つの違うプロジェクト をメンテする必要もなくなる。 ● LLSM はそれなりにサイズが大きいので、書き出しによる HDD(SSD) の摩耗や空き容量圧迫を低減するため、全体の流れ をなんらかの工夫を加える必要が出てくる。
  • 32. Moresampler (wavtool mode) ● Moresampler が最初に wavtool として呼び出せる時、一つ の .wav ファイルを生成する。それは、パスとファイル名指定 なければ temp.wav となります。 ● Moresampler は temp.wav に波形を書き込みません。単にコマ ンドラインの内容を次々と temp.wav に追記するだけです。 ( index として使う)
  • 33. Moresampler (wavtool mode) ● 終わりに、 Moresampler はスクリプトからの最後の呼び出しで あることを検知したら(スクリプトを開いてファイル名とマッ チするかをチェック)、そこで temp.wav に書きだした内容を 読み込み、一時ファイルとして書きだした LLSM ファイルを全 部繋ぎます。続いて libllsm を呼び出して合成し、 temp.wav を 出力結果に書き換えます。 temp.wav Script Moresampler (wavtool mode) .llsm.tmp (produced by resampler mode) Synthesis (libllsm) arguments LLSM segments (final call) waveform