0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

S3に保存したWAVファイルをAmazon Transcribeで文字起こししてみる

Posted at

はじめに

WAF形式の音声ファイルを文字起こしする必要がでてきたのでその時に使用したスクリプトを紹介します。

準備

boto3に依存しているのでインストール

$ pip install boto3

スクリプト

音声ファイルはあらかじめバケットのaudioディレクトリに保存しています。
バケットからWAVファイルのパスを取得し、1件ずつAmazon TranscribeのJobを実行するようにしています。ここでは音声のチャネル識別のみ有効化しています。
生成された文字起こしのJSONファイルはどうバケットのtranscriptionディレクトリに保存されます。

import boto3

s3_client = boto3.client("s3")
tran_client = boto3.client("transcribe")

BUCKET_NAME = "your bucket name"
AUDIO_PREFIX = "audio"
TRANSCRIPTION_PREFIX = "transcription"


def main():
    paginator = s3_client.get_paginator("list_objects_v2")
    for page in paginator.paginate(Bucket=BUCKET_NAME, Prefix=AUDIO_PREFIX):
        for content in page["Contents"]:
            key = content["Key"]

            if not key.endswith(".wav"):
                continue

            job_name = key.split("/")[-1].rsplit(".", 1)[0]
            tran_client.start_transcription_job(
                TranscriptionJobName=job_name,
                LanguageCode="ja-JP",
                Media={"MediaFileUri": f"s3://{BUCKET_NAME}/{key}"},
                MediaFormat="wav",
                OutputBucketName=f"{BUCKET_NAME}",
                OutputKey=f"{TRANSCRIPTION_PREFIX}/",
                Settings={"ChannelIdentification": True},
            )


if __name__ == "__main__":
    main()
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?