Cumartesi, Ekim 24, 2020

Python Kullanarak Kendi Sesli Kitabınızı Yapın! – Pyttsx3 ve PyPDF2 Kütüphanesi

Sesli kitap, bir kitabın veya başka bir çalışmanın yüksek sesle okunması veya seslendirilmesidir. Herhangi bir akıllı telefon, tablet, bilgisayar, ev hoparlör sistemi veya araç içi eğlence sisteminde sesli kitap dinleyebilirsiniz. Sesli kitaplar genellikle dijital müzik ile benzer şekilde satın alınır ve indirilir. Ancak bilgisayarınızda pdf formatında bir kitap varsa, bu sesli kitaplara para ödemek zorunda kalmayacaksınız. Bu yazımızda, Python kullanarak kendi sesli kitabınızı nasıl yaparsınız, bunu öğreneceksiniz.

Kurulum

Python, kendi içerisinde birbirinden farklı binlerce kütüphane barındırır. Biz sesli kitap uygulaması geliştirmek için bu kütüphane deryasından iki tanesini kullanıyor olacağız. Bu kütüphaneler, pyttsx3 ve PyPDF2‘dir.

Komut terminalini açıp aşağıdaki komutları yazarak bu kütüphaneleri yükleyebilirsiniz.

pip install PyPDF2
pip install pyttsx3

Bu kütüphaneler hakkında daha detaylı bilgilere ulaşmak istiyorsanız ilgili linklere tıklayarak bu kütüphanelerin dokümantasyonuna erişebilirsiniz.

1) PDF Dosyasını Okuma

Python, bir PDF araç seti olarak oluşturulmuş PyPDF2 kütüphanesine sahiptir. Bu kütüphaneyle beraber PDF dosyaların manipülasyonu oldukça kolay bir hale geliyor. PyPDF2 kütüphanesi ile yapılabilecekler:

  • Başlık, yazar vb. gibi bilgilerin belgelerden çıkarılması
  • Belgeleri sayfalara göre bölme ve birleştirme
  • Sayfaları kırpma
  • Birden çok sayfayı tek bir sayfada birleştirme
  • PDF dosyalarını şifreleme ve şifresini çözme

PyPDF2 kütüphanesini bu yazımızda, pdf dosyasını sayfa sayfa bölmek ve her sayfayı teker teker okumak için kullanıyor olacağız. Kütüphaneyi içe aktararak ve tanımlayarak başlayabiliriz.

import pyPDF2

dosya = "kitapadi.pdf"
pdfReader = PyPDF2.PdfFileReader(open(dosya),'rb'))

2) Hoparlörü Açma

Python, metni çevrimdışı olarak konuşmaya dönüştürebilen bir pyttsx3 kütüphanesine sahiptir. Pypdf2 kütüphanesini kullanarak bir pdf dosyasından okuduğumuz metin, metinden konuşmaya dönüştürülür.

Bu kütüphaneyi projemize dahil edip tanımlıyoruz.

import pyttsx3
hoparlor = pyttsx3.init()

3) Sesli Kitabı Çalıştırma

PyPDF2 kütüphanesini kullanarak metni pdf dosyasından sayfa sayfa çıkarıyoruz. Daha sonra çıkarılan her bir sayfayı, pyttsx3 kütüphanesini kullanarak sese dönüştürüyoruz. Bu işlemi bir döngü içerisinde gerçekleştirerek son sayfaya kadar metni sesli bir biçimde okutuyoruz.

for sayfa_no in range(pdfReader.numPages):
    metin = pdfReader.getPage(sayfa_no).extractText()
    hoparlor.say(metin)
    hoparlor.runAndWait()
    hoparlor.runAndWait()
hoparlor.stop()

Uygulamanın Tam Hali

import pyttsx3, PyPDF2

pdfReader = PyPDF2.PdfFileReader(open(dosya),'rb'))
hoparlor = pyttsx3.init()

for sayfa_no in range(pdfReader.numPages):
     metin = pdfReader.getPage(sayfa_no).extractText()
     hoparlor.say(metin)
     hoparlor.runAndWait()
     hoparlor.runAndWait()
hoparlor.stop()

Hoparlörün Sesini ve Hızını Değiştirme

İsteğinize bağlı olarak konuşma hızını ve ses seviyesini ayarlayabilir. Ayrıca seslendirmeyi erkekten kadına veya tam tersi şekilde değiştirebilirsiniz.

Hızını Değiştirme:

Daha önce tanımladığımız hoparlörün getProperty methodunu kullanarak mevcut hızını görüntüleyebiliriz. Aynı şekilde setProperty methodunu kullanarak mevcut hızı dilediğiniz gibi değiştirebilirsiniz. (Normal konuşma hız değeri 100’dür)

hoparlor = pyttsx3.init()

hız = hoparlor.getProperty('rate')
print(hız) # mevcut hızı ekrana yazdırır.

hoparlor.setProperty('rate', 125) # degistirmek istediginiz hız

Sesi Değiştirme:

Yine getProperty methodunu kullanarak mevcut sesin erkek ya da kadın olduğunu görüntüleyebiliriz. (Erkek için 0, kadın için 1)

ses = hoparlor.getProperty("voices")
print(ses)

hoparlor.setProperty('voice', ses[0].id) # erkek sesine dönüştür
hoparlor.setProperty("voice", ses[1].id) # kadın sesine dönüştür

Sesi Kaydetme:

Ses çıkışını mp3 dosyasına kaydetmek için aşağıdaki yöntemi kullanın.

engine.save_to_file (metin, 'audio.mp3')
engine.runAndWait()

Sonuç

Sonuç olarak, herhangi bir sesli kitaba abonelik ücreti olmadan 6-7 satır Python kodu ile kendi sesli kitabınızı oluşturdunuz. Daha iyi ses sonuçları için, sesini ve hızını ayarlayabilirsiniz.

Bugün En Çok Okunanlar

Snapchat salgın sırasında yeni kullanıcılar ekledi ve reklam işini büyütüyor

Koronavirüs salgını reklam endüstrisini çok etkilemiş olsa da, Snap bu konuda gayet iyi bir şekilde geziniyor gibi görünüyor. Snapchat uygulaması, üçüncü çeyrek gelir raporuna göre...

Az Bilinen Fakat İhtiyaca Göre Çok Kullanışlı Python Veri Yapıları

Python programlama dili, kullanım kolaylığı açısından kuşkusuz son zamanların en çok kullanılan programlama dillerinden biri olmuştur. Farklı alanlarla ilgili çeşitli sorunlar için...

Google Alışveriş fiyat izleme ve karşılaştırma araçları ekledi

Kullanıcılar ayrıca yerel mağazalar için mağazadan teslim alma ayrıntılarını da bulabilecekler. Google, Black Friday'e giden yolda aldığınız anlaşmanın gerçekten bir anlaşma olup olmadığını bilmenizi sağlayacak alışveriş platformuna araçlar...

Firefox 82 hız ve resim içinde resim iyileştirmeleri vaat ediyor

Mozilla, sadık Firefox için yeni bir tarayıcı güncellemesi sunuyor. Sürüm 82, daha iyi başlatma ve sayfa yükleme süreleriyle "her zamankinden daha hızlı" olmayı...

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen adınızı buraya girin