generative-ai-use-cases-jp icon indicating copy to clipboard operation
generative-ai-use-cases-jp copied to clipboard

議事録作成における音声データの文字起こしの話者特定について

Open tetuya-iyell opened this issue 10 months ago • 1 comments

お世話になっております 齋藤です

音声認識で利用しているtranscribeにおいて、startTranscription.tsをStartTranscriptionJobCommandを以下の通りに修正をしてみました

    const command = new StartTranscriptionJobCommand({
      IdentifyLanguage: true,
      LanguageOptions: ['ja-JP', 'en-US'],
      Media: { MediaFileUri: audioUrl },
      TranscriptionJobName: uuid,
      OutputBucketName: process.env.TRANSCRIPT_BUCKET_NAME,
      Settings: {
        ShowSpeakerLabels: true, // 話者のラベルを表示する設定を有効にします
        MaxSpeakerLabels: 2 // 識別する話者の最大数
      },
      Tags: [
        {
          Key: 'userId',
          Value: userId,
        },
      ],
    });

上記の結果、transcribeで音声認識をされたデータに関しては、json形式でS3バケットに話者特定をして保存されるのですが、getTranscription.tsで取得したデータは話者特定を行わず、音声認識をしたデータのみをweb画面上に表示しています

想定として、getTranscription.tsで取得したjsonを話者特定をしてパースしてweb上に表示できるようにしないと行けないとおもうのですが、どのようにすれば話者特定をした結果をwebに反映できるでしょうか

ご教授をよろしくおねがい申し上げます

tetuya-iyell avatar Mar 25 '24 09:03 tetuya-iyell

添付していただいたコードのように修正することで、話者識別と合わせた音声認識をすることができます。

Amazon Transcribe の認識結果は以下の json ような形式になります。現在の getTranscription.ts では、results.transcripts の情報をそのままフロントエンドで可視化していますが、話者情報と合わせて可視化するためには、results.itemsresults.speaker_lables の情報を参照する必要があります。

{
    "results": {
        "transcripts": [
            {
                "transcript": "..."
            }
        ],
        "speaker_labels": {
            "segments": [
                {
                    "start_time": "0.0",
                    "end_time": "8.779",
                    "speaker_label": "spk_0",
                    "items": []
                }
            ]
        },
        "items": [
            {
                "type": "pronunciation",
                "alternatives": [
                    {
                        "confidence": "0.999",
                        "content": "After"
                    }
                ],
                "start_time": "0.009",
                "end_time": "0.389",
                "speaker_label": "spk_0"
            },
            {
                "type": "pronunciation",
                "alternatives": [
                    {
                        "confidence": "0.999",
                        "content": "living"
                    }
                ],
                "start_time": "0.4",
                "end_time": "0.689",
                "speaker_label": "spk_0"
            },
        ]
    }
}

gteu avatar Apr 02 '24 05:04 gteu

こちら完了済みですのでクローズいたします。

tbrand avatar Aug 29 '24 07:08 tbrand