ichou1のブログ

主に音声認識、時々、データ分析のことを書く

python

音声合成メモ(tacotron2その3)

内部処理を見てみる。今回は、音声ファイルから特徴量(log-mel spectrogram)を求めるところまで。ソースでは、「mel_spectrogram」関数が該当する。 https://github.com/NVIDIA/tacotron2/blob/master/layers.py#L63 def mel_spectrogram(self, y): """Com…

音声合成メモ(tacotron2その1)

NVIDIAのtacotron2を試してみる。GitHub - NVIDIA/tacotron2: Tacotron 2 - PyTorch implementation with faster-than-realtime inferenceまずは、Pre-trainedモデルを使ってinference(推論)「ちいさなうなぎやに」という音声を生成してみる。 text = 'che…

音声認識メモ(DeepSpeech)その3

トレーニングによるパラメータ更新を試してみる。トレーニングデータは、下記で公開されているATR音素バランス503文の発話データを使うことにする。 https://ja.osdn.net/projects/galateatalk/releases/22207日本語コーパスを使った音素認識については下記…

音声認識メモ(DeepSpeech)その1

Mozillaが公開する「DeepSpeech」を試してみる。 github.com環境準備(インストール) % pip install deepspeech% pip show deepspeech Name: deepspeech Version: 0.7.0 Summary: A library for running inference on a DeepSpeech model Home-page: https:…

音声ファイル特徴量変換(その6)MFCC(TensorFlow)

TensorFlowでMFCC(Mel-Frequency Cepstral Coefficient)を求めるには、「tf.signal.mfccs_from_log_mel_spectrograms」関数が提供されている。tf.signal.mfccs_from_log_mel_spectrograms | TensorFlow Core v2.1.0インプットは、前回見た、「メルスペクト…

音声ファイル特徴量変換(その5)メルスペクトログラム(TensorFlow)

TensorFlowでメルスペクトログラムを求めるには、「tf.signal.linear_to_mel_weight_matrix」関数が提供されている。 https://www.tensorflow.org/api_docs/python/tf/signal/linear_to_mel_weight_matrixMelスケールに変換するためのMatrixが得られるので、…

音声ファイル特徴量変換(その4)STFT(TensorFlow)

TensorFlowで短時間フーリエ変換(Short-time Fourier Transform)を求めるには、「tf.signal.stft」関数が提供されている。 https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/signal/stft音声データは「yes」という一秒間の発話データ。 「li…

音声ファイル特徴量変換(その3)MFCC

前回の続き。「MFCC」(メル周波数ケプストラム係数)について見ていく。ここでは、視覚的な結果確認のみ書くので、計算過程などは以下をご参照。 work-in-progress.hatenablog.com音声データは「yes」という一秒間の発話データ。 MFCC(メル周波数ケプストラ…

音声ファイル特徴量変換(その2)メルスペクトログラム

前回の続き。「log-mel spectrogram」(STFT+メル周波数変換+自然対数)について見ていく。音声データは「yes」という一秒間の発話データ。 log-mel spectrogram メル周波数(対数変換なし) メル尺度に変換する。 import librosa import numpy as np # Au…

音声ファイル特徴量変換(その1)STFT

音声データを使う際は特徴量に変換する。 よく使われているのは「MFCC」だが、深層学習では「log-mel spectrogram」を使う実装例も出ている。 特徴量 実装例 STFT Looking to Listen at the Cocktail Party log-mel spectrrogram Deep Learning for Audio Si…

音声ファイル前処理(データロード)

例えばTensorFlowなどの深層学習ライブラリで音声を扱おうとした時、どのような変換をしているのか把握していないと応用が効かないし、詰まってしまう。 基本的なところからまとめ直してみる。前回のTensorFlowチュートリアルに出てくる"yes"の音声データを…

Kerasメモ(BERTその4)

前回の続き。Transformerを構成するFeedForwardレイヤを見てみる。論文「Attention Is All You Need」からの抜粋。 In addition to attention sub-layers, each of the layers in our encoder and decoder contains a fully connected feed-forward network,…

Kerasメモ(BERTその3)

前々回の続き。Transformerを構成するMultiHeadAttentionレイヤを見てみる。MultiHeadAttentionレイヤのインプットの形状が(bathc_size, 512, 768)、「head_num」が「12」である場合、並列化は下図のとおりとなる。 図中の「Wq」、「Wk」、「Wv」、「Wo」はM…

Kerasメモ(BERTその2)

前回の続き。Position Embeddingレイヤを見てみる。 model.summary Layer (type) Output Shape Param # ========================================================================== Embedding-Position (PositionEmbedding) (None, 512, 768) 393216 ====…

Kerasメモ(BERTその1)

BERT(Bidirectional Encoder Representations from Transformers)を試してみる。論文には2種類のモデルが掲載されている。 the number of layers (i.e., Transformer blocks) as L the hidden size as H the number of self-attention heads as ABERT(BASE)…