Upgrade to Pro — share decks privately, control downloads, hide ads and more …

理想の声を目指して 〜七声ニーナの音声変換技術からライブ配信応用へ〜【DeNA TechCon 2022】

理想の声を目指して 〜七声ニーナの音声変換技術からライブ配信応用へ〜【DeNA TechCon 2022】

本発表では、AI研究開発部音声チームが開発している音声変換技術について紹介します。音声変換とは自分の声を別人の声に変える技術です。近年、VTuber、ライブ配信、ボイスチャット、メタバースなどの盛り上がりにともない、自分の声を好みの声やお気に入りのキャラクターの声に変えたいという需要が高まっており、我々はその実現に向けて取り組んでいます。

現在開発中の音声変換技術は「VOICE AVATAR 七声ニーナ」というWebサービスで使われています。七声ニーナは、「AIを用いた完全なキャラクター声の再現」を目指して、従来では難しかった誰の声からでもキャラクターの声へと変換できる音声変換を、洗練されたUIと親しみ易いキャラクターと共にお届けしました。

その七声ニーナの立ち上げと運用を経て受け止めた皆様の熱い想いを振り返るとともに、今後どのような形で昇華していくか?音声変換技術のライブ配信アプリへの導入を見据えた、リアルタイム化に関する取り組みを、研究開発の最前線からお伝えします。

資料内でのリンク集:
p30, https://dena.ai/story/nanakoe-nina/
p33, https://engineering.dena.com/blog/2021/04/voice-avatar-backend/
p34-1, https://fastapi.tiangolo.com/
p34-2, https://pgjones.gitlab.io/hypercorn/
p36-1.2, https://design.dena.com/design/nanakoe-nina2
p37, https://design.dena.com/design/nanakoe-nina
p44, https://github.com/aiortc/aiortc
p45-1, https://www.jstage.jst.go.jp/article/jasj/73/7/73_404/_pdf
p45-2, https://caniuse.com/?search=webassembly
p47, https://superpowered.com/webbrowserlatency
p48-1.2, https://android-developers.googleblog.com/2021/03/an-update-on-androids-audio-latency.html
p52, https://ai.googleblog.com/2019/03/an-all-neural-on-device-speech.html
p54-1, https://github.com/KinWaiCheuk/nnAudio
p54-2, https://github.com/keunwoochoi/kapre
p55-1, https://github.com/open-mmlab/mmdeploy
p55-2, https://openmmlab.com/
p55-3, https://mmdeploy.readthedocs.io/en/latest/tutorials/how_to_support_new_models.html?highlight=Function#function-rewriter
p55-4, https://github.com/open-mmlab/mmdeploy
p57, https://dena.ai/

◆ You Tube
https://youtu.be/97Shx8I4KI8

◆ You Tube チャンネル登録はこちら↓
https://youtube.com/c/denatech?sub_confirmation=1

◆ Twitter
https://twitter.com/DeNAxTech

◆ DeNA Engineering
https://engineering.dena.com/

◆ DeNA Engineer Blog
https://engineering.dena.com/blog/

◆ DeNA TechCon 2022 公式サイト
https://techcon2022.dena.dev/spring/

8a84268593355816432ceaf78777d585?s=128

DeNA_Tech
PRO

March 17, 2022
Tweet

More Decks by DeNA_Tech

Other Decks in Technology

Transcript

  1. 理想の声を目指して 七声ニーナの音声変換技術からライブ配信応用へ 森 紘一郎 竹村 伸太郎

  2. 自己紹介 森 紘一郎 2005年〜2017年 株式会社東芝 • 機械学習、音声合成の研究開発・事業化に従事 2017年〜 株式会社ディー・エヌ・エー •

    データ統括部 AI研究開発部 音声チーム • 音声感情認識、音声合成、音声変換 など音声 x AIの研究開発に従事
  3. 1. 音声変換とは 2. VOICE AVATAR 七声ニーナ 音声変換とはどのような技術か? 最先端の音声変換研究の動向 音声変換Webサービス七声ニーナの紹介 七声ニーナで使っている音声変換技術

    3. リアルタイム音声変換 リアルタイム音声変換に向けた取り組み アジェンダ 4. 七声ニーナの立ち上げと振り返り 5. 七声ニーナで魅せたかった未来 七声ニーナの立ち上げを経て ユーザの想いを受け止めての振り返り WebRTC、そしてWebAssemblyという技術的選択肢 Webサービスとして低遅延音声変換を扱うことの難しさ 6. Webからネイティブへの挑戦 AIの進歩と端末性能の向上が、新たなUXを切り開く モデルのポータビリティを高めネイティブに挑む
  4. 音声変換(Voice Conversion)とは 音声変換は、発話内容を変えずに、話者性(声色)を変える音声AI技術 こんにちは こんにちは ソース話者 ターゲット話者

  5. 音声変換のアプリケーション DeNAでは音声変換のゲーム・エンタメ領域での適用を想定 • 自分の声をよりかっこいい・かわいい・好みの声にして動画配信 • アバターキャラクターになりきってライブ配信 • ゲームプレイ中に特定キャラクターの声で音声チャット • メタバースでアバターの声を変える

  6. 発話内容と声色の分離 音声を発話内容と声色に分離(disentangle)し、言語内容はそのままで 声色のみを別の声色に変換(convert)するのが音声変換 発話内容 声色A 声色B disentangle convert こんにちは ※発話内容を明示的に用いない音声変換手法もある

    発話内容 声色(話者性) イントネーション 感情 ソース話者 ターゲット話者
  7. Q. 音声認識や音声合成とは何が違うの? 音声認識 音声をテキストに変換する技術 音声合成 テキストを音声に変換する技術 発話内容 話者性A 話者性B ソース話者 ターゲット話者 ≒音声認識

    ≒音声合成 ≒話者認識 音声変換は、処理の前半部分が音声認識、後半部 分が音声合成の技術と関連がある
  8. 音声変換の処理フロー Content Encoder Decoder 発話内容 Speaker Encoder 入力音声から発話内容を 抽出する 発話内容と話者性から

    変換音声を生成する 話者性 話者性を抽出する こんにちは ソース話者 ターゲット話者
  9. あ 主なアプローチ 音声認識ベース • PPG-VC • ConVoice 音声合成ベース • Voice

    Transformer Net • TTL-VC Autoencoderベース • VQ-VAE-VC • AutoVC GANベース • CycleGAN-VC • StarGAN-VC 詳細を知りたい方は こちらの記事がおすすめ
  10. アジェンダ 4. 七声ニーナの立ち上げと振り返り 七声ニーナの立ち上げを経て ユーザの想いを受け止めての振り返り 5. 七声ニーナで魅せたかった未来 WebRTC、そしてWebAssemblyという技術的選択肢 Webサービスとして低遅延音声変換を扱うことの難しさ 6.

    Webからネイティブへの挑戦 AIの進歩と端末性能の向上が、新たなUXを切り開く モデルのポータビリティを高めネイティブに挑む 1. 音声変換とは 2. VOICE AVATAR 七声ニーナ 音声変換とはどのような技術か? 最先端の音声変換研究の動向 音声変換Webサービス七声ニーナの紹介 七声ニーナで使っている音声変換技術 3. リアルタイム音声変換 リアルタイム音声変換に向けた取り組み
  11. VOICE AVATAR 七声ニーナ ブラウザで簡単に音声変換を体験できるサービス 誰の声でも七声ニーナというキャラクターの声に変換できる

  12. 七声ニーナで目指した音声変換 1. 誰の声でも七声ニーナの声に変換できる(Any-to-One) 2. 利用者の音声の事前収録は不要 3. 変換音声の品質がよい 4. 音声変換がCPUでできるほど高速であること 5.

    入力音声のイントネーションや感情が変換音声に 反映される
  13. 七声ニーナのデモ

  14. 七声ニーナの音声変換アーキテクチャ • 誰の声でも七声ニーナの声色に変換する(Any-to-One)のために入力音声から音素 表現を抽出する音声認識ベースアプローチを採用 • 音素表現に落とし込むことで入力話者の話者性を完全に消せる • CPUでリアルタイム動作するほど軽量で高速な音素認識モデルと音声生成モデルを組 み合わせたアーキテクチャを利用 音素認識

    モデル 音声生成 モデル k o n n i ch i w a こんにちは こんにちは 音素表現
  15. イントネーションが反映されない課題 • 音素認識で音素表現に落とし込むと入力音声のイントネーションが消失 • 変換音声に入力音声のイントネーションが全く反映されないという結果に 音素認識 モデル 音声生成 モデル k

    o n n i ch i w a こんにちは こんにちは 音素表現 ❌イントネーション
  16. イントネーション情報の注入 音素認識 モデル 音声生成 モデル k o n n i

    ch i w a こんにちは こんにちは 音素表現 イントネーション • 音素認識モデルにイントネーションを予測するモジュールを新たに追加 • 入力音声のイントネーションを変換音声に反映させることができた
  17. イントネーション反映のデモ (例1)ありがとう、ありがとう(方言) (例2)いい人じゃない(否定・肯定・称賛) 入力音声 イントネーション反映前 イントネーション反映後

  18. 七声ニーナに欲しい機能

  19. アジェンダ 4. 七声ニーナの立ち上げと振り返り 七声ニーナの立ち上げを経て ユーザの想いを受け止めての振り返り 5. 七声ニーナで魅せたかった未来 WebRTC、そしてWebAssemblyという技術的選択肢 Webサービスとして低遅延音声変換を扱うことの難しさ 6.

    Webからネイティブへの挑戦 AIの進歩と端末性能の向上が、新たなUXを切り開く モデルのポータビリティを高めネイティブに挑む 1. 音声変換とは 2. VOICE AVATAR 七声ニーナ 音声変換とはどのような技術か? 最先端の音声変換研究の動向 音声変換Webサービス七声ニーナの紹介 七声ニーナで使っている音声変換技術 3. リアルタイム音声変換 リアルタイム音声変換に向けた取り組み
  20. リアルタイム音声変換を目指して • 七声ニーナは録音→変換→再生というバッチ変換の枠組み ◦ バッチ変換の使い道は限られる ◦ 音声合成の代わりにナレーション音声として使った方がいて興味深い • ライブ配信や音声チャットで音声変換を使うには録音とほぼ同時に 変換音声を再生(配信)するリアルタイム変換が必要

  21. リアルタイム音声変換の基本 入力音声を短いブロックという単位に分割し、ブロックごとに録音 ・変換・再生を繰り返す

  22. リアルタイム音声変換の実装 _ ブロックベース音声変換 入力リング バッファ 出力リング バッファ _ 遅延

  23. ライブ配信応用で要求される音声変換 1. 安定性 何を話しているか明瞭で容易に聞き取れる 2. 低遅延 変換音声を聴きながら配信しても発話の邪魔にならない 3. 声色の多様性・制御性 配信者のキャラクターにあった、自分好みの

    オリジナルな声色を簡単に作れること
  24. 七声ニーナの技術で達成できるか? 1. 安定性 2. 低遅延 3. 声色の多様性・制御性 七声ニーナの技術を リアルタイム音声変換に 発展させるのは残念ながら

    厳しいという結論
  25. 安定性と低遅延にトレードオフがある _ ブロックサイズを できるだけ短くする 音声変換モデルを軽量 化・最適化して高速に する 音声認識の精度が下がる 安定性が下がる

  26. 声の多様性を出すのが厳しい _ 七声ニーナの音声だけ使って訓練している 七声ニーナの声色以外は生成できない

  27. ライブ配信応用に適した音声変換アプローチは? • 安定性を上げるために音素認識を使わない • 低遅延化するためにブロック長を短くしても安定性が高い • パラメータを操作することでさまざまな声色を作り出せる

  28. 音声変換パートのまとめ • ライブ配信やメタバースなど音声変換の需要は高まると期待 • 第一弾としてVOICE AVATAR 七声ニーナをリリース • さらなる活用のためにはリアルタイム変換が必須 •

    ライブ配信活用を目指して安定性、低遅延、 声の多様性や制御性を重視したリアルタイム 音声変換技術を作りたい
  29. 1. 音声変換とは 2. VOICE AVATAR 七声ニーナ 音声変換とはどのような技術か? 最先端の音声変換研究の動向 音声変換Webサービス七声ニーナの紹介 七声ニーナで使っている音声変換技術

    3. リアルタイム音声変換 リアルタイム音声変換に向けた取り組み 実装編 アジェンダ 4. 七声ニーナの立ち上げと振り返り 5. 七声ニーナで魅せたかった未来 七声ニーナの立ち上げを経て ユーザの想いを受け止めての振り返り WebRTC、そしてWebAssemblyという技術的選択肢 Webサービスとして低遅延音声変換を扱うことの難しさ 6. Webからネイティブへの挑戦 AIの進歩と端末性能の向上が、新たなUXを切り開く モデルのポータビリティを高めネイティブに挑む
  30. 自己紹介 竹村 伸太郎 2007年〜2019年 株式会社バンダイナムコゲームス/スタジオ • リアルタイムCGの研究やデータ分析基盤の構築などに従事 • CEDEC 2011/2015/2017/2019,

    Microsoft de:code 2019 で登壇 2020年〜 株式会社ディー・エヌ・エー • データ統括部AI基盤部所属 MLエンジニア • クラウドからエッジまでAI技術の実用化を様々な領域で担当 • VOICE AVATAR 七声ニーナの開発・運用 詳しくは DeNA×AI 対談記事をご覧ください • CEDEC 2021 にて下記テーマで登壇 「エンタメから社会課題、チームで乗り越えた音声AIの研究 開発と実用化」
  31. 1. 音声変換とは 2. VOICE AVATAR 七声ニーナ 音声変換とはどのような技術か? 最先端の音声変換研究の動向 音声変換Webサービス七声ニーナの紹介 七声ニーナで使っている音声変換技術

    3. リアルタイム音声変換 リアルタイム音声変換に向けた取り組み 実装編 アジェンダ 4. 七声ニーナの立ち上げと振り返り 5. 七声ニーナで魅せたかった未来 七声ニーナの立ち上げを経て ユーザの想いを受け止めての振り返り WebRTC、そしてWebAssemblyという技術的選択肢 Webサービスとして低遅延音声変換を扱うことの難しさ 6. Webからネイティブへの挑戦 AIの進歩と端末性能の向上が、新たなUXを切り開く モデルのポータビリティを高めネイティブに挑む
  32. 七声ニーナの立ち上げと振り返り • 七声ニーナの立ち上げを経て ◦ リリース直後、想定を遥かに上回る反響を頂いた ◦ 同時公開の DeNA Engineering Blogが想定外のバズり方をした

    ◦ スケーラビリティ最優先の実装で安定運用を実現 ◦ タイトな開発スケジュールをチーム間連携で克服 • ユーザーの想いを受け止めての振り返り ◦ 音声変換品質を100%保証できないことは想定していた ◦ 社内レビューでは、変換音声の品質が相対的に低い結果に ◦ それでも、幸いにして好感度高くユーザーに受け入れられた
  33. リリース直後、想定を遥かに上回る反響を頂いた • 当初 10万回/年 の音声変換利用数を見込んでいた • 実際には、1日を経たずして 10万回の利用を達成 • その後も継続的なアクセスが続き、最終的に

    77万回以上利用された 同時公開の DeNA Engineering のBlogが想定外のバズり方をした • 七声ニーナは 40を超えるメディアに掲載され、Engineering Blogの引用も多数あった • ”幸運にも、百戦錬磨のプロジェクトメンバーに助けられ” と釘は指したが… • 入社1年目の部署横断企画が社内投票で採択、という点がクローズアップされ過ぎた 竹村 伸太郎, 七声ニーナを支えるバックエンド技術, DeNA Engineering, 2021
  34. スケーラビリティ最優先の設計で安定運用を実現 • トラフィックのピークはYahoo News掲載の 深夜23時頃! ◦ サーバレス主体のシステム構成で難なく乗り切る • 以下の工夫でスケーラビリティとレスポンス速度が向上 ◦

    I/O boundな音声ファイルCRUD API ▪ FastAPIによる非同期処理主体の軽量なAPI実装 ▪ 並列度を上げることでCold Startの影響を最小化 ▪ HypercornのHTT` P/2でレスポンス全般を高速化 ◦ CPU boundな音声変換API ▪ 高負荷な計算を伴うため、並列度は上られない ▪ 代わりに録音前の暖機運転で、Cold Startの影響を最小化 ◦ API間のリアルタイム連携 ▪ Cloud Firestoreのリアルタイムリスナー機能の活用 I/O bound API (Cloud Run) CPU bound API (Cloud Run) Realtime Listener (Cloud Firestore)
  35. タイトな開発スケジュールをチーム間連携で克服 以下の事前準備を伴う、Webフロントエンドチームとの円滑な連携が、短期間での成果に繋がった • 録音から変換音声の再生まで一連の挙動が把握可能な、Flutter製プロトタイプ • すべてのAPIを漏れなく検証できる Swagger UI (管理ツール的なもの) •

    画面上の状態遷移と呼び出すべきAPIを紐づけるドキュメント 当時用意したプロトタイプのAPI仕様書とスクリーンショットを一部抜粋したもの
  36. 音声変換品質を100%保証できないことは想定していた • 誰の声でも、どんな雑音が入っても、100%音声認識に成功するシステムなんて世の中にない • それは音声認識ベースのアプローチを採用する七声ニーナでも同じ • AIあるあるの不確実性を想定した上での取り組みだった それは DeNA Design「VOICE

    AVATAR 七声ニーナ キャラデザ編」キャラクター設定資料内の “自分がまだWIP(作り途中)であるポンコツっぷりはわかっているが” といったワードから察して頂ければ幸い 岩朝 暁彦, VOICE AVATAR 七声ニーナ キャラデザ編, DeNA Design, 2021
  37. 社内レビューでは、変換音声の品質が相対的に低い結果に • 洗練されたUXも味方し、総合評価として「良い」以上の評価が7割を占めた • 一方で開発陣の予想通り、結果が個人差や録音環境に依存する変換音声の品質は評価が分かれた 樋口 耕正, VOICE AVATAR 七声ニーナのリリースまでを振り返る,

    DeNA Design, 2021
  38. それでも、幸いにして好感度高くユーザーに受け入れられた 七声ニーナについて、85%の方から「好き」との回答を頂いた

  39. まとめ • 七声ニーナをリリースしてよかったこと ◦ リリース直後の突発的なトラフィック増にも耐え、打ち上げ成功 ◦ 反響から、音声変換という技術に関心やニーズがあることを示せた ◦ アンケート結果から、好感度高く受け止められたことが伺えた •

    七声ニーナの開発で工夫したこと ◦ サーバレス主体の設計で、安定かつ低コストな運用を実現した ◦ フロントエンドチームと円滑に連携できるよう、管理ツールや資料を整備 • 七声ニーナのユーザーから求められたもの ◦ 長時間利用できる、リアルタイム音声変換
  40. 1. 音声変換とは 2. VOICE AVATAR 七声ニーナ 音声変換とはどのような技術か? 最先端の音声変換研究の動向 音声変換Webサービス七声ニーナの紹介 七声ニーナで使っている音声変換技術

    3. リアルタイム音声変換 リアルタイム音声変換に向けた取り組み アジェンダ 4. 七声ニーナの立ち上げと振り返り 5. 七声ニーナで魅せたかった未来 七声ニーナの立ち上げを経て ユーザの想いを受け止めての振り返り WebRTC、そしてWebAssemblyという技術的選択肢 Webサービスとして低遅延音声変換を扱うことの難しさ 6. Webからネイティブへの挑戦 AIの進歩と端末性能の向上が、新たなUXを切り開く モデルのポータビリティを高めネイティブに挑む
  41. 七声ニーナで魅せたかった未来 • WebRTC、そしてWebAssemblyという技術的選択肢 ◦ ゼロからの再実装を意味するリアルタイム対応 ◦ 最速でPoCを終えるためのWebRTCという選択 ◦ 究極の低遅延を求め、WebAssemblyへと模索は続く •

    Webサービスとして低遅延音声変換を扱うことの難しさ ◦ そして気づいたWeb Audio自体の遅延の大きさ ◦ Webサービスとネイティブアプリの埋まらない溝
  42. ゼロからの再実装を意味するリアルタイム対応 REST APIは双方向のリアルタイム通信に適さない。再実装を覚悟で、以下の選択肢を検討した。 • WebSocket ◦ 最も歴史が古く、対応ブラウザが多いというメリットあり ◦ ただしTCPベースで、Head of

    Line Blocking問題を抱えるため低遅延の維持が困難 • WebRTC ◦ 動画や音声の通信に用途が限定されるが、フロントエンド側の実装(JS)は容易 ◦ P2Pを想定しており、Server-Client型よりバックエンドのインフラ構築・運用が難しい • WebTransport + WebCodecs API ◦ 柔軟性の高い低レベルAPIを持ち、TCP/UDP両方が扱える万能手法 ◦ だが標準サポートしているブラウザが著しく限られる ▪ WebCodecs API → 2021年9月リリースのChrome 94以降 ▪ WebTransport → 2022年1月リリースのChrome 97以降
  43. 最速でPoCを終えるためのWebRTCという選択 結論から述べると、PoCとしてWebRTCを選択した WebRTCを選択した場合のリアルタイム音声変換サービス概略図

  44. 最速でPoCを終えるためのWebRTCという選択 • WebRTCを選択した主な理由 ◦ 低遅延維持や暗号化といった雑多な処理を、すべてブラウザ任せにできる ◦ 一方WebSocket単体では、エンコードなど多くの追加実装を求め、PoC向けではない ◦ WebTransportの機能は魅力的だが、ユーザーにブラウザを指定するのは非現実的と判断 •

    バックエンド実装には aiortc を用いた ◦ Pythonで書けるのでPoCに適している • PoCの結果、意図通りに動作するリアルタイム音声変換Webサービスが出来た ◦ 求められるインフラやクラウド費用が見えた点で、意義はあった ◦ ただ遅延や安定性は、ネットワーク環境に大きく依存する現実に直面 ◦ 可能性は示せたところで、もう1つの選択肢の検討を優先した
  45. 究極の低遅延を求め、WebAssemblyへと模索は続く • どうせやるなら、究極の低遅延音声変換に挑戦してみたい ◦ 遅延聴覚フィードバックによる発話への悪影響は 200 ms がピークという調査結果あり • 理論上、最も低遅延な音声変換はブラウザ上で計算を完結させることである

    ◦ エッジAI型なので、性能がネットワーク環境に依存しないというメリットがある ▪ エッジAI = サーバーを使わずユーザ端末上で計算するAIのこと ◦ ユーザー端末に一定の計算性能を要求する といった制約はここでは目をつぶる • 計算負荷の高い処理をブラウザ上で扱う手段として WebAssembly がある ◦ 対応ブラウザのシェアは caniuse.com 2022/2調べで 94.7% • ではWebAssemblyならどれだけ遅延を抑えられるのか?
  46. 究極の低遅延を求め、WebAssemblyへと模索は続く ブラウザ上で計算が完結するので、大幅に処理が単純化され、一見低遅延に見えるが… WebAssemblyを選択した場合のリアルタイム音声変換サービス概略図

  47. そして気づいたWeb Audio自体の遅延の大きさ • 結論から言うと、Web Audio自体の遅延が激しいことがわかりPoCは見送った • Superpowered社の資料によると、Web AudioのRound Trip遅延として以下の値が計測されている ◦

    Chrome 96, Audio Worklet, 48000 Hz, 128 frm ▪ Android 11 → 112 ~ 599 ms ▪ Windows 10 → 34 ~ 542 ms ▪ macOS 10.15.7 → 20 ~ 336 ms ◦ Chrome 87, ScriptProcessor, 48000 Hz, 512 frm ▪ iOS 14.3 → 46 ~ 53 ms ◦ Safari 14, ScriptProcessor, 48000 Hz, 512 frm ▪ iOS 14.1 → 45 ~ 53 ms ▪ macOS 10.15.6 → 54 ~ 362 ms ◦ iOS以外はブレが大きく、上限300msすら担保できないことがわかる
  48. Webサービスとネイティブアプリの埋まらない溝 Googleによれば、Androidネイティブアプリ上での昔と今で平均遅延が 109 → 39 ms に短縮とのこと • 前述のWeb Audioの遅延(112

    ~ 599 ms)と比較するとその差はあまりにも大きい • この性能差が、今後ネイティブアプリで勝負したい理由の1つになっている An update on Android's audio latency, Android Developers Blog, 2021 Portions of this page are reproduced from work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
  49. まとめ • 七声ニーナを超えるための挑戦 ◦ WebRTCを用いたリアルタイム音声変換サービスのPoC ◦ WebAssemblyに絡む技術調査 • 七声ニーナをクローズした背景 ◦

    高品質なリアルタイム音声変換で、デライトを届けたかったが… ◦ 乗り越えるべき技術課題が多く、クローズへの合意形成へ • プロジェクト起案者として皆様へ ◦ 今後に期待して頂いていた方、本当に申し訳ございません! ◦ サービス自体は終了しますが、二次創作可能なIPとして存続します ◦ 末長くニーナを愛していただけると幸いです
  50. 1. 音声変換とは 2. VOICE AVATAR 七声ニーナ 音声変換とはどのような技術か? 最先端の音声変換研究の動向 音声変換Webサービス七声ニーナの紹介 七声ニーナで使っている音声変換技術

    3. リアルタイム音声変換 リアルタイム音声変換に向けた取り組み アジェンダ 4. 七声ニーナの立ち上げと振り返り 5. 七声ニーナで魅せたかった未来 七声ニーナの立ち上げを経て ユーザの想いを受け止めての振り返り WebRTC、そしてWebAssemblyという技術的選択肢 Webサービスとして低遅延音声変換を扱うことの難しさ 6. Webからネイティブへの挑戦 AIの進歩と端末性能の向上が、新たなUXを切り開く モデルのポータビリティを高めネイティブに挑む
  51. Webからネイティブへの挑戦 • AIの進歩と端末性能の向上が、新たなUXを切り開く ◦ MLエンジニア視点で注目した、iPhoneとGoogle Pixelの進化 ◦ エッジAIを取り巻くエコシステム • モデルのポータビリティを高めネイティブに挑む

    ◦ nnAudio: STFTを用いた信号処理を、様々な推論バックエンドで動かす ◦ MMDeploy: モデル定義コード全体を解析し、問題箇所を差し替え
  52. MLエンジニア視点で注目した、iPhoneとGoogle Pixelの進化 • iPhoneの顔認証 ◦ カメラとプロセッサの進化により、指紋認証から顔認証へ ◦ iPhone12以降では、iOS 15.4 よりマスク姿でのロック解除に対応

    • Google Pixelの音声認識 ◦ Pixel 4以降、音声認識がエッジAIとして動くことで、処理速度が大きく向上 An All-Neural On-Device Speech Recognizer, Google AI Blog, 2019 左が従来の音声認識、右が新しい音声認識 Video credit: Akshay Kannan and Elnaz Sarbar
  53. エッジAIを取り巻くエコシステム • エッジAIの進歩と端末性能の向上がアプリのUXを変え、差別化要素となっている ◦ 動画SNSや写真加工アプリのAI補正で、見た目は簡単に盛れる時代 ◦ では、声質はどうか?ゲームチェンジャーが現れるのはこれから • プラットフォームによって、OS標準でサポートされる推論バックエンドは異なる ◦

    Android → Tensorflow Lite/NNAPI ◦ macOS/iOS → CoreML ◦ Windows → DirectML • 一方で推論バックエンドの差異を吸収するエコシステムは急速に発展している ◦ ONNX ◦ OpenVINO IR • 最後に、これらエコシステムの利用を前提に、より発展的な話題を扱いたい
  54. Calculate the STFT magnitude using a convolutional neural network nnAudio:

    STFTを用いた信号処理を、様々な推論バックエンドで動かす 音声信号処理ではSTFTを多用するが、多くの推論バックエンドは対応する演算子を持たない • 具体的には、波形からSpectrogramを抽出する過程で使う torch.stft が問題になる • PyTorchの場合、nnAudioを組み込むことで下図のようにConv1D主体のモデルが構築可能 • これにより様々な推論バックエンドで動くようになる。なおTensorflowの場合はkapreが有用。 conv1D conv1D pow(2) pow(2) DFT kernels add pad sqrt STFT magnitude
  55. MMDeploy: モデル定義コードを解析し、問題箇所を差し替え • MMDeploy は OpenMMLabというCV系フレームワークにおけるデプロイツールという位置付け ◦ ONNX Runtime, TensorRT,

    ncnn, OpenVINO といった推論バックエンドを想定 • 重要なのが Function Rewriter と Custom Symbolic いうドメインを問わないモデル修正機能 ◦ フォーマット変換やランタイム実行に失敗するケースで役立つ実装例がある ◦ 修正対象となる具体的な演算子と処理内容は以下の通り ▪ 制御フローを静的に展開 • torch.Tensor.repeat ▪ より一般的な演算子で再構成 • torch.topk • torch.Tensor.size • torch.nn.functional.linear/interpolate/group_norm • torch.onnx.symbolic_opset9._generic_rnn
  56. まとめ • 七声ニーナ後も挑戦を続ける理由 ◦ AIで見た目だけではなく、声を盛れる時代が来ても不思議ではない ◦ そのゲームチェンジャーとなるのは、Webサービスではなくネイティブアプリと予想 ◦ 技術の進化や、端末性能の向上に伴い、その実現可能性が高まっている ◦

    そして、DeNAと事業として、最も距離が近いのがライブ配信事業 ◦ ライバー1人1人が理想とする声にもし近づけたら、素敵だと思いませんか?
  57. さいごに 以上、音声変換技術への取り組みを、森・竹村からお伝えしました。 せっかくの機会なのに、対面でデモできないのが残念です 本発表では語りきれなかったこと、まだ公には出来ないこと、沢山ございます DeNAのAI技術にご興味のある方、dena.ai からお問い合わせください!