たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

平等ではなく貧困対策

山をならして平等にするのではなく、貧困対策に集中する

貧困の線引き

線は存在しないから、社会が決める
線ではなくスペクトラム

対策の中身

情報・金・元気があれば選択できる
これらを供給する

  • 情報: 相談に乗り、選択肢を示す
  • 金: 配る、あるいはクーポン
  • 元気: 医療・相談

サービスそのものを公共が提供する必然性はない
公共が情報をわかりやすく提示することが重要

貧困対策を実施する理由

同志が増えるから。
貧困は人から可能性を奪う。
可能性が開花すれば、私はもっと素晴らしい人に出会える。

ジョブズの卵

ボイチェンは声のメイク - 声そのものの権利は認められない -

ボイスチェンジは声のメイク/化粧だ。
知人そっくりのメイクをしたら、その人の顔面権侵害になるだろうか?
然るに、声のそのものの権利 - 音紋権 - は存在しない。

ボイスチェンジは声のメイク

ボイスチェンジとは、機械によって声質を変換することである。
例えば、ぼそぼそ声をハッキリとした声へ変えたり、別の人に似た声へ変換することができる (将来的には)。

声は人間が生まれ持ったものではあるが、後天的にボイチェンで変えられるのだ。
これは化粧の関係に非常によく似ている。
顔も人間が生まれ持ったものではあるが、後天的に化粧/メイクで変えられるのだ。
つまりボイスチェンジとはまさしく声のメイク/化粧なのである。

知人そっくりの化粧は顔面権の侵害か?

化粧により人は化けることができる。
化粧のプロをもってすれば、ある知人そっくりのメイクをすることも可能である。
ではこの場合、知人似の化粧は、知人が生まれ持ったの権利 (言うなれば顔面権) を侵害するだろうか?

多くの方の素朴な直感は「メイクで権利侵害とか言われたらメイクできないじゃん。でもそっくりの化粧して本人を騙ったりするのはまずいんじゃね?」かと思う。
ここで重要なのは「顔の造形そのもの」と「人そのもの」を分けて考えることである。

ある人を傷つけること、例えば名前を騙ったり、本人と誤解される状況で本人の評判を下げるような行為は、言語道断である。
その点で、知人似のメイクをしてさらにその人と同じ芸名を騙って何かをする、あるいは名を名乗らず (本人だと誤解されうる状況を看過して) 悪評が立つ行為をするのは認められない。
つまり「人そのもの」言い換えれば「アイデンティティ・人格」を侵害する行為から守るために、何かの権利が設定されることは妥当である。

一方で、顔の造形そのものはどうだろうか。
たしかにその人らしさは造形に宿るものだが、造形はあくまで造形である。その人らしさ・人格を別の権利で守るなら、その点については問題がない。
では何か権利を設定する妥当性があるのか? 生まれ持った形だから自然と権利がつく? ナンセンスだ。論理を用意してくれ。

では、造形そのものを真似るだけの化粧は何かを侵害しているだろうか?
ここまでの議論ではっきりした。
生まれ持った顔の造形を守る顔面権は妥当ではなく、化粧/メイクがそれを侵害するようなこともない

ボイスチェンジは声そのものの権利を侵害するか?

ボイスチェンジが声のメイク/化粧であること、また生まれ持った顔の造形そのものには権利が発生せず、そっくり顔への化粧はそれを侵害しえないことを述べた。
ここから導かれることは、
声そのものには権利が存在せず、そっくり声へのボイスチェンジは権利侵害となりえない
という重要な結論である。
それを論証するうえで、顔面権の議論と同じように、ここで重要なことは「声そのもの」と「人そのもの」を分けて考えること、さらに「演じられた音声」を分けて考えることである。
知人そっくりの声にボイスチェンジすることは、声そのものの権利 -いわば音紋権- の侵害にあたるだろうか?

ボイスチェンジをして知人を騙ったり、知人と誤解されるような動画をYouTubeへアップロードすることは看過できない。
それを守るため何らかの権利が設定されることは妥当であり、それは声に限らず人格を守るための様々な権利で既に保証されている。

また「演じられた音声」とも区別しなければならない。
演じられた音声とは、ある声をもった人がある台詞を読み感情をこめて表現したものである。作品と表現するのがしっくりくるであろう。
作品は「人そのもの」とはまた別の存在であり、創作活動を活発にするため作品に権利が設定されることには妥当性がある。
実態として、「演じられた音声」の作者にはその作品の権利が著作権という形で担保されている。

では「声そのもの」に権利は発生するだろうか。
声そのものは当然、しゃべられる内容すなわち台詞とは独立している。
一方で、ある人はある声を持っている、声には個性がある、と我々は感じる。
すなわち、声そのものとは、ある人から発せられる音の特徴を意味している。
たしかにその人らしさは声 = 音の特徴 に宿るものだが、声/音の特徴はあくまで声/音の特徴である。その人らしさ・人格を別の権利で守るなら、その点については問題がない。
具体的な音声作品も別の権利で守られているため、声を用いて生み出されたものも守られている。
では何か権利を設定する妥当性があるのか? 生まれ持った声だから自然と権利がつく? ナンセンスだ。論理を用意してくれ。

では、声そのものを真似るだけの化粧/メイク、すなわちボイスチェンジは何かを侵害しているだろうか?
ここまでの議論ではっきりした。
生まれ持った声そのものを守る権利は妥当ではなく、声の化粧/メイクたるボイスチェンジがそれを侵害するようなこともない

結論

ボイスチェンジは声のメイク/化粧だ。
知人そっくりのメイクをしたら、その人の顔面権侵害になるだろうか?
然るに、声のそのものの権利 - 音紋権 - は存在しない。

注意点

芸能人・声優という概念を持ち込むと別の議論軸が発生する。
端的にいうと、広く認知されたものに発生する商業的・財産的価値である。
パブリシティ権で議論される。
これは「声そのものの権利」とは異なる権利である
注意されたし.

声質変換・音声の前処理に関する知識・考察

まず生波形を見よ

全ては生波形に始まり生波形に終わる。
無音区間、音量、バックグラウンドノイズ、全てが波形に表現されている。
まずは生データ、これサイエンスの基本.

無音区間を切り出すべきか

残しまくるのは一般に良くないと思う。
無音を教師として学習してしまうから。

DeepVoice2 (textSeq2audioSeq) では、オーディオの開始タイムポイントがずれると良くなかったとのこと。前後の無音区間カットで対応

also find that if the speech in each audio clip does not start at the same timestep, the models are much less likely to converge to a meaningful attention curve and recognizable speech; thus, we trim all initial and final silence in each audio clip.

完全に切り落とすのもどうかと思う
語尾が不自然になりそうな予感

強度でざっくり切る方法もあるし、音素アラインメントして無音推定するのもある。

実装

librosa.effects.trim: 前後の無音区間を削除

librosa.effects.split: 無音で囲まれたオーディオを抜くための場所を検出して教えてくれる.

音量の正規化

モデルに強く依存しそう。

推論時の正規化+変換後逆正規化を前提として、
音量正規化した囁き声や怒鳴り声をサンプルに入れとくとか

囁き声を学習データに入れず、推論時に囁き声をVCできるか否か

リサンプリング

さすがにサンプリング周波数揃ってないとモデルに入れられないと思う

実装

librosa.core.load()がデフォルトでリサンプリングに対応している。標準では22050Hz
内部的にはresampy (指定すればscipy) を呼んでいる.

強度低次元化

μ-law 変換

音質

前段にノイズ抑制等を入れるべきか否か

雑音の付加

学習時: 綺麗なデータ+雑音 => 綺麗な生成データ
推論時: 雑音付きデータ => 綺麗な生成データ

Data argumentation

データ数はモデル性能へ非線形な影響を与える.
また話者によって性能が大きく異なり得ることも知られている.
parallel-wavenet

参考文献

必読
日本語 End-to-end 音声合成に使えるコーパス JSUT の前処理 [arXiv:1711.00354] - LESS IS MORE

AtomのFolding/Unfoldingで差をつけろ

折り重なったコードの山々を自由に飛び回りたい。さあFolding/Unfoldingの時間だ

結論

ショートカットとエディタ拡張を使え
(以下、コマンドはWindows準拠)

デフォルトのショートカットでスイスイ動く

class内の関数一覧を見たい場合は、level 2でunfoldすれば見える、最高.

ショートカット動かない場合

command palletでfoldって打てば、Editor: Fold ~ とかが出てくる、そこにショートカットキー書いてある.

参考文献

VCC2016データセット

Voice Conversion Challenge 2016(VCC 2016) データセットは、音声処理に有用な、パラレル音源データセットを提供してくれる。その特性をまとめる。

基本情報

10話者のパラレル発話1162+54センテンス2を含むデータセット.

  • S: Source
  • T: Target
  • M: male
  • F: female

を意味しており3、SF1 ~ SF3, SM1 & SM2, TF1 ~ TF3, TM1 & TM2の10話者データがある。
同じファイル名 (100001.wavなど) は同じ内容の発話 4
16 kHz5, 16-bit6, RIFF/WAVE format7の形式。 and 54 utterances for evaluation from each of 5 source and 5 target speakers, ref

ダウンロード

ここ
VCC training data: training data released to participants during the challenge (23.30Mb)には10話者各162発話の (challenge時にtrainingとして使われた) データがある。
evaluationがなんか歯抜けで入っており、よくわからない

url_prefix = 'https://datashare.is.ed.ac.uk/bitstream/handle/10283/2211/'
data_files = ['vcc2016_training.zip', 'evaluation_all.zip']

このリンクを使ってダウンロードすると全部取ってこれるのだが…なんなんだ?

1~6の引用元はここ
ref


  1. > Each speaker utters the same sentence

  2. > a common dataset consisting of 162 utterances for training

  3. > ’S' denotes ‘source’, ’T' denotes ‘target’, while ’M' and ‘F’ for ‘male’ and ‘female’, respectively.

  4. > The same file name means the same linguistic content

  5. > The sampling rate is 16 kHz

  6. > stored in 16-bit format.

  7. > The waveforms in the directory are in RIFF/WAVE format.

Rainbowgramsで音を可視化

レインボーグラム (Rainbowgrams) とは、音声を構成する周波数成分の強さおよび位相変化率を時間ごとに可視化した図である。正確には、音声の周波数領域時系列がもつ強度およびInstantaneous frequency (IF) を可視化した図である。
レインボーグラムは、強度の時間変化を表現する(パワー) スペクトログラムなどの手法と比べ、音声の重要な構成要素である位相も強度と同時に可視化できる利点がある1
横軸に時間、縦軸に周波数をとり、各点の対数パワーを輝度で2、IFを色調で3表現する。既存の音声可視化グラフと関連づけるならば、IFの色調表現を追加したスペクトログラムと言える4

www.youtube.com

見方

暗い ~ 明るい == 強度の弱い ~ 強い
色が一定 == 位相は一定 (coherent)
色が変化 == 位相が変化
斑点状の色変化 (speckled noise) がある == discontinuities, incoherent

スペクトログラムではない理由

スペクトログラムを見て非常に似ている場合でも、対応する音声が全く異なる場合があり、それは位相の違いに起因しているから5

位相ではなくInstantaneous freqeuncyな理由

図にしたときphaseは見た目上バラバラになるから。
周波数表現の時系列を求める際、波形は必ずframe (bin) 列へと分割されることになる (frameが一部重なることもある)。その際のframeストライド (hop size)と各成分の周期が整数倍にならない場合、frameごとに波の始まりがずれる、すなわち初期位相はずれることになる。
これを色調として表現した場合、ズレに合わせて色が変わっていくことになり、位相そのものの時系列変化がわかりづらくなる (変化する要因が2つあるから)。
幸い、このズレは線形であるから、位相に変化がなければ、位相の変化率すなわち位相の微分は一定値になるはずである (微分値がずれていれば位相変化を意味する)。
この、位相をunwrapして微分した値がInstantaneous frequencyであり、ゆえに位相変化を認知しやすいIFを位相変化の指標として色調にしている。

名前の由来

レインボーグラムという呼称は、IFを色調表現したスペクトログラム (レインボーグラム) が縦軸方向へ虹色に変化しやすいことに由来する6
IFはfframeとfsignal componentの違いに由来する。ゆえに自然と近傍の周波数成分…ん?初期位相表現できない…?

plots of the constant-q transform (CQT) (Brown, 1991), which is useful because it is shift invariant to changes in the fundamental frequency.

位相変化実験・位相検出実験

困難さの根源

Frame-based estimation of audio waveformsの難しさ。

いくつかのサブタイプ

log(power)を輝度、IFを色調で表現するのは共通。
ただし何のpowerかはいくつか種類がありそう

NSynth: constant-q transform (CQT)7

参考文献


  1. As phase plays such an essential part in sample quality, we have attempted to show both magnitude and phase on the same plot. (from NSynth paper)

  2. The intensity of lines is proportional to the log magnitude of the power spectrum (from NSynth paper)

  3. the color is given by the derivative of the unrolled phase (‘instantaneous frequency’) (from NSynth paper)

  4. instantaneous frequency colored spectrograms (from NSynth paper)

  5. two spectrograms that appear very similar to the eye can correspond to audio that sound drastically different due to phase differences.

  6. We affectionately refer to these instantaneous frequency colored spectrograms as ”Rainbowgrams” due to their tendency to form rainbows as the instantaneous frequencies modulate up and down.

  7. in our analysis we present examples as plots of the constant-q transform (CQT)