Cloud Speech API, 80'den fazla dildeki ses dosyalarından metin transkripsiyonu oluşturmanıza olanak tanır.
Bu laboratuvarda bir ses dosyası kaydedip transkripsiyon için Cloud Speech API'ye göndereceğiz.
Neler öğreneceksiniz?
- Speech API isteği oluşturma ve API'yi curl ile çağırma
- Farklı dillerdeki ses dosyalarıyla Speech API'yi çağırma
İhtiyacınız olanlar
Bu eğitimi nasıl kullanacaksınız?
Google Cloud Platform deneyiminizi nasıl değerlendirirsiniz?
Kendi hızınızda ortam kurulumu
Henüz bir Google Hesabınız (Gmail veya Google Apps) yoksa oluşturmanız gerekir. Google Cloud Platform Console'da (console.cloud.google.com) oturum açın ve yeni bir proje oluşturun:
Proje kimliğini unutmayın. Bu kimlik, tüm Google Cloud projelerinde benzersiz bir addır (Yukarıdaki ad zaten alınmış olduğundan sizin için çalışmayacaktır). Bu codelab'in ilerleyen kısımlarında PROJECT_ID
olarak adlandırılacaktır.
Ardından, Google Cloud kaynaklarını kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir.
Bu codelab'i tamamlamak size birkaç dolardan fazla maliyet getirmemelidir. Ancak daha fazla kaynak kullanmaya karar verirseniz veya kaynakları çalışır durumda bırakırsanız maliyet daha yüksek olabilir (bu belgenin sonundaki "temizleme" bölümüne bakın).
Google Cloud Platform'un yeni kullanıcıları 300 ABD doları değerindeki ücretsiz deneme sürümünden yararlanabilir.
Ekranın sol üst kısmındaki menü simgesini tıklayın.
Açılır listeden API'ler ve Hizmetler kontrol panelini seçin.
API'leri ve hizmetleri etkinleştir'i tıklayın.
Ardından, arama kutusuna "konuşma" yazın. Google Cloud Speech API'yi tıklayın:
Cloud Speech API'yi etkinleştirmek için Etkinleştir'i tıklayın:
Etkinleşmesi için birkaç saniye bekleyin. Etkinleştirildikten sonra şunları görürsünüz:
Google Cloud Shell, Cloud'da çalışan bir komut satırı ortamıdır. Bu Debian tabanlı sanal makine, ihtiyaç duyacağınız tüm geliştirme araçları (gcloud
, bq
, git
ve diğerleri) yüklü olarak gelir ve 5 GB kalıcı ana dizin sunar. Speech API'ye yönelik isteğimizi oluşturmak için Cloud Shell'i kullanacağız.
Cloud Shell'i kullanmaya başlamak için başlık çubuğunun sağ üst köşesindeki "Google Cloud Shell'i etkinleştir" simgesini tıklayın.
Konsolun altındaki yeni bir çerçevede Cloud Shell oturumu açılır ve komut satırı istemi görüntülenir. user@project:~$ istemi görünene kadar bekleyin.
Speech API'ye istek göndermek için curl
kullanacağımızdan istek URL'sini iletmek için bir API anahtarı oluşturmamız gerekecektir. API anahtarı oluşturmak için proje kontrol panelinizin API'ler ve Hizmetler > Kimlik Bilgileri bölümüne gidin:
Ardından, Kimlik bilgileri oluştur'u tıklayın:
Açılır menüde, API anahtarı'nı seçin:
Ardından, oluşturduğunuz anahtarı kopyalayın ve Kapat'ı seçin (anahtarı kısıtlamayın).
Artık bir API anahtarınız var. Şimdi bu anahtarı bir ortam değişkenine kaydedip her istekte API anahtarınızın değerini ekleme zahmetinden kurtulabilirsiniz. Bu işlemi Cloud Shell'de yapabilirsiniz. <your_api_key>
yerine az önce kopyaladığınız anahtarı yapıştırdığınızdan emin olun.
export API_KEY=<YOUR_API_KEY>
Speech API'ye yönelik isteğinizi bir request.json
dosyasında oluşturabilirsiniz. Bu dosyayı oluşturmak ve düzenlemek için tercih ettiğiniz komut satırı düzenleyicilerinden (nano, vim, emacs) birini veya Cloud Shell'deki yerleşik web düzenleyiciyi kullanabilirsiniz:
Kolayca referans verebilmek için dosyayı ana dizininizde oluşturun ve request.json
dosyanıza aşağıdakileri ekleyin :
request.json
{
"config": {
"encoding":"FLAC",
"languageCode": "en-US"
},
"audio": {
"uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
}
}
İsteğin gövdesinde bir config
ve audio
nesnesi bulunur. config
bölümünde, Speech API'nin isteği nasıl işleyeceğini belirtiriz. encoding
parametresi, API'ye gönderdiğiniz ses dosyası için kullandığınız ses kodlama türünü API'ye bildirir. FLAC
, .raw dosyaları için kullanılan kodlama türüdür (kodlama türüyle ilgili daha fazla bilgi için dokümanlara bakın). config
nesnenize ekleyebileceğiniz başka parametreler de vardır ancak yalnızca encoding
parametresi zorunludur. languageCode
, istekte belirtilmezse varsayılan olarak İngilizce olur.
audio
nesnesinde, Cloud Storage'daki ses dosyamızın URI'sini veya base64 kodlu sesi dize olarak API'ye iletebilirsiniz. Burada Cloud Storage URL'leri kullanıyoruz. Bir sonraki adım, Speech API'yi çağırmaktır.
Artık isteğinizin gövdesini, daha önce kaydettiğiniz API anahtarı ortam değişkeniyle birlikte aşağıdaki curl
komutunu kullanarak Speech API'ye iletebilirsiniz (hepsi tek bir komut satırında):
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json "https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}"
Bu curl
komutu tarafından döndürülen yanıt aşağıdaki gibi görünmelidir:
{
"results": [
{
"alternatives": [
{
"transcript": "how old is the Brooklyn Bridge",
"confidence": 0.98267895
}
]
}
]
}
transcript
değeri, Speech API'nin ses dosyanızla ilişkili olarak ürettiği transkripti döndürür. confidence
değeri ise API'nin, ses dosyanızın transkriptinin doğruluğundan ne kadar emin olduğunu gösterir.
Yukarıdaki isteğimizde recognize
yöntemini çağırdığımızı fark etmişsinizdir. Speech API hem eşzamanlı hem de eşzamansız sesle yazma transkriptini destekler. Bu örnekte, ses dosyasının tamamını gönderdik ancak longrunningrecognize
yöntemini, kullanıcı konuşmaya devam ederken canlı sesle yazma transkripti üretmek için de kullanabilirsiniz.
Birden fazla dil biliyor musunuz? Speech API, 100'den fazla dilde sesle yazma transkripsiyonunu destekler. languageCode
parametresini request.json
bölümünde değiştirebilirsiniz. Desteklenen dillerin listesini burada bulabilirsiniz.
Fransızca bir ses dosyası deneyelim (önizleme için buradan dinleyebilirsiniz). request.json dosyanızı aşağıdaki gibi değiştirin:
request.json
{
"config": {
"encoding":"FLAC",
"languageCode": "fr"
},
"audio": {
"uri":"gs://speech-language-samples/fr-sample.flac"
}
}
Aşağıdaki yanıtı görmeniz gerekir:
{
"results": [
{
"alternatives": [
{
"transcript": "maître corbeau sur un arbre perché tenait en son bec un fromage",
"confidence": 0.9710122
}
]
}
]
}
Bu cümle, popüler bir Fransız çocuk masalından alınmıştır. Başka bir dilde ses dosyalarınız varsa bunları Cloud Storage'a eklemeyi ve isteğinizdeki languageCode
parametresini değiştirmeyi deneyebilirsiniz.
Speech API ile konuşmayı metne dönüştürme işlemini nasıl yapacağınızı öğrendiniz. Bu örnekte, ses dosyanızın Google Cloud Storage URI'sini API'ye ilettiniz. Alternatif olarak, ses içeriğinizin base64 kodlu bir dizesini iletebilirsiniz.
İşlediğimiz konular
- Speech API'ye bir ses dosyasının Google Cloud Storage URI'sini iletme
- Speech API isteği oluşturma ve API'yi curl ile çağırma
- Farklı dillerdeki ses dosyalarıyla Speech API'yi çağırma
Sonraki adımlar
- Belgelerdeki Speech API eğitimlerine göz atın.
- Vision API ve Natural Language API'yi deneyin.