ElevenLabs API Kullanarak Yazıyı Sese Çevirin! (NodeJS)

Yazar:

Kategori:

Herkese merhabalar,

Bu yazımda sizlere NodeJS’de ElevenLabs API kullanarak yazılarınızı nasıl bir ses dosyasına çevirebileceğinizi anlatacağım. Bu işlemleri NodeJS kullanarak yapacağız, bu sebepten dolayı temel NodeJS bilginizin olması gerekmektedir.

ElevenLabs Nedir?

ElevenLabs, yapay zeka ve derin öğrenme teknolojilerini kullanarak doğal sese en yakın şekilde konuşma sentezi ve yazıdan sese çevirme yazılımları geliştiren bir Amerikan şirketidir. Web tabanlı çalışan bir yazılımdır. Dilerseniz ses kütüphanesinden bir ses seçebilir, yada kendinize ait 5-10 dakikalık temiz bir ses kaydını yükleyebilir ve kendi sesinizi klonlayarak yazıları sese çevirebilirsiniz.

ElevenLabs Ücretli Mi?

Hayır, ücretsiz olarak kullanabileceğiniz bir paket mevcut. Aylık 10.000 karakter yazıyı ücretsiz bir şekilde sese dönüştürebilirsiniz. Eğer ücretsiz verilen karakter limitinden daha fazla kullanmak istiyorsanız ilk ay 1$ olacak şekilde 30.000 karakter sınırı olan başlangıç paketini tercih edebilirsiniz.

Ancak maalesef kendi sesinizi klonlamak için en azından başlangıç seviyesi paketini satın almanız gerekecektir.

Nasıl Yapılır?

NodeJS’de ElevenLabs API kullanabilmek için elevenlabs-js kütüphanesini kullanacağız. Bu kütüphane benim tarafımdan geliştirilmiştir. Eğer bir sorununuz, eklenmesini istediğiniz özellik olursa yorum olarak belirtebilirsiniz.

ElevenLabs API Key Nasıl Alınır?

Aşağıdaki aşamaları takip ederek kolayca API kimliğinizi oluşturabilirsiniz.

  1. elevenlabs.io adresine gidin.
  2. ElevenLabs hesabınıza giriş yapın veya eğer hesabınız yoksa bir hesap oluşturun.
  3. Profil resminize tıklayın ve açılan menüden “Profile”‘e tıklayın.
  4. Ekranda API Key bilginiz karşınıza çıkacaktır. Yandaki göz simgesine tıklayarak görüntüleyebilirsiniz.

Yazıdan Sese Çevirme İşlemi Nasıl Yapılır?

Öncelikle aşağıdaki komutu kullanarak kütüphaneyi projemize dahil ediyoruz.

npm i elevenlabs-js

Paketi projemize dahil ettikten sonra textToSpeech() fonksiyonunu kullanarak yazılarınızı ses dosyasına çevirmeye hızlıca başlayabilirsiniz.

(Aşağıdaki örneği kullanabilmek için fs paketini projenize dahil etmeniz gerekmektedir.)

const elevenLabs = require('elevenlabs-js');
const fs = require("fs");

elevenLabs.setApiKey('YOUR_API_KEY');

elevenLabs.textToSpeech("YOUR_VOICE_ID", "Hello World!", "elevenlabs_multilingual_v2", {
    stability: 0.95,
    similarity_boost: 0.75,
    style: 0.06,
    use_speaker_boost: true
}).then(async (res) => {
    // Ses'i dosya olarak kaydedebilirsiniz
    await res.saveFile("test.mp3")

    // Veya socket olarak alıp istediğiniz yerde kendiniz kullanabilirsiniz.
    const pipe = await res.pipe;
    pipe(fs.createWriteStream("test-with-pipe.mp3"));
});
JavaScript

“YOUR_VOICE_ID” yazan bölümüne kullanmak istediğiniz sesin ID bilgisini girmeniz gerekmektedir. getVoices() fonksiyonunu kullanarak tüm seslerin listesini alabilirsiniz. Bu listeden kullanmak istediğiniz sesi bulduktan sonra yerine koymanız yeterli olacaktır.

Aşağıdaki kodu kullanarak tüm seslerin JSON çıktısını alabilirsiniz.

const elevenLabs = require('elevenlabs-js');

elevenLabs.setApiKey('YOUR_API_KEY');

elevenLabs.getVoices().then((res) => {
    console.log("voices", res);
});
JavaScript

Kapanış

Tüm işlemler bu kadar basit. Umarım bu yazı işinize yaramıştır. Eğer takıldığınız, yapamadığınız bir yer varsa yorumlarda belirtebilirsiniz. Elimden geldiğince yardımcı olmaya çalışırım.

Eğer paket işinize yaradıysa GitHub üzerinden elevenlabs-js projeme yıldız verirseniz sevinirim.


Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir