ใช้ API การแปลงเสียงพูดเป็นข้อความ

เสร็จสมบูรณ์เมื่อ

Tip

ดูแท็บ ข้อความและรูปภาพ สําหรับรายละเอียดเพิ่มเติม!

Azure Speech ใน Foundry Tools รองรับการรู้จําเสียงผ่าน API การแปลงเสียงพูดเป็นข้อความ* ในขณะที่รายละเอียดเฉพาะแตกต่างกันไปขึ้นอยู่กับ SDK ที่ใช้ (Python, C# และอื่น ๆ) มีรูปแบบที่สอดคล้องกันสําหรับการใช้ API คําพูดเป็นข้อความ :

ไดอะแกรมที่แสดงวิธีการสร้างวัตถุ SpeechRecognizer จาก SpeechConfig และ AudioConfig และวิธีการ RecognizeOnceAsync ถูกใช้เพื่อเรียก API การแปลงคําพูดเป็นข้อความ

  1. ใช้วัตถุ SpeechConfig เพื่อห่อหุ้มข้อมูลที่จําเป็นในการเชื่อมต่อกับทรัพยากร Foundry ของคุณ โดยเฉพาะจุดสิ้นสุด (หรือภูมิภาค) และคีย์
  2. หรือใช้ AudioConfig เพื่อกําหนดแหล่งสัญญาณเสียงเข้าสําหรับเสียงที่จะถอดรหัส ตามค่าเริ่มต้นนี่คือไมโครโฟนระบบเริ่มต้น แต่คุณยังสามารถระบุไฟล์เสียงได้
  3. ใช้ SpeechConfig และ AudioConfig เพื่อสร้างวัตถุ SpeechRecognizer วัตถุนี้เป็นพร็อกซีไคลเอ็นต์สําหรับ API คําพูดเป็นข้อความ
  4. ใช้วิธีการของวัตถุ SpeechRecognizer เพื่อเรียกใช้ฟังก์ชัน API พื้นฐาน ตัวอย่างเช่น เมธอด RecognizeOnceAsync() ใช้บริการ Azure Speech เพื่อถอดเสียงคําพูดเดียวแบบอะซิงโครนัส
  5. ประมวลผลการตอบกลับ ในกรณีของเมธอด RecognizeOnceAsync() ผลลัพธ์คือออบเจ็กต์ SpeechRecognitionResult ที่มีคุณสมบัติต่อไปนี้:
    • ระยะเวลา
    • OffsetInTicks
    • คุณสมบัติ
    • เหตุผล
    • ResultId
    • ข้อความ

ถ้าการดําเนินการเสร็จสมบูรณ์ คุณสมบัติ Reason มีค่าที่ระบุ RecognizedSpeech และคุณสมบัติ ข้อความ ประกอบด้วยการถอดข้อความ ค่าอื่น ๆ ที่เป็นไปได้สําหรับ Result รวมถึง NoMatch (ระบุว่าเสียงถูกแยกวิเคราะห์เรียบร้อยแล้ว แต่ไม่มีการรู้จําเสียง) หรือ ยกเลิก แสดงว่ามีข้อผิดพลาดเกิดขึ้น (ในกรณีนี้ คุณสามารถตรวจสอบคอลเลกชัน คุณสมบัติ สําหรับคุณสมบัติ CancelReason เพื่อกําหนดว่าเกิดอะไรขึ้น)

ตัวอย่าง - การถอดเสียงไฟล์เสียง

ตัวอย่าง Python ต่อไปนี้ใช้ Azure Speech ใน Foundry Tools เพื่อถอดเสียงคําพูดในไฟล์เสียง

import azure.cognitiveservices.speech as speech_sdk

# Speech config encapsulates the connection to the resource
speech_config = speech_sdk.SpeechConfig(subscription="YOUR_FOUNDRY_KEY",
                                       endpoint="YOUR_FOUNDRY_ENDPOINT")

# Audio config determines the audio stream source (defaults to system mic)
file_path = "audio.wav"
audio_config = speech_sdk.audio.AudioConfig(filename=file_path)

# Use a speech recognizer to transcribe the audio
speech_recognizer = speech_sdk.SpeechRecognizer(speech_config=speech_config,
                                               audio_config=audio_config)

result = speech_recognizer.recognize_once_async().get()

# Did it succeeed
if result.reason == speech_sdk.ResultReason.RecognizedSpeech:
    # Yes!
    print(f"Transcription:\n{result.text}")
else:
    # No. Try to determine why.
    print("Error transcribing message: {}".format(result.reason))