Cloud Speech API, 80'den fazla dilde ses dosyalarından metne dönüştürme yapmanıza olanak tanır.
Bu laboratuvarda, bir ses dosyası kaydedecek ve metne dönüştürme için Cloud Speech API'ye göndereceğiz.
Neler öğreneceksiniz?
- Speech API isteği oluşturma ve curl ile API'yi çağırma
- Farklı dillerdeki ses dosyalarıyla Speech API'yi çağırma
Gerekenler
Bu eğitimi nasıl kullanacaksınız?
Google Cloud Platform deneyiminizi nasıl değerlendirirsiniz?
Bağımsız tempolu ortam kurulumu
Google Hesabınız (Gmail veya Google Apps) yoksa bir hesap 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 tüm Google Cloud projeleri genelinde benzersiz bir ad olarak hatırlayın (yukarıdaki ad zaten alınmıştı ve maalesef sizin için çalışmaz). Bu, daha sonra bu codelab'de 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 gözden geçirmek için çalışmanın birkaç dolardan fazla maliyeti olmayacak. Ancak daha fazla kaynak kullanmaya karar verirseniz veya bunları çalışır durumda bırakırsanız (bu belgenin sonundaki "temizlik" bölümüne bakın) daha yüksek maliyetli olabilir.
Yeni Google Cloud Platform kullanıcıları 300 ABD doları değerindeki ücretsiz denemeden yararlanabilir.
Ekranın sol üst tarafındaki menü simgesini tıklayın.
Açılır menüden API'ler ve Hizmetler kontrol panelini seçin.
API'leri ve Hizmetleri Etkinleştir'i tıklayın.
Ardından, arama kutusunda "konuşma" araması yapın. Google Cloud Speech API'yi tıklayın:
Cloud Speech API'yi etkinleştirmek için Etkinleştir'i tıklayın:
Etkinleştirmek için birkaç saniye bekleyin. Bu özellik etkinleştirildikten sonra bunu görürsünüz:
Google Cloud Shell, Cloud'da çalışan bir komut satırı ortamıdır. Bu Debian tabanlı sanal makine, ihtiyacınız olan tüm geliştirme araçları (gcloud
, bq
, git
ve diğerleri) yüklü olarak gelir ve kalıcı 5 GB 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ününceye kadar bekleyin
Speech API'ye istek göndermek için curl
kodunu kullanacağımızdan, istek URL'mizi iletmek için bir API anahtarı oluşturmamız gerekir. 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, yeni oluşturduğunuz anahtarı kopyalayın ve Kapat'ı seçin (anahtarı kısıtlamayın).
Artık bir API anahtarınız bulunduğuna göre artık her istekte API anahtarınızın değerini eklemek zorunda kalmamak için anahtarı bir ortam değişkenine kaydedin. Bunu Cloud Shell'de yapabilirsiniz. <your_api_key>
öğesini, az önce kopyaladığınız anahtarla değiştirdiğinizden 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 birini (nano, vim, emacs) veya Cloud Shell'deki yerleşik web düzenleyiciyi kullanabilirsiniz:
Kolayca başvuruda bulunabilmek ve aşağıdaki dosyayı request.json
dosyanıza eklemek için dosyayı ana dizininizde oluşturun :
request.json
{
"config": {
"encoding":"FLAC",
"languageCode": "en-US"
},
"audio": {
"uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
}
}
İstek gövdesinde config
ve audio
nesnesi bulunur. config
bölgesinde, Speech API'ye isteğin nasıl işleneceğini açıklarız. encoding
parametresi, API'ye göndermekte olduğunuz ses dosyası için ne tür ses kodlaması kullandığınızı API'ye bildirir. FLAC
, .raw dosyaları için kodlama türüdür (daha fazla bilgi için kodlama türüne ait belgelere bakın). config
nesnenize ekleyebileceğiniz başka parametreler de vardır, ancak encoding
tek parametredir. İstek dışında bırakılırsa languageCode
dili varsayılan olarak İngilizce olur.
audio
nesnesinde, Cloud Storage'daki ses dosyamızın uri'sini veya base64 olarak kodlanmış sesi dize olarak aktarabilirsiniz. Cloud Storage URL'lerini kullanıyorduk. Sonraki adım Speech API'yi çağırmaktır.
Artık istek gövdenizi, daha önce kaydettiğiniz API anahtar ortamı değişkeniyle birlikte aşağıdaki curl
komutuyla Speech API'ye iletebilirsiniz (tümü 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, ses dosyanızın Speech API'sinin metne dönüştürmesini döndürür ve confidence
değeri, API'nin sesinizi doğru şekilde metne dönüştürdüğünden ne kadar emin olduğunu gösterir.
Yukarıdaki isteğimizde recognize
yöntemini çağırdığımızı fark edeceksiniz. Speech API hem eşzamanlı hem de eşzamansız sesle yazma çeviri yazılarını destekler. Bu örnekte, ses dosyasının tamamını gönderdik. Ancak, kullanıcı konuşurken canlı konuşmayı metne dönüştürme işlemi için longrunningrecognize
yöntemini de kullanabilirsiniz.
Çok dilli misiniz? Speech API, 100'den fazla dilde konuşmayı metne dönüştürme özelliğini destekler. languageCode
parametresini request.json
ürününde değiştirebilirsiniz. Desteklenen dillerin listesini burada bulabilirsiniz.
Fransızca bir ses dosyası deneyelim (önizleme isterseniz 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öreceksiniz:
{
"results": [
{
"alternatives": [
{
"transcript": "maître corbeau sur un arbre perché tenait en son bec un fromage",
"confidence": 0.9710122
}
]
}
]
}
Bu, popüler bir Fransız çocuk hikayesinin cümlesidir. Başka bir dilde ses dosyalarınız varsa bunları Cloud Storage'a eklemeyi ve isteğinizde languageCode
parametresini değiştirmeyi deneyebilirsiniz.
Speech API ile sesle yazma yapmayı öğrendiniz. Bu örnekte, ses dosyanızın Google Cloud Storage URI'sını geçtiniz. Alternatif olarak, ses içeriğinizin base64 olarak kodlanmış dizesini aktarabilirsiniz.
Değindiğimiz konular
- Bir ses dosyasının Google Cloud Storage URI'sını Speech API'ye iletme
- Speech API isteği oluşturma ve curl ile API'yi çağırma
- Farklı dillerdeki ses dosyalarıyla Speech API'yi çağırma
Sonraki adımlar
- Dokümanlardaki Speech API eğitimlerine göz atın.
- Vision API ve Natural Language API'yi deneyin.