Ana içeriğe geç

Amazon Polly: AWS'de Metinden Konuşmaya (TTS) Kapsamlı Rehber

Uygulamalarınıza ses kazandırın! Amazon Polly ile metni, AWS’nin güçlü metinden konuşmaya hizmetini kullanarak doğal konuşmaya dönüştürmeyi öğrenin.
· 15 dk. oku

Yapay Zeka ile Keşfedin

GPT sonrası dönemde, sanal asistanlardan görme engelli kullanıcıların dijital içerikte gezinmesine yardımcı olan erişilebilirlik özelliklerine kadar sesli etkileşim giderek daha önemli hale geliyor. Amazon Polly, metinden konuşmaya işlevini eklemeyi kolaylaştırmakla kalmaz, aynı zamanda çok sayıda dili ve geniş bir ses yelpazesini destekleyerek son derece kişiselleştirilmiş ve sürükleyici bir kullanıcı deneyimi sunar. 

Bu eğitim, okuyuculara Amazon Polly'yi nasıl kuracaklarını ve uygulamalara nasıl entegre edeceklerini öğretmeyi amaçlar; böylece sesli etkileşimin potansiyelini açığa çıkararak daha dinamik ve erişilebilir dijital deneyimlerin önünü açar.

Amazon Polly nedir?

Amazon Polly, doğal sesli konuşma üretmek için gelişmiş derin öğrenme teknolojilerini kullanan bir Metinden Konuşmaya (TTS) hizmetidir. Geliştiricilerin insan benzeri bir şekilde "konuşabilen" uygulamalar oluşturmasına olanak tanıyan en sofistike mevcut TTS hizmetlerinden biri olarak öne çıkar. Hizmet, 30'dan fazla dilde 60'tan fazla sesi destekleyerek farklı dil gereksinimlerine sahip küresel bir kitleye hitap eder.

Amazon Polly'nin temel özelliklerinden biri, geleneksel konuşma sentezi sistemleriyle karşılaştırıldığında daha ifade gücü yüksek ve doğal sesler sunan nöral metinden konuşmaya (NTTS) teknolojisidir. Bu, perde, ses yüksekliği ve konuşma hızı gibi konuşma özelliklerini ayarlamayı içerir ve geliştiricilere ses çıktısı üzerinde hassas kontrol sağlar. Örneğin, konuşmayı daha neşeli, heyecanlı veya empatik hale getirerek kullanıcılarla duygusal bağı güçlendirebilirsiniz.

Amazon Polly ayrıca, geliştiricilerin konuşmayı görsel öğelerle senkronize etmesine olanak tanıyan speech marks gibi özellikleri de destekler; örneğin konuşulan metni vurgulamak veya karakterleri sese dudak senkronu yapacak şekilde canlandırmak. Bu da onu etkileşimli hikaye anlatımı, eğitim içerikleri ve erişilebilirlik araçları için ideal bir çözüm haline getirir.

İster sesle etkinleştirilen bir sanal asistan, ister bir sesli kitap platformu ya da ses özelliklerine sahip bir IoT cihazı geliştiriyor olun, Amazon Polly fikirlerinizi hayata geçirmek için gereken esnekliği ve ölçeklenebilirliği sağlar.

Amazon Polly'yi Kurma

Şimdi uygulamalı olarak Amazon Polly'yi kuralım! Bu bölüm, bunu nasıl yapacağınıza dair bir genel bakış sunar.

Adım 1: AWS hesabı oluşturma

Amazon Polly'yi kullanmak için önce bir AWS hesabına ihtiyacınız var. Henüz yoksa ne, AWS kayıt sayfasına gidin ve adımları izleyerek hesabı oluşturun. Polly de dahil olmak üzere AWS hizmetleri kullanıma göre faturalandırıldığından geçerli fatura bilgileri sağladığınızdan emin olun.

İzinler için IAM kurulumu

Şunu öneririm: gerekli izinlere sahip bir IAM (Identity and Access Management) kullanıcısı kurun ve Amazon Polly kaynaklarını yönetebilsin. Kullanıcının tüm Polly özelliklerine erişebilmesi için AmazonPollyFullAccess ilkesini atayın.

Adım 2: Amazon Polly'ye gitme

AWS Management Console'a giriş yaptıktan sonra, üst kısımdaki arama çubuğunda Polly'i arayın.

Amazon Polly araması için AWS arama çubuğunun ekran görüntüsü

AWS konsolundaki arama menüsü.

Polly arayüzüne girmek için Amazon Polly hizmetine tıklayın.

Metinden Konuşma için Amazon Polly'yi Kullanma

Geliştiriciler normalde metinden konuşma işlevini doğrudan uygulamalarına entegre etmek için Amazon Polly API'sini kullanır. Ancak, kod yazmadan farklı sesleri ve ayarları hızla denemek için AWS Polly arayüzünü de kullanabilirsiniz. Bunu yapmak için Polly arayüzünde Try Polly düğmesine tıklayın. Bu düğme, AWS Konsolu'ndan çeşitli metin girdileri, ses türleri ve çıktı formatlarıyla denemeler yapmanızı sağlar; böylece programlı olarak uygulamadan önce Polly'nin yeteneklerini keşfetmeyi kolaylaştırır.

Temel metinden konuşmaya dönüştürme

Temel bir metinden konuşmaya dönüştürme yapmak için giriş kutusuna "Hello, welcome to Amazon Polly!" gibi bir cümle girin. Motor türünü (ör. üretken, uzun biçim, nöral veya standart), dili ve sesi de seçebilirsiniz. Çıktıyı anında dinlemek için Dinle'ye tıklayın veya İndir'e tıklayarak .mp3 dosyası olarak indirin.

AWS Polly Arayüzü

AWS konsolunda Amazon Polly arayüzü. 

Metinden konuşma için AWS SDK'yı kurma

Amazon Polly'yi uygulamalarınıza programlı olarak entegre etmek için AWS SDK'yı kurmanız gerekir. Bu, Amazon Polly ile doğrudan kodunuzdan etkileşim kurmanızı sağlar ve daha dinamik, özelleştirilebilir metinden konuşma işlevlerine olanak tanır.

Bu eğitimde Python SDK'sı (boto3)'ü kullanacağız. boto3'ü pip ile kurun:

pip install boto3

Ardından AWS kimlik bilgilerinizi yapılandırın AWS CLI'yı kullanarak:

aws configure

CLI'da aws configure

CLI'da aws configure komutu.

SDK ile konuşma üretme

İşte Amazon Polly kullanarak metni konuşmaya dönüştüren basit bir Python betiği:

import boto3

polly = boto3.client('polly')
response = polly.synthesize_speech(
    Text='Hello, this is a test of Amazon Polly.',
    OutputFormat='mp3',
    VoiceId='Joanna'
)

with open('speech.mp3', 'wb') as file:
    file.write(response['AudioStream'].read())

Bu betik, metinden konuşma üretir ve bir mp3 dosyası olarak kaydeder.

Amazon Polly'nin Gelişmiş Özellikleri

Amazon Polly, temel metinden konuşma işleviyle yaygın olarak bilinse de, geliştiricilerin daha sofistike ve etkileşimli ses deneyimleri oluşturmasına olanak tanıyan bir dizi gelişmiş özellik de sunar. 

SSML (Speech Synthesis Markup Language) kullanma

SSML (Speech Synthesis Markup Language), perde, hız, ses yüksekliği ve vurgu gibi çeşitli konuşma unsurlarını kontrol etmeye olanak tanır ve ses çıktısını daha ifade gücü yüksek ve doğal hale getirir.

SSML etiketlerini kullanarak duraklamalar ekleyebilir, konuşma tarzlarını ayarlayabilir ve hatta kısaltmaları harf harf okutabilirsiniz. Bu esneklik, özellikle hikaye anlatımı, e-öğrenme platformları ve müşteri hizmetleri uygulamaları gibi, ton ve anlatım tarzının kullanıcı etkileşimini önemli ölçüde etkilediği senaryolarda faydalıdır. 

Örneğin, belirli kelimeleri vurgulayarak önemi aktarabilir veya açıklayıcı içerikler için konuşma hızını değiştirerek anlaşılabilirliği artırabilirsiniz.

İşte Polly SDK ile SSML kullanımı:

response = polly.synthesize_speech(
    Text="<speak><emphasis level='strong'>Important</emphasis> message!</speak>",
    TextType='ssml',
    OutputFormat='mp3',
    VoiceId='Matthew'
)

# Save the audio file
with open('speech_ssml.mp3', 'wb') as file:
    file.write(response['AudioStream'].read())

Bu örnek, konuşulan mesajda dikkat çekmesi için "Important" kelimesini vurgular ve dinleyici üzerindeki duygusal etkiyi artırır. SSML ayrıca fonem telaffuzu, fısıltı ve ses efektleri ekleme gibi gelişmiş özellikleri de destekler; geliştiricilere ses deneyimi üzerinde tam kontrol sağlar.

Dudak senkronu için speech marks

Speech marks, konuşmayı animasyonlar, metin vurgulama veya karakter dudak hareketleriyle senkronize etmeye olanak tanıyan zaman hizalı meta veriler sağlar. 

Bu özellik, sanal karakterler, eğitim oyunları veya karaoke tarzı metin vurgulama gibi etkileşimli uygulamalar için özellikle değerlidir. 

Konuşma senteziyle birlikte speech marks talep ederek her kelime veya cümle için ayrıntılı zamanlama bilgileri elde edersiniz; bu da dinamik, senkronize multimedya deneyimleri oluşturmanıza olanak tanır. 

Örneğin, bir karakterin ağız hareketlerini konuşulan kelimelerle senkronize şekilde canlandırabilir veya anlatım sırasında metni gerçek zamanlı olarak vurgulayabilirsiniz. İşte speech marks talep etme örneği:

response = polly.synthesize_speech(
    Text='Hello, world!',
    OutputFormat='json',
    VoiceId='Emma',
    SpeechMarkTypes=['word']
)

# Save the speech marks to a JSON file
with open('speech_marks.json', 'wb') as file:
    file.write(response['AudioStream'].read())

JSON çıktısı:

{"time":6,"type":"word","start":0,"end":5,"value":"Hello"}
{"time":714,"type":"word","start":7,"end":12,"value":"world"}

Yukarıdaki örnek, her kelime için speech marks talep eder ve zaman damgaları ile metin verilerini içeren bir JSON nesnesi döndürür. Geliştiriciler bu bilgileri kullanarak animasyonları kare kare senkronize edebilir; böylece ses-görüntü deneyimi daha etkileyici ve gerçekçi hale gelir.

Amazon Polly ile gerçek zamanlı akış

Sesli asistanlar, canlı yorumlar veya etkileşimli sohbet botları gibi gerçek zamanlı uygulamalar için Amazon Polly, WebSocket protokolünü veya HLS'yi (HTTP Live Streaming) destekleyen medya oynatıcılarını kullanarak akışı destekler. 

Bu sayede uygulamalar, ses sentezlenirken oynatmaya başlayabilir; gecikmeyi azaltır ve daha duyarlı bir kullanıcı deneyimi oluşturur. Gerçek zamanlı akış, anındalık gerektiren canlı müşteri desteği veya konuşmalı yapay zeka gibi senaryolar için idealdir. 

Geliştiriciler bu özelliği, kullanıcı girdilerine anında yanıt veren sesle etkinleştirilen cihazlar, haber okuyucular veya etkileşimli hikaye anlatımı uygulamaları oluşturmak için kullanabilir.

Amazon Polly Kaynaklarını Yönetme

Amazon Polly kaynaklarının etkin yönetimi; performans, maliyet ve ölçeklenebilirliği optimize etmek için kritik öneme sahiptir. Konuşma dosyalarını stratejik olarak depolayarak ve kullanımı izleyerek, yüksek kaliteli bir kullanıcı deneyimini korurken kaynak kullanımını verimli hale getirebilirsiniz. 

Amazon Polly, depolama için Amazon S3 ve maliyet izleme için AWS Faturalandırma Panosu gibi diğer AWS hizmetleriyle sorunsuz şekilde bütünleşir; bu da kaynak yönetimini kolaylaştırır. 

Konuşma dosyaları oluşturma ve yönetme

Amazon Polly, sentezlenmiş konuşmayı ölçeklenebilir depolama ve kolay erişim için Amazon S3'te saklamanıza olanak tanır. Bu yaklaşım, e-öğrenme platformları, sesli kitaplar veya müşteri destek botları gibi tekrarlayan ses gereksinimleri olan uygulamalar için özellikle kullanışlıdır; her seferinde konuşma sentezlemek yerine ses dosyalarını yeniden kullanabilirsiniz. 

Sık kullanılan konuşma çıktıları S3'te saklanarak maliyetler düşürülebilir ve önbelleğe alınmış ses dosyaları doğrudan buluttan sunularak performans artırılabilir.

s3 = boto3.client('s3')
s3.upload_file('speech.mp3', 'your-bucket-name', 'speech.mp3')

Kullanımı ve maliyetleri izleme

Kullanımı ve maliyetleri etkin biçimde izlemek için AWS Faturalandırma ve Maliyet Yönetimi Panosu'ndan yararlanın. Bu pano, ayrıntılı maliyet dökümleri, kullanım raporları sunar ve beklenmedik ücretlerden kaçınmak için bütçeler ve uyarılar oluşturmanıza olanak tanır. 

Nöral sesler, standart seslere göre daha pahalı olduğundan maliyetleri izlemek özellikle önemlidir. Ayrıca sentezlenen karakter sayısı ve API çağrılarının sıklığı gibi kullanım metriklerini takip ederek kaynak kullanımını optimize edebilirsiniz.

Örnek AWS Panosu

Örnek bir AWS maliyet panosu.

Amazon Polly Kullanımı İçin En İyi Uygulamalar

Amazon Polly kullanırken en iyi uygulamaları benimsemek, en iyi performansı, maliyet verimliliğini ve kullanıcı deneyimini sağlar. İşte bazı temel yönergeler:

Doğru sesi seçme

Doğru sesin seçimi, uygulamanın amacına ve hedef kitlesine bağlıdır. Amazon Polly; her biri benzersiz ton ve özelliklere sahip standart ve nöral sesler dahil olmak üzere çeşitli sesler sunar. 

  • Nöral sesler daha doğal ve ifade gücü yüksek bir ses sunar ancak daha pahalıdır. Bu nedenle, sesli kitaplar veya hikaye anlatımı gibi yüksek duygusal etkileşim gerektiren uygulamalar için idealdir. 
  • Standart sesler müşteri destek sohbet botları gibi fayda odaklı uygulamalar için maliyet etkin bir çözüm sunar. Kullanıcı geri bildirimiyle farklı sesleri test etmek, uygulamanızın ihtiyaçlarına en uygun sesi seçmeye yardımcı olur.

Konuşma çıktısını optimize etme

Perde, hız ve ses yüksekliği parametrelerini ayarlayarak konuşma kalitesini artırmak için SSML'den (Speech Synthesis Markup Language) yararlanın. Bu ayarları ince ayar yaparak daha dinamik ve etkileyici bir ses deneyimi oluşturabilirsiniz. 

Örneğin, konuşma hızını yavaşlatmak açıklayıcı içerikler için anlaşılabilirliği artırırken, önemli ifadeleri vurgulamak hikaye anlatımını güçlendirir. Farklı SSML etiketleriyle denemeler yapmak, en doğal sesli konuşmayı elde etmenize yardımcı olur.

Maliyeti azaltma

Amazon Polly kullanırken maliyetleri optimize etmek için konuşma üretim sıklığını yönetmek ve sık kullanılan ses dosyalarını tekrar kullanım için S3'te depolamak gibi stratejiler düşünülmelidir. Bu yaklaşım, tekrarlayan API çağrılarını en aza indirir ve sentezleme maliyetlerini düşürür. 

Ayrıca, standart ve nöral sesleri stratejik olarak karışık kullanmak maliyet ve kalite arasında denge sağlar. 

Örneğin, karşılama mesajları gibi kritik temas noktalarında yalnızca nöral sesleri kullanırken, bilgilendirici içerikleri standart seslerle sunun. AWS Faturalandırma Panosu'nda kullanım sınırları ve maliyet uyarıları ayarlamak, bütçe kontrolünü sürdürmeye ve beklenmedik giderlerden kaçınmaya yardımcı olur.

Sonuç

Amazon Polly, metni gerçekçi konuşmaya dönüştürmek için gelişmiş derin öğrenme teknolojilerinden yararlanan güçlü bir metinden konuşmaya hizmetidir; kullanıcı deneyimlerini ve erişilebilirliği geliştirir. 

Bu eğitim boyunca, AWS SDK'nın kurulmasından programlı olarak konuşma üretmeye kadar Amazon Polly'nin temel özelliklerini inceledik. Ayrıca, özelleştirilmiş konuşma çıktısı için SSML kullanımını, dudak senkronu ve animasyonlar için Speech Marks'tan yararlanmayı ve dinamik sesli uygulamalar için gerçek zamanlı akışı uygulamayı kapsadık. 

Amazon Polly'yi uygulamalarınıza entegre ederek, küresel bir kitleye hitap eden son derece etkileşimli ve kişiselleştirilmiş ses deneyimleri oluşturabilirsiniz. İster sanal asistanlar, sesli kitaplar, eğitim platformları ister erişilebilirlik araçları geliştiriyor olun; Amazon Polly fikirlerinizi hayata geçirmek için gereken esnekliği, ölçeklenebilirliği ve gelişmiş özellikleri sunar.

AWS'de yeniyseniz ve bulut becerilerinizi güçlendirmek istiyorsanız, şu ilgili kursları incelemeyi düşünün:

SSS

Amazon Polly, diğer TTS hizmetleriyle karşılaştırıldığında nasıldır?

Amazon Polly, geleneksel TTS sistemlerine kıyasla daha doğal ve ifade gücü yüksek konuşma üreten gelişmiş nöral metinden konuşmaya (NTTS) teknolojisi sayesinde öne çıkar. Ayrıca konuşma özelleştirme için SSML'yi, dudak senkronu için Speech Marks'ı ve gerçek zamanlı akışı destekler; bu da onu birçok diğer TTS çözümünden daha esnek ve güçlü kılar.

Amazon Polly özel ses oluşturmayı destekliyor mu?

Hayır, Amazon Polly şu anda özel ses oluşturmayı desteklemiyor. Ancak, birden çok dilde geniş bir nöral ve standart ses yelpazesi sunar ve perde, hız, ses yüksekliği ve konuşma tarzını ayarlamak için SSML'yi (Speech Synthesis Markup Language) sağlar. Yüksek derecede özelleştirilmiş bir sese ihtiyacınız varsa, Google Cloud Text-to-Speech veya özel ses sağlayıcıları gibi diğer TTS çözümlerini araştırmanız gerekebilir.

Amazon Polly, sesli kitap veya podcast gibi uzun biçimli içerik üretimi için uygun mu?

Evet, Amazon Polly sesli kitaplar veya podcast'ler gibi uzun biçimli ses içeriği üretimi için uzun biçimli sentez sunar. Hikaye anlatımı ve anlatı odaklı uygulamalara uygun, daha doğal ses sağlayan NTTS (Neural Text-to-Speech) motorunu destekler. Ayrıca uzun metinleri performans ve kaliteyi korumak için yönetilebilir segmentlere bölebilirsiniz.

Amazon Polly çevrimdışı kullanılabilir mi?

Hayır, Amazon Polly bulut tabanlı bir hizmettir ve metinden konuşmaya isteklerini işlemek için aktif bir internet bağlantısı gerektirir. Ancak, sentezden sonra ses dosyalarını çevrimdışı kullanım için oluşturup indirebilirsiniz. Bu da sesli kitaplar, duyurular veya eğitim videoları gibi önceden kaydedilmiş ses içeriğine ihtiyaç duyan uygulamalar için uygundur.

Amazon Polly için kullanım sınırları veya kotalar var mı?

Evet, Amazon Polly'nin; istek başına ve hesap başına sentezleyebileceğiniz karakter sayısı gibi kullanım kotaları ve sınırları vardır. Belirli sınırlar, Ücretsiz Katman mı yoksa ücretli bir plan mı kullandığınıza bağlı olarak değişir. Kesintileri önlemek için kullanımınızı izleyebilir ve AWS Faturalandırma ve Maliyet Yönetimi Panosu'nu kullanarak uyarılar ayarlayabilirsiniz. Yüksek hacimli uygulamalar için AWS Destek Merkezi üzerinden kota artırımı talep edebilirsiniz.

Moez Ali

Yazar

Moez Ali

Veri Bilimci, PyCaret'in Kurucusu ve Yaratıcısı

Konular

İlgili