Google Text to Speech API

Bu yazımda Google Text to Speech kullanarak Delphi ile yazıları ses dosyalarına dönüştürmeyi ve bu ses dosyalarını delphi içersinden çalıştırmayı göstereceğim. Bunun için öncelikle geliştirmiş olduğum uGTTS.pas kütüphanesine ihtiyacımız olacak. Kütüphaneyi geliştirirken içersinde dökümantasyonu bolca kullanmaya çalıştım. Methodların üzerine gelerek ne işe yaradıklarını ve dikkat edilmesi gereken hususları görebilirsiniz.

Bu kütüphane kullanımı internet bağlantısı gerektirir. Ön bellekleme mekanizması ile daha önce çağrılmış olan yazıları tekrar google servislerine göndermez. İsterseniz bu özelliği devre dışı bırakabilirsiniz.

Şimdi kullanım ile ilgili küçük bir örnek yazalım projenize uGTTS.pas kütüphanesini ekleyin.Yeni bir form açın ve üzerine yeni bir button ekleyin. Örnekte ki gibi sınıfı create edip SpeechNow ile direk yazıyı okutabilir yada TextToSpeech methodu ile mp3 dosyası olarak dosya yolunu alıp dilediğiniz gibi kullanabilirsiniz.

20.06.2014 de Sınıfta yaptığım bir değişlikle SpeechNow methoduna overload versiyon ekledim. Artık MediaPlayer’ı parametre olarak vermeden de sesleri çalabilirsiniz.

GlassFish HTTP Compression

HTTP Compression nedir?

Http işlemleri bilindiği üzere text(yazı) formatlı olarak yapılır. Sıkıştırma algoritmalarının da en başarılı olduğu işlem text sıkıştırma işlemleridir. Bu yüzden http üzerinden bir dosya transferi işleminde 10 mb lık bir xml dosyasını 1 mb a kadar düşürüp, transfer hızını arttırıp bandwidth den de kazanım sağlayabilirsiniz. Fakat JPEG, AVI gibi sıkıştırılmış görüntü veya video, ses dosyalarını transfer edecekseniz HTTP compression işlemi size ek bir maliyet getirecektir. Sıkıştırılmış bir dosyanın tekrar sıkıştırılması boyutunu küçültmez, küçülme olmadığı gibi birde compress ve decompress algoritmaları devreye gireceği için yavaşlama olacaktır.

Şimdi GlassFish Server üzerinden yapılan Http işlemlerini sıkıştırıp network trafiğinden kazanmak için glassfish’in bize sunmuş olduğu ayarlara bakalım.

  1. GlassFish web yönetim arayüzünü açın http://localhost:4848
  2. Configuration->Server Configuration->Network Config->Network Listeners konumuna gidin
  3. Varsayılan olarak http-listener-1 adındaki listener ı tıklayın (Kendi server yapılandırmanızda farklı isim vermiş olabilirsiniz. İlgili listener ı açın.)
  4. HTTP sekmesinde Compression: on yapın.
    On: Sıkıştırma client isterse aktif.
    Off: Sıkıştırma kapalı.
    Force: Sıkıştırmaya zorlar, client istesede istemesede sıkıştırır.
  5. Compression Minimum Size: varsayılan 2048 Byte dır. Bu ayar sıkıştırma işlemi uygulanacak en küçük dosya boyutunu belirtir. 2 kb dan büyük dosyalara sıkıştırma işlemi uygulanacağı anlamındadır.