BELAJAR ANALISIS DAN BAHASA PEMROGRAMAN

Speech to Text pada Python

Halo guys, kalo ini kita akan coba untuk mengubah suara menjadi text. Sebelum itu kita harus tau dulu tentang Speech recognition. 

Speech recognition berakar pada penelitian yang dilakukan di Bell Labs pada awal 1950-an. Sistem awal terbatas pada satu penutur dan memiliki kosakata terbatas sekitar selusin kata. Sistem Speech recognition modern telah berkembang pesat sejak sistem lama tersebut. Mereka dapat mengenali ucapan dari berbagai penutur dan memiliki banyak kosakata dalam berbagai bahasa.

Komponen pertama dari Speech recognition, tentu saja, adalah ucapan/ speech. Ucapan harus diubah dari suara fisik menjadi sinyal listrik dengan mikrofon, dan kemudian ke data digital dengan konverter analog-ke-digital. Setelah mendigitalkan, beberapa model dapat digunakan untuk mentranskripsikan audio menjadi teks.

Kebanyakan sistem Speech recognition modern mengandalkan apa yang dikenal sebagai Hidden Markov Model (HMM). Pendekatan ini bekerja dengan asumsi bahwa sinyal ucapan, jika dilihat dalam skala waktu yang cukup singkat (katakanlah, sepuluh milidetik), dapat diperkirakan secara wajar sebagai proses stasioner, yaitu proses di mana properti statistik tidak berubah seiring waktu.

Dalam HMM, sinyal ucapan dibagi menjadi fragmen 10 milidetik. Spektrum daya setiap fragmen, yang pada dasarnya adalah plot kekuatan sinyal sebagai fungsi frekuensi, dipetakan ke vektor bilangan real yang dikenal sebagai koefisien cepstral. Dimensi vektor ini biasanya kecil terkadang serendah 10, meskipun sistem yang lebih akurat mungkin memiliki dimensi 32 atau lebih. Keluaran akhir dari HMM adalah urutan vektor-vektor ini.

Untuk memecahkan code speech menjadi teks, kelompok vektor dicocokkan dengan satu atau lebih fonem unit dasar ucapan. Perhitungan ini memerlukan pelatihan, karena bunyi fonem bervariasi dari satu pembicara ke pembicara lainnya, dan bahkan berbeda dari satu ucapan ke ucapan lainnya oleh pembicara yang sama. Algoritma khusus kemudian diterapkan untuk menentukan kata (atau kata) yang paling mungkin menghasilkan urutan fonem tertentu.

Dapat dibayangkan bahwa seluruh proses ini mungkin mahal secara komputasi. Dalam banyak sistem speech recognition modern, neural network digunakan untuk menyederhanakan sinyal ucapan menggunakan teknik untuk transformasi fitur dan pengurangan dimensi sebelum pengenalan HMM. Voice activity detectors (VAD) juga digunakan untuk mengurangi sinyal audio menjadi hanya bagian yang kemungkinan besar berisi ucapan. Ini mencegah pengenal membuang-buang waktu menganalisis bagian sinyal yang tidak perlu.

Disini Kita akan menggunkan library SpeechRecognition di python. Sebelum itu kita akan coba bahas sedikit mengenai library ini. Untuk menginstallnya kita cukup gunakan perintah pip install SpeechRecognition.

Didalam SpeechRecognition terdapat Recognizer class. Tujuan utama dari instance Recognizer tentu saja, untuk mengenali ucapan. Setiap instance hadir dengan berbagai pengaturan dan fungsionalitas untuk mengenali ucapan dari sumber audio.

Setiap instance Recognizer memiliki tujuh metode untuk mengenali ucapan dari sumber audio menggunakan berbagai API. :

recognize_bing(): Microsoft Bing Speech

recognize_google(): Google Web Speech API

recognize_google_cloud(): Google Cloud Speech - requires installation of the google-cloud-speech package

recognize_houndify(): Houndify by SoundHound

recognize_ibm(): IBM Speech to Text

recognize_sphinx(): CMU Sphinx - requires installing PocketSphinx

recognize_wit(): Wit.ai

Biar gk terlalu kepanjangan kita langsung coba saja gasss.

Pertama kita import terlebih dahulu librarynya

import speech_recognition as sr

Kemudian disini saya ngedefine sr.Recognizer() sebagai r

r = sr.Recognizer()

statement with di Python digunakan dalam penanganan pengecualian untuk membuat kode lebih bersih dan lebih mudah dibaca. Kemudian kita masukkan juga lokasi file yang akan kita ubah menjadi text. Dan setelah itu kita record file yang akan kita transkripsi agar bisa di masukkan langsung ke dalam fungsi recognize google.

with sr.AudioFile("file/Gombel.wav") as source:

audio = r.record(source)

Kemudian disini adalah proses pengenalan dan pengubahan dari audio menjadi text menggunakan Google Speech Recognition.

try:

print("Transkripsi: " + r.recognize_google(audio, language="id-ID"))   

LookupError Exception adalah kelas Dasar untuk error yang muncul ketika sesuatu tidak dapat ditemukan atau speech is unintelligible. 

except LookupError:                               

print("Saya tidak mengerti")

Setelah kita running maka akan mendapatkan output seperti ini


Untuk sourcenya : SpeechRecognition
Kalian bisa download di github : pujoseno
Mungkin sekian dulu untuk post kali ini sampai jumpa di next post.

Speech to Text pada Python Speech to Text pada Python Reviewed by Jimmy Pujoseno on September 17, 2020 Rating: 5

No comments:

Recent Post

Powered by Blogger.