การรู้จําเสียง

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

Tip

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

การรู้จําเสียง หรือที่มักเรียกว่า การแปลงคําพูดเป็นข้อความ (STT) เป็นความสามารถของ AI ที่ช่วยให้แอปและตัวแทนสามารถตอบสนองต่อการป้อนข้อมูลด้วยเสียงพูดได้ การรู้จําเสียงจะนําคําพูดมาแปลงเป็นข้อมูล ซึ่งมักจะเป็นข้อความ ซอฟต์แวร์แปลงคําพูดเป็นข้อความมักใช้หลายรุ่น ได้แก่:

  • โมเดล อะคูสติก ที่แปลงเสียงเป็นหน่วยเสียง (การแสดงเสียงเฉพาะ)
  • โมเดล ภาษา ที่แมปหน่วยเสียงกับคํา

คําว่า AI ที่รับรู้เสียงพูดจะถูกแปลงเป็นข้อความ คุณสามารถใช้ข้อความเพื่อวัตถุประสงค์ต่างๆ เช่น การให้คําบรรยาย การสร้างการถอดเสียงการโทร การเขียนตามคําบอกโน้ตโดยอัตโนมัติ และอื่นๆ อีกมากมาย

Azure Speech - คําพูดเป็นข้อความ

Azure Speech มี API การแปลงคําพูดเป็นข้อความ ที่คุณสามารถใช้เพื่อประมวลผลการป้อนข้อมูลด้วยเสียงจากไมโครโฟนหรือไฟล์เสียง

Note

API (Application Programming Interface) คือชุดของกฎและปลายทางที่ช่วยให้แอปพลิเคชันซอฟต์แวร์หนึ่งสามารถสื่อสารและใช้ฟังก์ชันหรือข้อมูลของแอปพลิเคชันอื่นได้

Microsoft Foundry เป็นแพลตฟอร์มของ Microsoft ที่ช่วยให้นักพัฒนาสร้าง ทดสอบ และปรับใช้แอปพลิเคชันและเอเจนต์ AI โดยการรวบรวมโมเดล เครื่องมือ ข้อมูล และบริการไว้ในที่เดียว

ในพอร์ทัล Microsoft Foundry ใหม่ เราสามารถสํารวจความสามารถในการแปลงคําพูดเป็นข้อความของ Azure Speech ได้ใน Playground ของ Foundry หากต้องการไปที่ Playground ให้ไปที่หน้า Build จากนั้นไปที่ Models จากนั้นไปที่แท็บ AI Services ในแท็บ คุณจะพบบริการ AI ที่พร้อมใช้งานสําหรับการทดสอบ รวมถึง Azure Speech - Speech to Text

ใน Playground คุณสามารถอัปโหลดไฟล์เสียงหรือบันทึกการพูดของตัวเองได้ Azure Speech ถอดเสียงสิ่งที่พูด ทําให้คุณรู้สึกว่าแอปพลิเคชันของคุณจะตอบสนองต่ออินพุตเสียงอย่างไร

ภาพหน้าจอของการแปลงคําพูดเป็นข้อความในสนามเด็กเล่น Foundry

สนามเด็กเล่นในพอร์ทัล Foundry เป็นสถานที่ที่ยอดเยี่ยมในการทดลองกับ Azure Speech แต่หากต้องการใช้การแปลงคําพูดเป็นข้อความในแอปพลิเคชันเราจําเป็นต้องเขียนโค้ดบางอย่าง

การใช้ SDK การแปลงคําพูดเป็นข้อความของ Azure

Azure Speech – Speech-to-Text SDK เป็นไลบรารีไคลเอ็นต์ที่ช่วยให้แอปพลิเคชันแปลงเสียงพูดเป็นข้อความเขียน SDK การแปลงคําพูดเป็นข้อความได้รับการออกแบบมาเพื่อให้การเพิ่มการรู้จําเสียงลงในแอปพลิเคชันได้ง่าย

Note

ไลบรารีไคลเอ็นต์คือชุดโค้ดสําเร็จรูปที่นักพัฒนาสามารถใช้ในแอปพลิเคชันของตนเพื่อพูดคุยกับบริการหรือ API ได้อย่างง่ายดาย

SDK ช่วยให้แอปพลิเคชันของคุณทําสิ่งต่อไปนี้ได้

  • จับภาพหรือส่งเสียงจากไมโครโฟน ไฟล์เสียง หรือสตรีมเสียง
  • ส่งเสียงนั้นไปยัง Azure Speech อย่างปลอดภัย
  • รับข้อความที่ถอดเสียงแบบเกือบเรียลไทม์หรือหลังจากการประมวลผลเสร็จสิ้น

SDK จัดการเครือข่าย การรับรองความถูกต้อง การสตรีมเสียง และการแยกวิเคราะห์การตอบสนอง เพื่อให้นักพัฒนาสามารถมุ่งเน้นไปที่ตรรกะของแอปพลิเคชันได้

การพัฒนาแอปพลิเคชัน

โดยทั่วไปแล้ว SDK การแปลงคําพูดเป็นข้อความจะใช้ในไคลเอ็นต์หรือเลเยอร์บริการของแอปพลิเคชัน SDK ทําหน้าที่เป็นสะพานเชื่อมระหว่างรหัสแอปพลิเคชันของคุณและบริการ Azure Speech

เมื่อต้องการใช้ Azure Speech Python SDK คุณต้องมี Python เวอร์ชันที่เข้ากันได้และ Azure Speech Python SDK ติดตั้งอยู่

Python SDK สามารถติดตั้งใน เทอร์มินัล Visual Studio Code ได้โดยใช้:

pip install azure-cognitiveservices-speech

Note

โค้ดแอปพลิเคชันเขียนในตัว แก้ไขโค้ด เช่น Visual Studio Code เทอร์มินัลของตัวแก้ไขโค้ดคือหน้าต่างบรรทัดคําสั่งในตัวในตัวแก้ไข ซึ่งคุณสามารถเรียกใช้คําสั่งได้โดยไม่ต้องออกจากสภาพแวดล้อมการพัฒนาของคุณ

เมื่อต้องการใช้ Azure Speech คุณยังต้องสร้างทรัพยากร Foundry ด้วย ตําแหน่งข้อมูลและคีย์ทรัพยากร Foundry ใช้ในโค้ดของคุณเพื่อรับรองความถูกต้องของการเชื่อมต่อของคุณ

หลังจากที่คุณติดตั้ง Python SDK และสร้างทรัพยากร Foundry แล้ว คุณสามารถสร้างและเรียกใช้โปรแกรมของคุณได้ พิจารณารหัส Python ต่อไปนี้ เมื่อคุณเรียกใช้:

  1. แอปของคุณเริ่มต้น Speech SDK: ให้จุดสิ้นสุดและการรับรองความถูกต้อง (คีย์หรือ Microsoft Entra ID)
  2. บันทึกหรือโหลดเสียง: อินพุตไมโครโฟนหรือเสียง file/สตรีม
  3. เสียงถูกส่งไปยัง Azure Speech: SDK สตรีมหรืออัปโหลดเสียงอย่างปลอดภัย
  4. การรู้จําเสียงทํางานในระบบคลาวด์: โมเดลเสียงพูดของ Azure วิเคราะห์เสียง
  5. ผลลัพธ์ของข้อความจะถูกส่งคืน: แอปของคุณได้รับข้อความที่รู้จักและข้อมูลเมตาที่ไม่บังคับ
import azure.cognitiveservices.speech as speechsdk

# Set up the speech config using resource endpoint
endpoint_url = "ENDPOINT"
speech_key = "FOUNDRY_KEY"

speech_config = speechsdk.SpeechConfig(
    subscription=speech_key,
    endpoint=endpoint_url
)

# Create a recognizer with microphone input
audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True)
speech_recognizer = speechsdk.SpeechRecognizer(
    speech_config=speech_config, 
    audio_config=audio_config
)

# Event handlers
def recognized_handler(evt):
    print(f"Recognized: {evt.result.text}")

def recognizing_handler(evt):
    print(f"Recognizing: {evt.result.text}")

# Connect event handlers
speech_recognizer.recognized.connect(recognized_handler)
speech_recognizer.recognizing.connect(recognizing_handler)

# Start continuous recognition
speech_recognizer.start_continuous_recognition()
print("Say something...")

# Keep the program running
input("Press Enter to stop...")
speech_recognizer.stop_continuous_recognition()

ตัวอย่างแอปไคลเอ็นต์

ตัวอย่างเช่น สมมติว่าคุณต้องการพัฒนาแอปขนาดเล็กที่ถอดเสียงข้อความเสียงโดยอัตโนมัติ ในตัวแก้ไขโค้ด เรามีไฟล์เสียงหนึ่งไฟล์และไฟล์ Python หนึ่งไฟล์ ซึ่งมีโค้ดแอปพลิเคชัน

สกรีนช็อตของ Visual Studio Code ที่มีไฟล์เสียงเปิดอยู่

สมมติว่าคุณมีไฟล์เสียงที่มีการบันทึกข้อความเสียง หากต้องการถอดเสียงข้อความ ให้เริ่มต้นด้วยการระบุปลายทางและคีย์ และแหล่งเสียงที่คุณต้องการถอดเสียง จากนั้นใช้ SpeechRecognizer วัตถุเพื่อทําการถอดความก่อนที่จะแสดงผลลัพธ์

สกรีนช็อตของโค้ด python แปลงคําพูดเป็นข้อความใน Visual Studio Code

เมื่อคุณเรียกใช้โค้ด คุณจะเห็นข้อความการถอดเสียง

สกรีนช็อตของ Visual Studio Code ที่เปิดเทอร์มินัลและผลลัพธ์ของการแปลงคําพูดเป็นข้อความ

ตัวเลือกการประมวลผลเสียง

คุณสามารถใช้ API การแปลงคําพูดเป็นข้อความของ Azure Speech เพื่อทําการถอดเสียงแบบเรียลไทม์หรือเป็นชุดในรูปแบบข้อความ แหล่งเสียงสําหรับการถอดเสียงสามารถเป็นสตรีมเสียงแบบเรียลไทม์จากไมโครโฟนหรือไฟล์เสียงได้

การถอดเสียงแบบเรียลไทม์: การแปลงเสียงพูดเป็นข้อความแบบเรียลไทม์ช่วยให้คุณสามารถถอดเสียงสตรีมเสียงเป็นข้อความได้ คุณสามารถใช้การถอดเสียงแบบเรียลไทม์สําหรับการนําเสนอ การสาธิต หรือสถานการณ์อื่น ๆ ที่บุคคลนั้นพูดได้

แอปพลิเคชันของคุณต้องรอรับฟังเสียงจากไมโครโฟน หรือแหล่งสัญญาณเสียงเข้าอื่น ๆ เช่น ไฟล์เสียง รหัสแอปพลิเคชันของคุณจะสตรีมเสียงไปยังบริการ ซึ่งส่งกลับข้อความอธิบาย

การถอดเสียงเป็นชุด: สถานการณ์การเปลี่ยนคําพูดเป็นข้อความไม่ใช่ทุกสถานการณ์แบบเรียลไทม์ คุณอาจมีการบันทึกเสียงที่จัดเก็บไว้ในการแชร์ไฟล์ เซิร์ฟเวอร์ระยะไกล หรือแม้กระทั่งบนที่เก็บข้อมูล Azure คุณสามารถชี้ไปยังไฟล์เสียงด้วย URI ลายเซ็นสําหรับการเข้าถึงที่ใช้ร่วมกัน (SAS) และได้รับผลลัพธ์การถอดข้อความแบบอะซิงโครนัส

ควรรันการถอดข้อความชุดงานแบบอะซิงโครนัสเนื่องจากมีการจัดกําหนดการชุดงานโดยใช้ความพยายามอย่างดีที่สุด โดยปกติงานจะเริ่มดําเนินการภายในไม่กี่นาทีของคําขอ แต่ไม่มีการประเมินสําหรับเมื่องานเปลี่ยนเป็นสถานะกําลังทํางาน

การรู้จําเสียงใน Azure Speech เป็นวิธีที่ยอดเยี่ยมในการสร้างโซลูชันที่ถอดเสียงเสียงที่บันทึกไว้หรือคําบรรยายเสียงพูดโดยอัตโนมัติ เรียนรู้วิธีรวมการสังเคราะห์เสียงพูดเข้ากับแอปพลิเคชัน