Facebook開源TTS神經網絡VoiceLoop:基於室外聲音的語音合成

2021-01-11 機器之心Pro

本文由機器之心編輯,「機器之心」專注生產人工智慧專業性內容,適合開發者和從業者閱讀參考。點擊右上角即刻關注。

近日,Facebook 在題為《Voice Synthesis for in-the-Wild Speakers via a Phonological Loop》的論文中提出一個文本轉語音(TTS)的新神經網絡VoiceLoop,它能夠把文本轉化為在室外採樣的聲音中的語音。目前 VoiceLoop 已在 GitHub 上開源並附有 PyTorch 實現。機器之心對論文摘要進行了編譯。論文與GitHub連結請見文中。

論文:Voice Synthesis for in-the-Wild Speakers via a Phonological Loop

論文地址:https://arxiv.org/abs/1707.06588

摘要:我們展示了一種新的文本轉語音的神經方法,該方法能夠將文本轉換成室外採樣的聲音的語音。與其他文本轉語音的系統不同,我們的解決方案能夠處理公眾演講中獲取的非約束樣本(unconstrained sample)。該網絡架構比現有的架構簡單,基於新型的移位緩衝工作儲存器(shifting buffer working memory)。同樣的緩衝用於評估注意力、計算輸出音頻以及更新緩衝。輸入句子通過包含每個字或音素的條目的上下文無關查找表(context-free lookup table)進行編碼。最後,說話者語音被簡單表徵為短向量,適用於生成語音裡新的說話者和可變性(variability),該語音通過在生成音頻之前啟動緩衝來獲得。在兩個數據集上的實驗結果證明該方法具備處理多個說話者和室外語音的能力。為了促進可重複性,我們公開了原始碼和模型:PyTorch 代碼和樣本音頻文件可在 ytaigman.github.io/loop 獲取。

該方法已在論文《Voice Synthesis for in-the-Wild Speakers via a Phonological Loop》詳細描述,以下是其 PyTorch 實現。

項目地址:https://github.com/facebookresearch/loop

VoiceLoop 是一個文本轉語音(TTS)的神經系統,能夠把文本轉化為在室外採樣的聲音中的語音。這裡有一些演示樣本(https://ytaigman.github.io/loop/site/)。

重要連結

演示樣本:https://ytaigman.github.io/loop/site/

快速入門:https://github.com/facebookresearch/loop#quick-start

設置:https://github.com/facebookresearch/loop#setup

訓練:https://github.com/facebookresearch/loop#training

快速啟動

在安裝中遵循以下指示,並簡單地執行以下命令:

python generate.py --npz data/vctk/numpy_features_valid/p318_212.npz --spkr 13 --checkpoint models/vctk/bestmodel.pth

結果將被放置在 models/vctk/results。它將生成兩個樣本:

生成樣本將會以 gen_10.wav 的擴展名保存。

它的真值(測試)樣本也被生成,並使用 orig.wav 擴展名保存。

你也可以用不同說話者的語音生成相同的文本,具體如下:

python generate.py --npz data/vctk/numpy_features_valid/p318_212.npz --spkr 18 --checkpoint models/vctk/bestmodel.pth

這將會生成以下樣本(https://ytaigman.github.io/loop/demos/vctk_tutorial/p318_212.gen_14.wav)。

下面是對應的注意力圖:

說明:X 軸是輸出時間(聲學樣本),Y 軸是輸入(文本/音素)。左圖是說話者 10,右圖是說話者 14

最後,該系統還支持自由文本:

python generate.py --text "hello world" --spkr 1 --checkpoint models/vctk/bestmodel.pth

安裝

需求:Linux/OSX、Python2.7 和 PyTorch 0.1.12。代碼當前版本需要 CUDA 支持訓練。生成將在 CPU 上完成。

git clone https://github.com/facebookresearch/loop.git

cd loop

pip install -r scripts/requirements.txt

數據

論文中用於訓練模型的數據可以通過以下方式下載:

bash scripts/download_data.sh

腳本下載 VCTK 的子集,並進行預處理。該子集包括美國口音的說話者。使用 Merlin 對該數據集進行預處理——使用 WORLD 聲碼器從每個音頻剪輯文件中抽取聲碼器特徵。下載完成後,該數據集將位於子文件夾 data 下,如下所示:

loop

├── data

└── vctk

├── norm_info

│ ├── norm.dat

├── numpy_feautres

│ ├── p294_001.npz

│ ├── p294_002.npz

│ └── ...

└── numpy_features_valid

使用 Kyle Kastner 的腳本執行預處理管線,腳本連結:https://gist.github.com/kastnerkyle/cc0ac48d34860c5bb3f9112f4d9a0300。

預訓練模型

通過以下方式下載預訓練模型:

bash scripts/download_models.sh

下載完成後,模型在子文件夾 models 下,如下所示:

loop

├── data

├── models

├── vctk

│ ├── args.pth

│ └── bestmodel.pth

└── vctk_alt

最後,語音生成需要 SPTK3.9 和 WORLD 聲碼器,正如 Merlin 中一樣。使用下列方式下載可執行程序:

bash scripts/download_tools.sh

然後得到以下子目錄:

loop

├── data

├── models

├── tools

├── SPTK-3.9

└── WORLD

訓練

在 vctk 上訓練一個新模型,首先使用水平為 4 的噪聲訓練模型,輸入長度為 100 的序列:

python train.py --expName vctk --data data/vctk --noise 4 --seq-len 100 --epochs 90

之後,在全長序列上使用水平為 2 的噪聲繼續訓練模型:

python train.py --expName vctk_noise_2 --data data/vctk --checkpoint checkpoints/vctk/bestmodel.pth --noise 2 --seq-len 1000 --epochs 90

引用

如果你覺得這些代碼對你的研究有所幫助,請引用:

@article{taigman2017voice,

title = {Voice Synthesis for in-the-Wild Speakers via a Phonological Loop},

author = {Taigman, Yaniv and Wolf, Lior and Polyak, Adam and Nachmani, Eliya},

journal = {ArXiv e-prints},

archivePrefix = "arXiv",

eprinttype = {arxiv},

eprint = {1705.03122},

primaryClass = "cs.CL",

year = {2017}

month = July,

}

許可

Loop 有 CC-BY-NC 許可。

相關焦點

  • 語音合成方法概述與總結
    參數法:基於深度神經網絡的蒙古語語音合成方法端到端語音合成基於情感的語音合成straight語音合成參數選擇特徵參數選擇HMM 對聲音特徵的適應性和魯棒性高、需要較小的計算代價和在 訓練數據較少的時候有更好的表現[3]等諸多優點,使其 長期成為語音合成方法的主流技術。
  • 基於DL的中文語音識別系統ASRT開源
    2月11日消息,一套基於深度學習實現的語音識別系統ASRT(全稱Auto Speech Recognition Tool),由AI檸檬博主開發並在GitHub上開源(GPL 3.0 協議)。本項目聲學模型通過採用卷積神經網絡和連接性時序分類方法,使用大量中文語音數據集進行訓練,將聲音轉錄為中文拼音,並通過語言模型,將拼音序列轉換為中文文本。
  • 資源| 讓手機神經網絡速度翻倍:Facebook開源高性能內核庫QNNPACK
    選自code.fb作者:MARAT DUKHAN、YIMING WU、HAO LU機器之心編譯機器之心編輯部今天,Facebook 開源了一個高性能內核庫——QNNPACK,專為移動 AI 進行優化。該內核庫加速了許多運算,如深度類型的卷積,促進了神經網絡架構的使用。
  • Facebook開源物體識別工具Detectron,加速計算機視覺研究
    不久前,FAIR才開源了語音識別的工具wav2letter,戳這裡看大數據文摘介紹《快訊 | Facebook開源語音識別工具包wav2letter》。針對Detectron的開源,研究員Ross Girshick發表了一篇博客,具體介紹了該開源平臺的性能。
  • 基於Tacotron2實現中文語音合成,免去調試環節,輕鬆上手
    語音合成技術被廣泛應用於人機互動場景,如手機語音助手、地圖導航、智能音箱、文章聽讀等,返回的結果會以語音方式播報。語音合成翻譯成英文是Text-To- Speech,簡稱為TTS。語音合成常見算法WaveNet由谷歌2016年提出,是一種能產生原始音頻波的神經網絡算法,它還適用於文字生成、圖像生成等場景,後續的語音合成模型中很多參考了它的一些技術思路,它的一個明顯缺點是合成速度很慢,慢到你懷疑人生。
  • 基於神經網絡算法 羊毛_基於pso算法和bp算法訓練神經網絡 - CSDN
    圖神經網絡是用於圖結構數據的深度學習架構,將端到端學習與歸納推理相結合,業界普遍認為其有望解決深度學習無法處理的因果推理、可解釋性等一系列瓶頸問題,是未來 3 到 5 年的重點方向。2019 年圖神經網絡有哪些研究成果值得關注?2020 年它又將朝什麼方向發展?讓我們一起來一探究竟。
  • 阿里開源自研語音識別模型 DFSMN,準確率高達96.04%
    近日,阿里巴巴達摩院機器智能實驗室開源了新一代語音識別模型DFSMN,將全球語音識別準確率紀錄提高至96.04%。這一數據測試基於世界最大的免費語音識別資料庫LibriSpeech。
  • 基於複數神經網絡首發量子機器學習開發工具 「量槳」,飛槳布局...
    (圖:百度首席技術官王海峰)百度集團副總裁、深度學習技術及應用國家工程實驗室副主任吳甜正式對外發布飛槳最新的全景圖,包含飛槳開源深度學習平臺和飛槳企業版兩部分。飛槳開源深度學習平臺部分,包含核心框架、基礎模型庫、端到端開發套件與工具組件,持續開源核心能力,為產業、學術、科研創新提供基礎底座。
  • [論文分享]用GAN從MFCC合成語音波形
    這篇文章提出了一種從濾波器組梅爾頻率倒譜係數(MFCC)生成語音的方法,該方法廣泛用於語音應用程式(例如ASR)中,但通常被認為無法用於語音合成。首先,我們使用自回歸遞歸神經網絡預測MFCC的基本頻率和聲音信息。
  • 科研人員提出一種基於卷積循環神經網絡的單通道漸進語音增強方法
    在複雜的聲學應用場景中,語音信號易受到環境噪聲與房間混響的影響,給自動語音識別和語音通信帶來較大的幹擾。儘管目前基於深度學習的單通道語音增強方法可有效抑制幹擾成分,但這些方法的網絡參數量較大且運算複雜度較高,難以應用於低功耗設備。
  • 7 Papers|MIT學神開源微分太極;北大等提出沒有乘法的神經網絡
    機器之心&ArXiv Weekly Radiostation參與:杜偉、楚航、羅若天本周的重要論文有 MIT 學神胡淵鳴等開源的自動微分版太極以及北大、華為諾亞方舟實驗室等主張以加法運算代替深度神經網絡中的乘法運算。
  • 語音識別開源工具PyTorch-Kaldi:兼顧Kaldi效率與PyTorch靈活性
    機器之心原創作者:Nurhachu Null本文主要介紹用於語音識別的開源工具——PyTorch-Kaldi。高性能的語音識別給我們帶來了更多的生活體驗,我們擁有了可以對話的智能數字助手;它也在逐步改善相關領域的生產力水平。和很多偉大技術的應用一樣,語音識別技術的背後也是很多模塊的組合。對其實現流程的改進往往會從一定程度上節省開發成本,並且加快技術迭代的速度。Pytorch-Kaldi 的出現就是基於這樣的動力。
  • Facebook AI的DETR,一種基於Transformer的目標檢測方法
    今天,Facebook開源了一個這樣的框架,DETR(DEtection TRansformer)在本文中,我們將快速了解目標檢測的概念,然後直接研究DETR及其帶來的好處。目標檢測在計算機視覺中,目標檢測是一項任務,我們希望我們的模型將對象與背景區分開,並預測圖像中存在的對象的位置和類別。
  • 微軟語音 AI 技術與微軟聽聽文檔小程序實踐|AI ProCon 2019
    2006年左右,基於HMM模型的合成技術興起,它的好處是非常平滑,但是也帶來負作用,就是聲音過於平滑,讓人聽出來覺得不夠具有表現力。深度學習的興起在合成領域也得到了應用,最近兩三年推出的神經網絡TTS,是語音合成技術的突破。谷歌提出來Tacotron, WaveNet這些模型,把語音自然度提升新的水平。
  • 橫評:五款免費開源的語音識別工具
    為此,我們對比了五款基於 HMM 和 N-gram 模型的語音識別工具:CMU Sphinx,Kaldi,HTK,Julius 和 ISIP。它們都是開源世界的頂級項目,與 Dragon 和 Cortana 等商業語音識別工具不同,這些開源、免費的工具可以為開發者提供更大的自由度以及更低的開發成本,因此在開發圈始終保持著強大的生命力。
  • 教程 | 如何使用TensorFlow構建、訓練和改進循環神經網絡
    目前有很多人工智慧應用都依賴於循環深度神經網絡,在谷歌(語音搜索)、百度(DeepSpeech)和亞馬遜的產品中都能看到RNN的身影。然而,當我們開始著手構建自己的 RNN 模型時,我們發現在使用神經網絡處理語音識別這樣的任務上,幾乎沒有簡單直接的先例可以遵循。
  • 速度、準確率與泛化性能媲美SOTA CNN,Facebook開源高效圖像...
    DeiT 方法由 Facebook AI 與索邦大學的 Matthieu Cord 教授合作開發,目前代碼已開源。研究者在最初用於卷積神經網絡的現有研究基礎上進行了調整與改進,並提出了一種基於蒸餾 token 的新型蒸餾流程,它的作用與 class token 相同,不過其目的在於複製教師網絡估計的標籤。實驗結果表明,這種特定 transformer 策略大幅度優於 vanilla 蒸餾方法。蒸餾流程如下圖所示。
  • 教程| 如何使用TensorFlow構建、訓練和改進循環神經網絡
    目前有很多人工智慧應用都依賴於循環深度神經網絡,在谷歌(語音搜索)、百度(DeepSpeech)和亞馬遜的產品中都能看到RNN的身影。然而,當我們開始著手構建自己的 RNN 模型時,我們發現在使用神經網絡處理語音識別這樣的任務上,幾乎沒有簡單直接的先例可以遵循。