---
title: Azure AI Search + CLAPを用いた音声の類似検索
tags:  #lt資料  
author: [t_shinnosuke](https://convert.docswell.com/user/shinnosuke)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/V7N85XQRE8.jpg?width=480
description: 2024.11.06 - Microsoft Developer Day - LT大会でのスライド https://microsoft-events.connpass.com/event/334308/
published: November 11, 24
canonical: https://convert.docswell.com/s/shinnosuke/59VRW7-2024-11-11-122835
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/V7N85XQRE8.jpg)

Azure AI Search &amp; CLAPを用いた
音声の類似検索


# Page. 2

![Page Image](https://bcdn.docswell.com/page/YJ9KY8DZJ3.jpg)



# Page. 3

![Page Image](https://bcdn.docswell.com/page/GJ8R685Y7D.jpg)

CLAP
https://github.com/microsoft/CLAP
CLAP（Contrastive Language-Audio Pretraining）は、音声とテキストのマルチモーダルモデル。
CLAPを活用することで例えば、音声ファイルからその内容に合った文章を推測したり、テキストに基づいて関連する音声を見つけたりできる。
今回、LAION-AI CLAPを活用
https://github.com/LAION-AI/CLAP


# Page. 4

![Page Image](https://bcdn.docswell.com/page/LJLK9RY97R.jpg)

Azure AI Search
https://learn.microsoft.com/en-us/azure/search/
フルマネージドの検索サービス。
テキストデータに対する高度な全文検索機能や意味的な類似性に基づくベクトル検索等。
Azure Blob StorageやCosmos DB、SQL Databaseなどの多様なデータソースからデータをインデックス化でき、Microsoft WordやPDF、
PNGなどさまざまなファイル形式を処理することが可能。
さらに、Azure AI SearchはAI機能を活用しており、OCRやテキスト翻訳、キーフレーズ抽出などのデータエンリッチメントが行える。また、
Azure OpenAI Serviceとの連携も可能。
ベクトルデータベースとして活用


# Page. 5

![Page Image](https://bcdn.docswell.com/page/47M2ZRNV7W.jpg)

Azure AI Search カスタム WebAPI ベクタライザー
https://learn.microsoft.com/ja-jp/azure/search/vector-search-vectorizer-custom-web-api
Azure AI Searchのカスタムベクタライザーは、ユーザーが独自のベクトル化ロジックを実装し、検索インデックスに統合できる機能。
この機能により、特定のドメインや用途に最適化されたベクトル表現を生成することが可能に。
独自のAPI呼び出しをAzure AI Searchのインデックス定義に組み込める。
独自APIをAI Searchから呼べる


# Page. 6

![Page Image](https://bcdn.docswell.com/page/P7RM6RDWJ9.jpg)

まずはCLAPでオーディオデータセットをベクトル化
512次元のベクトルに


# Page. 7

![Page Image](https://bcdn.docswell.com/page/PJXVMR1VEX.jpg)

Azure AI Searchを準備しておく
512次元の埋め込みフィールドを
持つインデックスを作成
価格レベルは FreeでもOK


# Page. 8

![Page Image](https://bcdn.docswell.com/page/3JKQGR25JD.jpg)

ベクトル化する処理をおこなうAPIをつくる
https://github.com/Azure-Samples/azure-search-power-skills/tree/main/Vector/EmbeddingGenerator
この部分の実装


# Page. 9

![Page Image](https://bcdn.docswell.com/page/LE3PN841J5.jpg)

デプロイして動作確認
Azure Container Apps にデプロイ
APIの動作確認
動作確認OK


# Page. 10

![Page Image](https://bcdn.docswell.com/page/8EDLWMQKJG.jpg)

ベクトルプロファイルを修正する
Azure AI Search &gt; Index &gt; 作成したインデックスを選択 &gt; Jsonの編集
カスタムベクタライザーの名前
cusomWebApi指定
APIエンドポイント
ここから
Jsonの該当箇所を修正


# Page. 11

![Page Image](https://bcdn.docswell.com/page/V7P29RL378.jpg)

自然言語で検索してみた結果
ちゃんと検索できました！


# Page. 12

![Page Image](https://bcdn.docswell.com/page/2JVDMRQNJQ.jpg)

検索結果 トップだった音声はこんなかんじ
たしかに
「静かで優しい音楽」です！


# Page. 13

![Page Image](https://bcdn.docswell.com/page/5EGYGMW5EL.jpg)

まとめと感想
● WebAPIベクタライザーを使えばクエリのベクトル処理だけを分離
できる
● 今回省略しているが、音声同士の類似検索も可能
● 音の感性ってひとそれぞれなので評価難しい
甲本ヒロトはパンクを「やさしい」言うてますし


# Page. 14

![Page Image](https://bcdn.docswell.com/page/4JQMXR3L7P.jpg)

ご清聴有難うございました。


