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

karaokestudio

S-Katagiri
April 04, 2020
280

 karaokestudio

April Fool Project

https://github.com/Gedevan-Aleksizde/karaokestudio

UPDATE
2020/4/4: 要件にffmpeg追加, 参考文献の表記を修正

S-Katagiri

April 04, 2020
Tweet

More Decks by S-Katagiri

Transcript

  1. 自己紹介 • twtiter ID: ill_identified • 主語の大きい話が好き •『計量経済学と機械学習の関係』(80th Tokyo.R) •『今更だが,

    ベイズ統計とは何なのか.』 •『R とパンデミックの数理モデル新型コロナウィルス (COVID-19) 研究を例に』(エア Tokyo.R Feb. 2020) • 主語の変な話も好き •『三国志で学ぶデータ分析』(Japan.R ’19) •『飯野山は正規分布らしいのでパラメータを推定する』 2
  2. 謝辞 • @kazutan 氏に感謝! • 氏のtubeplayRで遊んでたら思いついた • 以前は Mac か

    RStudio Server でしか使えなかった • 今は Qt が更新されて使える • R でカラオケする時が来た! • https://github.com/Gedevan- Aleksizde/karaokestudio 7
  3. 必要なもの 1: 基本 • Linux OS (Ubuntu)1 • RStudio •

    マイク • 外部ライブラリ • portaudio19-dev + python pyaudio • ffmpeg • mecab + mecab-ipadic-neologd 1docker 使えば他の OS でも動く? サウンドデバイスの設定は未確認 8
  4. 必要なもの 2: GCP のアカウント • GoogleCloudPlatform への登録 • 以下の API

    の許可 • YouTube Ads Reach API • YouTube Anlytics API • YouTube Data API • YouTube Reporting API • Google Cloud Storage JSON API • Google Translation API • Google Speech-to-Text API 9
  5. 必要なもの 3: R パッケージ • shiny, shinyJs - アプリケーション開発 •

    tubeR - YouTube API を操作する • googlelanguageR - 音声認識 API の操作 • googleCloudStorageR - 音声ファイルアップロード • zipangu - テキスト処理に使う • reticulate - サウンドデバイス操作 • R のパッケージではうまくいかなかった • hexSticker - 六角形アイコン作成 • その他よく使う tidyverse 系いろいろ 10
  6. 設計の概要 1. shiny, shinyjs で UI 表示 2. 動画再生イベントを監視 •

    Youtube Player API を使うため javascript も必要 3. Youtube API で動画の再生時間とキャプションを取得 4. 再生と同時に録音開始 5. Google Cloud Speech API へ送って文字に起こす • ファイルサイズのため一旦 Google Cloud に上げ る必要 6. キャプションを mecab で読みに変換 7. キャプションと録音テキストの類似度で採点 11
  7. 得点の計算方法 1: 開始時刻でマッチング • キャプション開始時刻に最近のものとマッチング • 間隔が空きすぎるものはマッチなしと判定 開始 8.82S 11.18S

    終了 11.166S 13.68S 正解 テラシダシテグリーンライツ ヒロガルミライヲ 歌声 チラシダシテルグリーンライツヒロガル ミライオキット • Omoi 作詞「グリーンライツ‧セレナーデ」の場合 13
  8. 注意点 • 著作権は大事 • キャプションは絶対 • 全て読み上げないと満点にならない • 動画の権利者が許可してない動画あり •

    外部サイトでの利用を許可しない場合も • そもそもキャプション登録されていない動画 読みを推理するのが無理ゲー ここは裏切りの ティル‧ナ‧ノーグ 楽園 さ迷う心の はて 涯に (茅原実里, 畑亜貴作詞/菊田大介作曲『Paradise Lost』) 15
  9. References [1] Tsai, Wei-Ho and Hsin-Chieh Lee (2012) “Automatic Evaluation

    of Karaoke Singing Based on Pitch, Volume, and Rhythm Features,” IEEE Transactions on Audio, Speech, and Language Processing, Vol. 20, No. 4, pp. 1233–1243, May, DOI: 10.1109/TASL.2011.2174224. 16