Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

自己紹介 森 紘一郎 2005年〜2017年 株式会社東芝 ● 機械学習、音声合成の研究開発・事業化に従事 2017年〜 株式会社ディー・エヌ・エー ● データ統括部 AI研究開発部 音声チーム ● 音声感情認識、音声合成、音声変換 など音声 x AIの研究開発に従事

Slide 3

Slide 3 text

1. 音声変換とは 2. VOICE AVATAR 七声ニーナ 音声変換とはどのような技術か? 最先端の音声変換研究の動向 音声変換Webサービス七声ニーナの紹介 七声ニーナで使っている音声変換技術 3. リアルタイム音声変換 リアルタイム音声変換に向けた取り組み アジェンダ 4. 七声ニーナの立ち上げと振り返り 5. 七声ニーナで魅せたかった未来 七声ニーナの立ち上げを経て ユーザの想いを受け止めての振り返り WebRTC、そしてWebAssemblyという技術的選択肢 Webサービスとして低遅延音声変換を扱うことの難しさ 6. Webからネイティブへの挑戦 AIの進歩と端末性能の向上が、新たなUXを切り開く モデルのポータビリティを高めネイティブに挑む

Slide 4

Slide 4 text

音声変換(Voice Conversion)とは 音声変換は、発話内容を変えずに、話者性(声色)を変える音声AI技術 こんにちは こんにちは ソース話者 ターゲット話者

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

発話内容と声色の分離 音声を発話内容と声色に分離(disentangle)し、言語内容はそのままで 声色のみを別の声色に変換(convert)するのが音声変換 発話内容 声色A 声色B disentangle convert こんにちは ※発話内容を明示的に用いない音声変換手法もある 発話内容 声色(話者性) イントネーション 感情 ソース話者 ターゲット話者

Slide 7

Slide 7 text

Q. 音声認識や音声合成とは何が違うの? 音声認識 音声をテキストに変換する技術 音声合成 テキストを音声に変換する技術 発話内容 話者性A 話者性B ソース話者 ターゲット話者 ≒音声認識 ≒音声合成 ≒話者認識 音声変換は、処理の前半部分が音声認識、後半部 分が音声合成の技術と関連がある

Slide 8

Slide 8 text

音声変換の処理フロー Content Encoder Decoder 発話内容 Speaker Encoder 入力音声から発話内容を 抽出する 発話内容と話者性から 変換音声を生成する 話者性 話者性を抽出する こんにちは ソース話者 ターゲット話者

Slide 9

Slide 9 text

あ 主なアプローチ 音声認識ベース ● PPG-VC ● ConVoice 音声合成ベース ● Voice Transformer Net ● TTL-VC Autoencoderベース ● VQ-VAE-VC ● AutoVC GANベース ● CycleGAN-VC ● StarGAN-VC 詳細を知りたい方は こちらの記事がおすすめ

Slide 10

Slide 10 text

アジェンダ 4. 七声ニーナの立ち上げと振り返り 七声ニーナの立ち上げを経て ユーザの想いを受け止めての振り返り 5. 七声ニーナで魅せたかった未来 WebRTC、そしてWebAssemblyという技術的選択肢 Webサービスとして低遅延音声変換を扱うことの難しさ 6. Webからネイティブへの挑戦 AIの進歩と端末性能の向上が、新たなUXを切り開く モデルのポータビリティを高めネイティブに挑む 1. 音声変換とは 2. VOICE AVATAR 七声ニーナ 音声変換とはどのような技術か? 最先端の音声変換研究の動向 音声変換Webサービス七声ニーナの紹介 七声ニーナで使っている音声変換技術 3. リアルタイム音声変換 リアルタイム音声変換に向けた取り組み

Slide 11

Slide 11 text

VOICE AVATAR 七声ニーナ ブラウザで簡単に音声変換を体験できるサービス 誰の声でも七声ニーナというキャラクターの声に変換できる

Slide 12

Slide 12 text

七声ニーナで目指した音声変換 1. 誰の声でも七声ニーナの声に変換できる(Any-to-One) 2. 利用者の音声の事前収録は不要 3. 変換音声の品質がよい 4. 音声変換がCPUでできるほど高速であること 5. 入力音声のイントネーションや感情が変換音声に 反映される

Slide 13

Slide 13 text

七声ニーナのデモ

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

イントネーション情報の注入 音素認識 モデル 音声生成 モデル k o n n i ch i w a こんにちは こんにちは 音素表現 イントネーション ● 音素認識モデルにイントネーションを予測するモジュールを新たに追加 ● 入力音声のイントネーションを変換音声に反映させることができた

Slide 17

Slide 17 text

イントネーション反映のデモ (例1)ありがとう、ありがとう(方言) (例2)いい人じゃない(否定・肯定・称賛) 入力音声 イントネーション反映前 イントネーション反映後

Slide 18

Slide 18 text

七声ニーナに欲しい機能

Slide 19

Slide 19 text

アジェンダ 4. 七声ニーナの立ち上げと振り返り 七声ニーナの立ち上げを経て ユーザの想いを受け止めての振り返り 5. 七声ニーナで魅せたかった未来 WebRTC、そしてWebAssemblyという技術的選択肢 Webサービスとして低遅延音声変換を扱うことの難しさ 6. Webからネイティブへの挑戦 AIの進歩と端末性能の向上が、新たなUXを切り開く モデルのポータビリティを高めネイティブに挑む 1. 音声変換とは 2. VOICE AVATAR 七声ニーナ 音声変換とはどのような技術か? 最先端の音声変換研究の動向 音声変換Webサービス七声ニーナの紹介 七声ニーナで使っている音声変換技術 3. リアルタイム音声変換 リアルタイム音声変換に向けた取り組み

Slide 20

Slide 20 text

リアルタイム音声変換を目指して ● 七声ニーナは録音→変換→再生というバッチ変換の枠組み ○ バッチ変換の使い道は限られる ○ 音声合成の代わりにナレーション音声として使った方がいて興味深い ● ライブ配信や音声チャットで音声変換を使うには録音とほぼ同時に 変換音声を再生(配信)するリアルタイム変換が必要

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

七声ニーナの技術で達成できるか? 1. 安定性 2. 低遅延 3. 声色の多様性・制御性 七声ニーナの技術を リアルタイム音声変換に 発展させるのは残念ながら 厳しいという結論

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

音声変換パートのまとめ ● ライブ配信やメタバースなど音声変換の需要は高まると期待 ● 第一弾としてVOICE AVATAR 七声ニーナをリリース ● さらなる活用のためにはリアルタイム変換が必須 ● ライブ配信活用を目指して安定性、低遅延、 声の多様性や制御性を重視したリアルタイム 音声変換技術を作りたい

Slide 29

Slide 29 text

1. 音声変換とは 2. VOICE AVATAR 七声ニーナ 音声変換とはどのような技術か? 最先端の音声変換研究の動向 音声変換Webサービス七声ニーナの紹介 七声ニーナで使っている音声変換技術 3. リアルタイム音声変換 リアルタイム音声変換に向けた取り組み 実装編 アジェンダ 4. 七声ニーナの立ち上げと振り返り 5. 七声ニーナで魅せたかった未来 七声ニーナの立ち上げを経て ユーザの想いを受け止めての振り返り WebRTC、そしてWebAssemblyという技術的選択肢 Webサービスとして低遅延音声変換を扱うことの難しさ 6. Webからネイティブへの挑戦 AIの進歩と端末性能の向上が、新たなUXを切り開く モデルのポータビリティを高めネイティブに挑む

Slide 30

Slide 30 text

自己紹介 竹村 伸太郎 2007年〜2019年 株式会社バンダイナムコゲームス/スタジオ ● リアルタイムCGの研究やデータ分析基盤の構築などに従事 ● CEDEC 2011/2015/2017/2019, Microsoft de:code 2019 で登壇 2020年〜 株式会社ディー・エヌ・エー ● データ統括部AI基盤部所属 MLエンジニア ● クラウドからエッジまでAI技術の実用化を様々な領域で担当 ● VOICE AVATAR 七声ニーナの開発・運用 詳しくは DeNA×AI 対談記事をご覧ください ● CEDEC 2021 にて下記テーマで登壇 「エンタメから社会課題、チームで乗り越えた音声AIの研究 開発と実用化」

Slide 31

Slide 31 text

1. 音声変換とは 2. VOICE AVATAR 七声ニーナ 音声変換とはどのような技術か? 最先端の音声変換研究の動向 音声変換Webサービス七声ニーナの紹介 七声ニーナで使っている音声変換技術 3. リアルタイム音声変換 リアルタイム音声変換に向けた取り組み 実装編 アジェンダ 4. 七声ニーナの立ち上げと振り返り 5. 七声ニーナで魅せたかった未来 七声ニーナの立ち上げを経て ユーザの想いを受け止めての振り返り WebRTC、そしてWebAssemblyという技術的選択肢 Webサービスとして低遅延音声変換を扱うことの難しさ 6. Webからネイティブへの挑戦 AIの進歩と端末性能の向上が、新たなUXを切り開く モデルのポータビリティを高めネイティブに挑む

Slide 32

Slide 32 text

七声ニーナの立ち上げと振り返り ● 七声ニーナの立ち上げを経て ○ リリース直後、想定を遥かに上回る反響を頂いた ○ 同時公開の DeNA Engineering Blogが想定外のバズり方をした ○ スケーラビリティ最優先の実装で安定運用を実現 ○ タイトな開発スケジュールをチーム間連携で克服 ● ユーザーの想いを受け止めての振り返り ○ 音声変換品質を100%保証できないことは想定していた ○ 社内レビューでは、変換音声の品質が相対的に低い結果に ○ それでも、幸いにして好感度高くユーザーに受け入れられた

Slide 33

Slide 33 text

リリース直後、想定を遥かに上回る反響を頂いた ● 当初 10万回/年 の音声変換利用数を見込んでいた ● 実際には、1日を経たずして 10万回の利用を達成 ● その後も継続的なアクセスが続き、最終的に 77万回以上利用された 同時公開の DeNA Engineering のBlogが想定外のバズり方をした ● 七声ニーナは 40を超えるメディアに掲載され、Engineering Blogの引用も多数あった ● ”幸運にも、百戦錬磨のプロジェクトメンバーに助けられ” と釘は指したが… ● 入社1年目の部署横断企画が社内投票で採択、という点がクローズアップされ過ぎた 竹村 伸太郎, 七声ニーナを支えるバックエンド技術, DeNA Engineering, 2021

Slide 34

Slide 34 text

スケーラビリティ最優先の設計で安定運用を実現 ● トラフィックのピークは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)

Slide 35

Slide 35 text

タイトな開発スケジュールをチーム間連携で克服 以下の事前準備を伴う、Webフロントエンドチームとの円滑な連携が、短期間での成果に繋がった ● 録音から変換音声の再生まで一連の挙動が把握可能な、Flutter製プロトタイプ ● すべてのAPIを漏れなく検証できる Swagger UI (管理ツール的なもの) ● 画面上の状態遷移と呼び出すべきAPIを紐づけるドキュメント 当時用意したプロトタイプのAPI仕様書とスクリーンショットを一部抜粋したもの

Slide 36

Slide 36 text

音声変換品質を100%保証できないことは想定していた ● 誰の声でも、どんな雑音が入っても、100%音声認識に成功するシステムなんて世の中にない ● それは音声認識ベースのアプローチを採用する七声ニーナでも同じ ● AIあるあるの不確実性を想定した上での取り組みだった それは DeNA Design「VOICE AVATAR 七声ニーナ キャラデザ編」キャラクター設定資料内の “自分がまだWIP(作り途中)であるポンコツっぷりはわかっているが” といったワードから察して頂ければ幸い 岩朝 暁彦, VOICE AVATAR 七声ニーナ キャラデザ編, DeNA Design, 2021

Slide 37

Slide 37 text

社内レビューでは、変換音声の品質が相対的に低い結果に ● 洗練されたUXも味方し、総合評価として「良い」以上の評価が7割を占めた ● 一方で開発陣の予想通り、結果が個人差や録音環境に依存する変換音声の品質は評価が分かれた 樋口 耕正, VOICE AVATAR 七声ニーナのリリースまでを振り返る, DeNA Design, 2021

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

まとめ ● 七声ニーナをリリースしてよかったこと ○ リリース直後の突発的なトラフィック増にも耐え、打ち上げ成功 ○ 反響から、音声変換という技術に関心やニーズがあることを示せた ○ アンケート結果から、好感度高く受け止められたことが伺えた ● 七声ニーナの開発で工夫したこと ○ サーバレス主体の設計で、安定かつ低コストな運用を実現した ○ フロントエンドチームと円滑に連携できるよう、管理ツールや資料を整備 ● 七声ニーナのユーザーから求められたもの ○ 長時間利用できる、リアルタイム音声変換

Slide 40

Slide 40 text

1. 音声変換とは 2. VOICE AVATAR 七声ニーナ 音声変換とはどのような技術か? 最先端の音声変換研究の動向 音声変換Webサービス七声ニーナの紹介 七声ニーナで使っている音声変換技術 3. リアルタイム音声変換 リアルタイム音声変換に向けた取り組み アジェンダ 4. 七声ニーナの立ち上げと振り返り 5. 七声ニーナで魅せたかった未来 七声ニーナの立ち上げを経て ユーザの想いを受け止めての振り返り WebRTC、そしてWebAssemblyという技術的選択肢 Webサービスとして低遅延音声変換を扱うことの難しさ 6. Webからネイティブへの挑戦 AIの進歩と端末性能の向上が、新たなUXを切り開く モデルのポータビリティを高めネイティブに挑む

Slide 41

Slide 41 text

七声ニーナで魅せたかった未来 ● WebRTC、そしてWebAssemblyという技術的選択肢 ○ ゼロからの再実装を意味するリアルタイム対応 ○ 最速でPoCを終えるためのWebRTCという選択 ○ 究極の低遅延を求め、WebAssemblyへと模索は続く ● Webサービスとして低遅延音声変換を扱うことの難しさ ○ そして気づいたWeb Audio自体の遅延の大きさ ○ Webサービスとネイティブアプリの埋まらない溝

Slide 42

Slide 42 text

ゼロからの再実装を意味するリアルタイム対応 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以降

Slide 43

Slide 43 text

最速でPoCを終えるためのWebRTCという選択 結論から述べると、PoCとしてWebRTCを選択した WebRTCを選択した場合のリアルタイム音声変換サービス概略図

Slide 44

Slide 44 text

最速でPoCを終えるためのWebRTCという選択 ● WebRTCを選択した主な理由 ○ 低遅延維持や暗号化といった雑多な処理を、すべてブラウザ任せにできる ○ 一方WebSocket単体では、エンコードなど多くの追加実装を求め、PoC向けではない ○ WebTransportの機能は魅力的だが、ユーザーにブラウザを指定するのは非現実的と判断 ● バックエンド実装には aiortc を用いた ○ Pythonで書けるのでPoCに適している ● PoCの結果、意図通りに動作するリアルタイム音声変換Webサービスが出来た ○ 求められるインフラやクラウド費用が見えた点で、意義はあった ○ ただ遅延や安定性は、ネットワーク環境に大きく依存する現実に直面 ○ 可能性は示せたところで、もう1つの選択肢の検討を優先した

Slide 45

Slide 45 text

究極の低遅延を求め、WebAssemblyへと模索は続く ● どうせやるなら、究極の低遅延音声変換に挑戦してみたい ○ 遅延聴覚フィードバックによる発話への悪影響は 200 ms がピークという調査結果あり ● 理論上、最も低遅延な音声変換はブラウザ上で計算を完結させることである ○ エッジAI型なので、性能がネットワーク環境に依存しないというメリットがある ■ エッジAI = サーバーを使わずユーザ端末上で計算するAIのこと ○ ユーザー端末に一定の計算性能を要求する といった制約はここでは目をつぶる ● 計算負荷の高い処理をブラウザ上で扱う手段として WebAssembly がある ○ 対応ブラウザのシェアは caniuse.com 2022/2調べで 94.7% ● ではWebAssemblyならどれだけ遅延を抑えられるのか?

Slide 46

Slide 46 text

究極の低遅延を求め、WebAssemblyへと模索は続く ブラウザ上で計算が完結するので、大幅に処理が単純化され、一見低遅延に見えるが… WebAssemblyを選択した場合のリアルタイム音声変換サービス概略図

Slide 47

Slide 47 text

そして気づいた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すら担保できないことがわかる

Slide 48

Slide 48 text

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.

Slide 49

Slide 49 text

まとめ ● 七声ニーナを超えるための挑戦 ○ WebRTCを用いたリアルタイム音声変換サービスのPoC ○ WebAssemblyに絡む技術調査 ● 七声ニーナをクローズした背景 ○ 高品質なリアルタイム音声変換で、デライトを届けたかったが… ○ 乗り越えるべき技術課題が多く、クローズへの合意形成へ ● プロジェクト起案者として皆様へ ○ 今後に期待して頂いていた方、本当に申し訳ございません! ○ サービス自体は終了しますが、二次創作可能なIPとして存続します ○ 末長くニーナを愛していただけると幸いです

Slide 50

Slide 50 text

1. 音声変換とは 2. VOICE AVATAR 七声ニーナ 音声変換とはどのような技術か? 最先端の音声変換研究の動向 音声変換Webサービス七声ニーナの紹介 七声ニーナで使っている音声変換技術 3. リアルタイム音声変換 リアルタイム音声変換に向けた取り組み アジェンダ 4. 七声ニーナの立ち上げと振り返り 5. 七声ニーナで魅せたかった未来 七声ニーナの立ち上げを経て ユーザの想いを受け止めての振り返り WebRTC、そしてWebAssemblyという技術的選択肢 Webサービスとして低遅延音声変換を扱うことの難しさ 6. Webからネイティブへの挑戦 AIの進歩と端末性能の向上が、新たなUXを切り開く モデルのポータビリティを高めネイティブに挑む

Slide 51

Slide 51 text

Webからネイティブへの挑戦 ● AIの進歩と端末性能の向上が、新たなUXを切り開く ○ MLエンジニア視点で注目した、iPhoneとGoogle Pixelの進化 ○ エッジAIを取り巻くエコシステム ● モデルのポータビリティを高めネイティブに挑む ○ nnAudio: STFTを用いた信号処理を、様々な推論バックエンドで動かす ○ MMDeploy: モデル定義コード全体を解析し、問題箇所を差し替え

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

エッジAIを取り巻くエコシステム ● エッジAIの進歩と端末性能の向上がアプリのUXを変え、差別化要素となっている ○ 動画SNSや写真加工アプリのAI補正で、見た目は簡単に盛れる時代 ○ では、声質はどうか?ゲームチェンジャーが現れるのはこれから ● プラットフォームによって、OS標準でサポートされる推論バックエンドは異なる ○ Android → Tensorflow Lite/NNAPI ○ macOS/iOS → CoreML ○ Windows → DirectML ● 一方で推論バックエンドの差異を吸収するエコシステムは急速に発展している ○ ONNX ○ OpenVINO IR ● 最後に、これらエコシステムの利用を前提に、より発展的な話題を扱いたい

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

まとめ ● 七声ニーナ後も挑戦を続ける理由 ○ AIで見た目だけではなく、声を盛れる時代が来ても不思議ではない ○ そのゲームチェンジャーとなるのは、Webサービスではなくネイティブアプリと予想 ○ 技術の進化や、端末性能の向上に伴い、その実現可能性が高まっている ○ そして、DeNAと事業として、最も距離が近いのがライブ配信事業 ○ ライバー1人1人が理想とする声にもし近づけたら、素敵だと思いませんか?

Slide 57

Slide 57 text

さいごに 以上、音声変換技術への取り組みを、森・竹村からお伝えしました。 せっかくの機会なのに、対面でデモできないのが残念です 本発表では語りきれなかったこと、まだ公には出来ないこと、沢山ございます DeNAのAI技術にご興味のある方、dena.ai からお問い合わせください!