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

iOSDC2022-ShazamKitの遊び方

nmurata
September 30, 2022
1.1k

 iOSDC2022-ShazamKitの遊び方

nmurata

September 30, 2022
Tweet

Transcript

  1. 5 アジェンダ • Shazam/ShazamKitの概要 • ShazamKitメイン機能紹介 ◦ Shazamカタログ認識 ◦ カスタムカタログ認識

    • サンプル実装 ◦ Shazamカタログ認識サンプル実装 ◦ カスタムカタログ認識サンプル実装 • SPACEMARKTアプリへ機能追加
  2. 8 Shazamの歴史 2002 携帯電話サービス「2580」リリース 1999 Shazam Entertainment 設立 2008 Shazamアプリ

    AppStore リリース 2017 2018 Apple買収発表 買収 2021 WWDC 2021 ShazamKit発表 🎉
  3. 12 Shazamカタログ認識 概要 楽曲認識機能(Shazam同様の機能)を導入 App 楽曲情報 ・曲名 ・アーティスト名 ・ジャケット画像 etc..

    🎶 Shazam表面 1 2 3 4 裏側 取得した音声からシグネチャを生成 シグネチャをサーバーへ送信 Shazamカタログから一致する曲を検索 サーバーから楽曲情報をアプリへ返す 検索結果 音声取得
  4. 13 App 1. 取得した音声からシグネチャを生成 2. シグネチャをサーバーへ送信 3. Shazamカタログから一致する曲を検索 4. サーバーから楽曲情報をアプリへ返す

    音声取得 Signature 生成 音声をlossy圧縮(非可逆圧縮)したデジタルフィンガープリント ”データサイズが小さく、少なくとも元の音声データの1/10以下” ”元の音声を復元することは出来ないため、安全性とプライバシーが保たれる” Shazamカタログ認識 認識の仕組み 🎶
  5. 14 サーバー App 1. 取得した音声からシグネチャを生成 2. シグネチャをサーバーへ送信 3. Shazamカタログから一致する曲を検索 4.

    サーバーから楽曲情報をアプリへ返す Signature 送信 Signature Shazamカタログ認識 認識の仕組み
  6. 15 1. 取得した音声からシグネチャを生成 2. シグネチャをサーバーへ送信 3. Shazamカタログから一致する 楽曲を検索 4. サーバーから楽曲情報をアプリへ返す

    サーバー Shazam カタログ (楽曲DB) Signature シグネチャのコレクション (楽曲から生成されたSignatureの集合) Signature Signature Signature Signature Signature Signature Signature Signature Signature Signature Signature Signature Shazamカタログ認識 認識の仕組み Signature Metadata
 
 
 ・曲名
 ・アーティスト名 
 ・ジャケット画像URL
 etc.. 
 

  7. 16 Signature Reference Signature Signature Mr.children しるし Query Signature Shazamカタログが持つ、

    楽曲から生成されたシグネチャ 検索をかける音声から 生成されたシグネチャ Shazamカタログ認識 認識の仕組み 画像引用: https://www.mrchildren.jp/disco/#single
  8. 17 1. 取得した音声からシグネチャを生成 2. シグネチャをサーバーへ送信 3. Shazamカタログから一致する 楽曲を検索 4. サーバーから楽曲情報をアプリへ返す

    サーバー Query Signature Reference Signature のコレクション Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Shazamカタログ認識 認識の仕組み Metadata ・曲名 ・アーティスト名 ・ジャケット画像URL etc.. Shazam カタログ (楽曲DB)
  9. 18 1. 取得した音声からシグネチャを生成 2. シグネチャをサーバーへ送信 3. Shazamカタログから一致する 楽曲を検索 4. サーバーから楽曲情報をアプリへ返す

    サーバー Query Signature Reference Signature のコレクション Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature Reference Signature 名もなき詩 Mr.children シーソーゲーム Mr.children NOT FOUND Mr.children 君が好き Mr.children しるし Mr.children フェイク Mr.children 旅立ちの詩 Mr.children HANABI Mr.children HERO Mr.children ヒカリノアトリエ Mr.children Birthday Mr.children himawari Mr.children Shazamカタログ認識 認識の仕組み Metadata ・曲名 ・アーティスト名 ・ジャケット画像URL etc.. Shazam カタログ (楽曲DB) 画像引用: https://www.mrchildren.jp/disco/#single
  10. 19 サーバー App 1. 取得した音声からシグネチャを生成 2. シグネチャをサーバーへ送信 3. Shazamカタログから一致する楽曲を検索 4.

    サーバーから楽曲情報をアプリへ返す Metadata送信 Shazamカタログ Reference Signature Shazamカタログ認識 認識の仕組み Mr.children しるし Mr.children しるし 画像引用: https://www.mrchildren.jp/disco/#single
  11. 22 カスタムカタログ認識 カスタムカタログの用意 任意の音声 + カスタムカタログ Custom Reference Signature Metadata


    Custom Reference Signature Metadata
 Custom Reference Signature Metadata
 🎹🎷🎸 🥁 🐶 < わんわ ん! Custom Reference Signature Metadata
 󰢧 < 好きです! 󰣼 < ごめんやで + Custom Reference Signature Metadata
 + Custom Reference Signature Metadata

  12. 23 App Query Signature カスタムカタログ 1. 取得した音声からシグネチャを生成 2. カスタムカタログから一致するシグネチャを検索 カスタムカタログ認識

    認識の仕組み 音声取得 生成 Custom Reference Signature Metadata
 Custom Reference Signature Metadata
 Custom Reference Signature Metadata
 Custom Reference Signature Metadata

  13. 33 Shazamカタログ認識サンプル実装 サンプルコード マッチする楽曲が見つからなかった / エラーが発生した場合 シミュレータで実行した場合 Error Domain=com.apple.ShazamKit Code=202

    "Shazam Catalog recognition doesn’t work in simulated devices" AppleDevelopperでShazamKitを有効にしていない場合 Error Domain=com.apple.ShazamKit Code=202 “Please check that you have enabled the ShazamKit App Service for this app identifier”
  14. 36 セミ鳴き声3つ用意 https://pocket-se.info/ ミンミンゼミ ツクツクボウシ + ヒグラシ カスタムカタログ認識サンプル実装 事前準備 +

    ミンミンゼミ Reference Signature ツクツクボウシ Reference Signature Metadata ・名前: name ・特徴: feature Metadata ・名前: name ・特徴: feature カスタムカタログ ミンミンゼミ Reference Signature Metadata
 ツクツクボウシ Reference Signature Metadata

  15. 39 ex.) shazam signature --input <音声/ビデオファイル> --output <XXX.shazamsignature> $ shazam

    signature -i minmin.mp3 -o minmin.shazamsignature $ shazam signature -i tsukutsuku.mp3 -o tsukutsuku.shazamsignature カスタムカタログ認識サンプル実装 Shazam CLI : Signature生成
  16. 41 ex.) shazam custom-catalog create --signature-asset <XXX.shazamsignature> --media-items <.csv file>

    --output <XXX.shazamcatalog>  $ shazam custom-catalog create --signature-asset minmin.shazamsignature --media-items minmin.csv -o semi.shazamcatalog カスタムカタログ認識サンプル実装 Shazam CLI: カスタムカタログ構築 minmin.csv
  17. 42 カスタムカタログ認識サンプル実装 Shazam CLI: カスタムカタログ構築 ex.) shazam custom-catalog update --signature-asset

    <XXX.shazamsignature> --media-items <.csv file> --output <XXX.shazamcatalog> $shazam custom-catalog update --signature-asset tsukutsuku.shazamsignature --media-items tsukutsuku.csv -o semi.shazamcatalog tsukutsuku.csv
  18. 43 ex.) shazam custom-catalog display --input <XXX.shazamcatalog> $shazam custom-catalog display

    -i semi.shazamcatalog カスタムカタログ認識サンプル実装 Shazam CLI: カスタムカタログ構築
  19. 53 SPACEMARKETアプリへの機能追加 RemoteConfig × ShazamID { "data": [ ︙ {

    "url": "https://www.spacemarket.com/features/temochi-hanabi/?utm_source=app_banner&utm_medium=referral&utm_campaign=hanabi&paid_type=0", "image": "https://cdn.braze.eu/appboy/communication/assets/image_assets/images/62e77db0f135f5631db67130/original.png?1659338160", "quiz": { "question": "タイトルに「花火」が入る女性曲といえば?", "coupon": { ︙ }, "shazamID": "12345", ︙ }, }, ︙ ] } 引用: https://developer.apple.com/documentation/shazamkit/shsession/3747208-matchstreamingbuffer