2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Whisperとは

WhisperはOpenAIが公開している音声認識モデルであり、文字起こしに利用できる。これまで公開モデルを自前でデプロイする必要があったが、2023/9月にAzure OpenAI上においてはプレビュー公開され、APIとして利用することができるようになっている。文字起こしをした文章をChatGPT等のLLMと連携することで、音声による応答を行うこともできる。なお、Azure AIにはSpeech to Textという音声テキスト変換のモデルがあるが、Whisperの方が精度が高いと言われている。(AWSではAmazon Transcribe、GCPではGoogle Cloud Speech-to-Textが該当する)

Whisperモデルのデプロイ

Azure OpenAI Studioにてデプロイする。
なお、Whisperはプレビューにつき、2023/10時点では、米国中北部(North Central US)または西ヨーロッパ(West Europe)リージョンのみ。

image.png

またAzure Portal上でキーとエンドポイントを控えておく。
image.png

利用

音声ファイルの用意

音声ファイルはWindows標準のボイスレコーダー等で録音したもの(.m4a)を使用した。

image.png

なお、こちらからAzure公式のサンプル音声ファイルを入手することもできる。
https://github.com/Azure-Samples/cognitive-services-speech-sdk/tree/master/sampledata/audiofiles

curl による利用

Azure公式のREST APIどおりであるが、以下のとおり。

curl 【エンドポイント】/openai/deployments/whisper/audio/transcriptions?api-version=2023-09-01-preview  -H "api-key: 【キー】"  -H "Content-Type: multipart/form-data"  -F file="@./【ファイル名】"

実行結果

{'text': 'こんにちは。今日は10月28日。天気は晴れです。'}

python による利用

curlをそのままpythonのrequestsで実装しただけだが、requestsでは、"Content-Type": "multipart/form-data"は必要ない。requestsモジュールは、ファイルをfilesパラメーターとして提供すると自動的にContent-Typeを適切に設定する。(もしヘッダに設定してしまうと、レスポンスとしてエラー{'error': {'message': '', 'type': 'server_error', 'param': None, 'code': None}}が返ってくる。)

AZURE_OPENAI_KEY=""
AZURE_OPENAI_ENDPOINT="https://[].openai.azure.com"
FILE=""

import requests

url = AZURE_OPENAI_ENDPOINT + "/openai/deployments/whisper/audio/transcriptions?api-version=2023-09-01-preview"

headers = {
    "api-key": AZURE_OPENAI_KEY,
}

# マルチパートエンコーディングとしてファイルを読み込み
with open(FILE, 'rb') as f:
    file = {'file': (FILE, f)}
    response = requests.post(url, headers=headers, files=file)

# レスポンスの表示
print(response.json())

実行結果

{'text': 'こんにちは。今日は10月28日。天気は晴れです。'}

注意

WhisperのAPI操作をするにあたって、Azure AIのSDK(Speech SDK)と間違えやすい。これはspeech to textのものであり、現時点ではWhisperの操作には使用できない。(マニュアルページがわかりづらい)
Azure OpenAI WhisperはREST APIしか正式に公開されていない。
https://learn.microsoft.com/ja-jp/azure/ai-services/openai/whisper-quickstart

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?