タイトル画像

リバーブで歌声を合成する実験 ソースフィルタモデルの歌声合成

2016.12.13(13:40) 123

とある歌声でない音声にリバーブをかけて歌声にする実験をしました。

【概要】
パルス波を集めて作ったビープ音に「特殊なIR」を読み込んだコンボリューションリバーブを適用して歌声を合成する。

1)IRを作る 
 今回は母音を生成しようと思うので母音を作るためのIRを作ります。

A.「あ」の波形から2周期を切り出す
a波形「あ」波形

2周期 2周期分

B.始めと終わりの1/4をフェード処理
1414.png 
IR完成

2)ビープ音を作る
 IRを作るときに使った波形と同じ周波数のビープ音を作ってダイナミクスとピッチの揺れを書く
Beep.png 
波形の1周期は純粋なパルス波です。

3)コンボリューションリバーブを掛ける
 リバーブに先ほど作ったIRを込みこんでビープ音にかければ歌声の合成は完了。

一回目の合成は「Beep音とIRの周波数が合っていない」&「IRが1周期分でフェード処理なし」
二回目の合成は「IRが1周期分でフェード処理なし」
三回目の合成は「Beep音とIRの周波数があっていて」「IRが2周期分でフェード処理アリ」

です。

スポンサーサイト

くろ州の合成音声備忘録


その他歌声合成 トラックバック(-) | コメント(1) | [EDIT]
タイトル画像

無機能ブラウザ

2016.12.11(15:05) 122

音声合成とは関係ないのですが、プログラミングの勉強しないとということで、フリーソフトを作りました。

その名も「無機能ブラウザ」

戻るボタンすらないシンプル設計。本体はたったの10KB。すべての操作はショートカットでします。

メリット
・軽い
・余計な機能がついてないからわずらわしさがない
・「目的のことばが調べられればいい」という人向け
・ショートカットが使える人向け

デメリット
・できることが少ない
・ショートカット使えない人には全く使えない
・対応していないWebサービスが多い
・それなりにバグる

C#でプログラミングしました。フォームにWebBrowser貼り付けただけの5分間プログラミングです。README書く方が時間かかりました。



くろ州の合成音声備忘録


制作 トラックバック(-) | コメント(0) | [EDIT]
タイトル画像

モーラとシラブル(拍・音節)の違い

2016.12.08(16:23) 121

UTAU音源を制作していると「モーラ」という言葉に出会います。これは専門用語なのですが、学校では「音節」を習います。

Q「UTAU音源を制作しています」を音節に分けてください。

A う/た/う/お/ん/げ/ん/を/せ/い/さ/く/し/て/い/ま/す

ですね。日本の学校で習う「音節」「ひらがな一文字のセット」という感じ。ただし「っ」「ゃ」「ゅ」「ょ」は単独で1音節とは認めません

「モーラ」「時間軸で考えて一定の拍に収まる音のセット」という感じ。

例えば「目が痛かい」と言った場合、

標準語:めがいたい  (5モーラ)
関西弁:めえがいたい (6モーラ)

となります。

標準日本語は大体1音節1モーラで発音されるのであまり差が出ません。そして音韻論で言うところの「拍」と「モーラ」は同じらしいです。

ただし、「っ」「母音脱落したサ行やハ行」「ん」「m」などは一拍分の長さがあれば1モーラとして数えます。ここが音節とモーラの違いの一つです。

UTAU音源を制作している時の発音台本は「Xモーラリスト」と名付けられています。一拍に1モーラ発音するのが基本です。和歌も「5・7・5・7・7モーラ」ですね。

対して、「シラブル」ですが、音韻論上は「音節」と同じですが、「学校で習う音節」とは少し違うのです。

言語によって扱いは変わってきますが、「言いやすい音の区切り」です。

Q「UTAU音源を制作しています」をシラブルに分けてください。

A う/た/う/おん/げん/を/せい/さ/く/し/て/い/まs

実際には明確なルールがありますが大体で言うと、母音脱落した音や二重母音などは一つのシラブルになります。「学校で習う音節」で「っ」「ゃ」「ゅ」「ょ」を単独で1音節と認めないのはこれの影響です。

さらに言うと時間にも影響されないので、「制作=せーさく」は4モーラで3音節(シラブル)です。1拍分の「あ」は1モーラで1音節ですが、2拍分の「ああ(二つ目の『あ』は発音しなおさない)」は2モーラで1音節です。

まとめ

モーラ(拍)とシラブル(音節)の違い

「1拍分の長さがあれば1単位として数える」のが「モーラ」、「発音上区切れるならば1単位として数える」のが「音節」

調声の段階ではモーラとシラブルを意識すると母音脱落・二重母音が見えてきてイイと思います。




くろ州の合成音声備忘録


未分類 トラックバック(-) | コメント(0) | [EDIT]
タイトル画像

正弦波重畳方式

2016.12.06(19:33) 120

「正弦波重畳方式」というのは歌声音源の合成方式の一つです。

音というのは波ですよね。いわゆる「音波」です。

そしてその波の形を「波形」と言います。
あ 波形図1:「あ」の波形 

この音波には「いくつかの正弦波に分解できる」という性質があるのです。

詳しいことや正しいことが知りたい方は「音声 フーリエ解析」とかで検索してみましょう。

正弦波とは? y=sinxのグラフです。
sinx=y.png 図2:y=sinxのグラフ

いろんな周期の正弦波=SIN波を畳のように重ねて図1のような波形が作れれば、「中の人のいない音源ができる」ということですね!!

手順1)解析
 「あ」の波形はどんな正弦波の組み合わせでできているのかを調べます。ツールはExcel。
あ 周波数 図3

こんな感じ。
要するに

344Hz   0.05
689Hz   0.10
1033Hz   0.22
1378Hz   0.18
1722Hz   0.05

くらいの構成になっているのです。

つまり

y=0.05×sin(344×2π)+
    0.10×sin(689×2π)+
  0.22×sin(1033×2π)+
  0.18×sin(1378×2π)+
  0.05×sin(1722×2π)

が「あ」の近似式なのです。

実際の合成には「私の好みの音源数種」の平均を用いて、しかもきれいな式になるように数値をいくつか改変して、息成分を少なめにした式を使いました

手順2)数式⇒波形
 1)で作った式をグラフに起こします。ツールはGRAPES。
sinple.png 図4

ずいぶんとシンプル。実際の合成ではもっと複雑な式でやりました。
このGRAPESはコマンドで波形を再生してくれる機能があるのでそれでWAVEファイルを作ります。

手順3)1周期切り出し&ループ
 できたWAVEから1周期分切り出してループ再生して再録音。ツールはAudacity。これでやっと聞ける感じになってきます。この行程がないととても聞けない。

手順4)ピッチ・ダイナミクスをつける
 できた波形は現在こんな感じ。
現状図5 

ピッチに適度な揺らぎを与えて、波形を人の声っぽくトリミングします。ツールはVocalShifter。
手書き 図6

黄色がピッチ線、緑がダイナミクスです。これは手書きしています。

結果。
キャプチャ図7
 
手順5)エフェクト掛け
 人らしさがないので、エフェクトでぽくします。ツールはModernExciter(エキサイター)。
人の声に聞こえるようになるまで調整します。これは好み。ここで差が付きます。

完成!!


あ、い、う、え、お、だけ作りました。


くろ州の合成音声備忘録


その他歌声合成 トラックバック(-) | コメント(0) | [EDIT]
タイトル画像

REAPER日本語化

2016.12.02(23:47) 118

REAPERは公式で日本語に対応していません。しかしその程度であきらめるのにはもったいなさすぎるので、非公式の日本語化をしましょう。

1)こちらのページから日本語のパックを拾います。

「フォント関連の修正は必要ない・パッチが動かない」の項目の青文字リンクを右クリックして「リンク先を保存」してください。普通にクリックするとコードが出てきます。

2)ダウンロードしたものを右クリック → 「Install language pack for REAPER」的なのを選択

3)REAPERを起動して日本語になっていれば成功

ダメだったらダウンロードしたものを「REAPER.exe」のある所に持って行って2)を実行。
それでもダメなら「REAPER.exe」と同じところにある「Plugins」の中に持って行って2)を実行。

ダメだったらこっちのページのパッチを使います。

緑色の「Clone or download」ボタンを押して「Dounload ZIP」を選択するとダウンロードできます。

あとは解凍して、Language packに対して2)以降を実行

それでもだめなら英語で。


くろ州の合成音声備忘録


REAPER トラックバック(-) | コメント(0) | [EDIT]
2016年12月
  1. リバーブで歌声を合成する実験 ソースフィルタモデルの歌声合成(12/13)
  2. 無機能ブラウザ(12/11)
  3. モーラとシラブル(拍・音節)の違い(12/08)
  4. 正弦波重畳方式(12/06)
  5. REAPER日本語化(12/02)