5 puan yazan GN⁺ 2024-01-02 | 1 yorum | WhatsApp'ta paylaş
  • Yalnızca kısa bir referans sesle konuşmacının ses rengini klonlayıp birden çok dilde konuşturmayı hedefliyor; ek konuşmacı başına eğitim gerektirmeden çalışan Zero-shot TTS problemine odaklanıyor
  • Temel fikir, ses rengi klonlamayı dil ve stil kontrolünden ayıran bir yapı; base speaker TTS duygu, vurgu, ritim, duraklama ve tonlamayı üretirken tone color converter referans konuşmacının ses rengini uygular
  • Yeni bir dil için büyük ölçekli çok konuşmacılı eğitim verisi olmasa da zero-shot cross-lingual klonlama mümkün; eğitimde base TTS için 30K cümle, converter için 20K kişi ve 300K ses örneği kullanıldı
  • Tüm uygulama, otoregresif ya da diffusion bileşenleri olmayan feed-forward bir yapıdan oluşuyor; optimize edilmiş sürüm tek bir A10G GPU üzerinde gerçek zamanın 12× hızına ulaşıyor ve 1 saniyelik ses üretimi 85 ms sürüyor
  • Kaynak kodu ve model ağırlıkları yayımlandı; OpenVoice, MyShell.ai ses motoru olarak dünya genelinde 2 milyondan fazla kullanıcıya sunuldu ve dahili sürümü Mayıs-Ekim 2023 arasında on milyonlarca kez kullanıldı

OpenVoice'ın hedeflediği anında ses klonlama problemi

  • Anında ses klonlama (IVC), yalnızca kısa bir referans sesle belirli bir konuşmacının sesini klonlayan bir TTS türüdür ve ek konuşmacı başına eğitim gerektirmeden çalıştığı için Zero-shot TTS olarak da adlandırılır
  • Kullanım alanları medya içeriği üretiminden kişiselleştirilmiş sohbet botlarına, insanlarla bilgisayarlar ya da büyük dil modelleri arasındaki çok modlu etkileşime kadar uzanır
  • Mevcut yaklaşımlar hız, kontrol edilebilirlik ve dil genişletilebilirliği açısından ayrı ayrı kısıtlar taşır
    • VALLE ve XTTS gibi otoregresif yöntemler, referans sesin acoustic token'larını veya speaker embedding'lerini koşul olarak kullanarak ses rengini klonlar; ancak duygu, vurgu, ritim, duraklama ve tonlama gibi stil unsurlarını esnek biçimde manipüle etmek zordur
    • YourTTS ve Voicebox gibi otoregresif olmayan yöntemler çıkarımda hızlıdır, ancak ses rengi dışındaki stil parametrelerini esnek biçimde kontrol edemez
    • Mevcut cross-lingual ses klonlama yöntemleri genellikle her dil için çok sayıda konuşmacı içeren MSML veri kümeleri gerektirir; bu da yeni dil eklemeyi zorlaştırır
  • OpenVoice üç hedefi aynı anda ele alır
    • Referans konuşmacının ses rengini klonlarken duygu, vurgu, ritim, duraklama ve tonlamayı ayrı ayrı kontrol etmek
    • MSML eğitim verisinde bulunmayan referans konuşmacı dillerinde veya üretim dillerinde de cross-lingual klonlama yapmak
    • Büyük ölçekli ticari ortamlarda kalite kaybı olmadan hızlı gerçek zamanlı çıkarım sunmak

Ses rengi ile stili ayıran yapı

  • OpenVoice'ın temel fikri, tek büyük bir modele ses rengi, dil ve stili aynı anda öğretmek yerine bunu daha kolay alt görevlere bölmektir
  • base speaker TTS model dil ve stilden sorumludur
    • Tek konuşmacılı veya çok konuşmacılı TTS modelleri kullanılabilir
    • VITS, text encoder ve duration predictor içine stil ve dil embedding'leri eklenecek şekilde değiştirilebilir
    • InstructTTS stil prompt'ları alabilir
    • Microsoft TTS gibi, SSML ile duygu, duraklama ve artikülasyon biçimini belirleyen ticari modeller de kullanılabilir
    • İnsanlar da istedikleri stil ve dilde metni okuyarak bir base voice oluşturabilir
    • Açık uygulamada varsayılan olarak VITS kullanılır
  • tone color converter, base speaker sesini referans konuşmacının ses rengine dönüştürür
    • encoder, base speaker sesinin short-time Fourier transformed spectrum'unu girdi olarak alan bir 1D convolutional neural network'tür
    • tone color extractor, mel-spectrogram'dan ses rengi bilgisini içeren tek bir vektör çıkaran bir 2D convolutional neural network'tür
    • normalizing flow, base sesin ses rengi bilgisini kaldırırken dil ve stili koruyan bir temsil üretir
    • Bu temsil zaman ekseninde IPA tabanlı özelliklerle hizalanır
    • inverse flow, referans konuşmacının ses rengi vektörünü koşul olarak kullanıp yeni ses rengini feature map'e uygular
    • HiFi-GAN son raw waveform'u üretir
  • Açık uygulamadaki tüm model, otoregresif bileşenler olmadan feed-forward şekilde çalışır
  • HuBERT tabanlı unit çıkarım yöntemi, yalnızca ses rengi bilgisini değil duygu ve vurguyu da kaldırma sorunu yaşar
  • Yalnızca konuşma içeriğini korumak için bilgi darboğazı kuran diğer yöntemler ise ses rengini tamamen silemez
  • OpenVoice'ın yeniliği, tek tek submodule icat etmekten çok stil ve dil kontrolünü ses rengi klonlamadan ayıran çerçevede yatmaktadır

Eğitim verisi ve eğitim hedefleri

  • base speaker TTS eğitimi için 4 konuşmacıdan veri kullanılmıştır
    • 1 Amerikan İngilizcesi konuşmacısı, 1 Britanya İngilizcesi konuşmacısı, 1 Çince konuşmacısı, 1 Japonca konuşmacısı
    • Toplam 30K cümle, ortalama cümle uzunluğu 7 saniye
    • İngilizce ve Çince verilerde duygu sınıflandırma etiketleri vardır
  • Değiştirilmiş VITS, emotion categorical embedding, language categorical embedding ve speaker id'yi text encoder, duration predictor ve flow layer'a girdi olarak verir
  • Eğitilmiş base model, base speaker'ı değiştirerek vurgu ve dili değiştirebilir ve girilen metni farklı duygularla okuyabilir
  • Ek eğitim verisi deneylerinde ritim, duraklama ve tonlamanın da duyguya benzer şekilde öğrenilebildiği gösterilmiştir
  • tone color converter eğitimi için 20K kişiye ait 300K ses örneği kullanılmıştır
    • Yaklaşık 180K İngilizce örnek
    • Yaklaşık 60K Çince örnek
    • Yaklaşık 60K Japonca örnek
    • Bu veri kümesine MSML veri kümesi denir
  • converter'ın iki eğitim hedefi vardır
    • encoder-decoder'ın doğal ses üretmesi için mel-spectrogram loss ve HiFi-GAN loss kullanmak
    • flow layer'ın ses özelliklerinden ses rengi bilgisini olabildiğince çıkarmasını sağlamak
  • Ses rengini kaldırma eğitimi, metni IPA phoneme dizisine dönüştürüp learnable embedding ve transformer encoder ile text content feature oluşturduktan sonra bunu ses özellikleriyle dynamic time warping kullanarak hizalayıp KL-divergence'ı en aza indirir
  • flow layer'a stil veya dil bilgisi koşul olarak verilmez; böylece ses rengi dışındaki bilgileri silmemesi amaçlanır
  • flow layer invertible bir yapıya sahip olduğu için, yeni ses rengi bilgisini koşul verip inverse process çalıştırıldığında aynı içerik ve stile referans konuşmacının ses rengi yeniden eklenebilir

Deney sonuçları ve gözlenen kısıtlar

  • Ses klonlama değerlendirmelerinde araştırmalar arasında eğitim kümesi, test kümesi ve Mean Opinion Score koşulları farklı olduğundan nesnel sayısal karşılaştırma zordur
  • OpenVoice değerlendirmesi, mevcut yöntemlerle sayısal karşılaştırmadan çok kendi nitel performans analizine ve açık ses örnekleri paylaşımına odaklanır
  • Ses rengi klonlama test kümesi, ünlüler, oyun karakterleri ve anonim bireylerden referans konuşmacılar içerir
    • Hem güçlü ifade kabiliyetine sahip ayırt edici sesler hem de insan ses dağılımında daha nötr örnekler birlikte yer alır
    • 4 base speaker ve çeşitli referans konuşmacı kombinasyonlarında referans ses rengi klonlanır ve farklı dil ile aksanlarda konuşma üretilir
  • Stil kontrolü değerlendirmesinde, base speaker model ve Microsoft TTS SSML kullanılarak çeşitli stillerde 1K örnekten oluşan bir corpus oluşturulup referans ses rengine dönüştürülür
    • Duygu, vurgu, ritim, duraklama ve tonlama iyi korunur
    • Nadir durumlarda duygu biraz nötrleşir
    • Belirli bir cümlenin tone color embedding vector'ü, aynı base speaker'ın farklı duygularla okuduğu birkaç cümleden elde edilen ortalama vektörle değiştirildiğinde bu sorun hafifler
  • cross-lingual klonlama, MSML veri kümesinde bulunmayan diller için near zero-shot şekilde çalışır
    • Referans konuşmacının dili MSML veri kümesinde olmasa da referans ses rengi klonlanabilir
    • Üretilecek dil MSML veri kümesinde olmasa da base speaker TTS o dili destekliyorsa, referans ses rengiyle o dil konuşturulabilir
    • Ancak ilgili dil için bir base speaker gerekir
  • Hız deneylerinde optimize edilmiş OpenVoice, base speaker model ve tone converter dahil tek bir A10G GPU üzerinde gerçek zamanın 12× hızına ulaşmıştır
    • 1 saniyelik ses üretimi 85 ms sürer
    • GPU kullanım analizine göre üst sınır yaklaşık 40× gerçek zaman olarak tahmin edilse de bu iyileştirme gelecekteki çalışmalara bırakılmıştır
  • IPA kullanımı, cross-lingual ses rengi dönüşümünde kritiktir
    • IPA, diller arası birleşik bir fonem sözlüğü olduğu için flow layer'ın dilden bağımsız bir temsil oluşturmasına yardımcı olur
    • Diğer fonem sözlüğü deneylerinde eğitimde görülmeyen dillerde bazı fonemlerin yanlış telaffuz edilme eğilimi gözlenmiştir
    • Girdi sesi doğru olsa bile çıktı sesinde sorunlar oluşabilir veya sonuç ana dili o dil olmayan biri gibi gelebilir

Açık kaynaklar ve kullanım durumu

  • OpenVoice, araştırmanın yeniden üretilebilmesi ve sonraki çalışmalar için kaynak kodunu ve eğitilmiş modelleri yayımladı
  • Nitel sonuçlar OpenVoice demo üzerinden görülebilir
  • Ayrıntılı demolar şu kategorilere ayrılır
  • Yayımlanmadan önceki dahili sürüm, Mayıs-Ekim 2023 arasında dünya genelindeki kullanıcılar tarafından on milyonlarca kez kullanıldı
  • MyShell.ai, OpenVoice'ı anında ses klonlama altyapısı olarak kullandı ve platformda kullanıcı sayısında yüzlerce kat artış yaşadı
  • Şu anda OpenVoice, MyShell.ai'nin ses motoru olarak dünya genelinde 2 milyondan fazla kullanıcıya sunulmaktadır

1 yorum

 
GN⁺ 2024-01-02
Hacker News yorumları
  • Yazarların hemen denemeyi kolaylaştırmış olması güzel, ama genel ses klonlama amacı için pek uygun değildi.
    Bir kitap hakkındaki Wikipedia’nın ilk paragrafını okuttum ve sonraki cümleyi ürettim; kulağa bariz biçimde bilgisayar üretimi gibi geliyor.
    Ses örneği: https://storage.googleapis.com/dalle-party/sample.mp3
    Klonlanmış ses (mp3 dönüşümü): https://storage.googleapis.com/dalle-party/output_en_default...
    Sadece paketi pip ile kurup ses örneğini vererek demo_part1.ipynb dosyasını çalıştırdım; dizüstü bilgisayardaki 3070 Ti / 8GB üzerinde neredeyse anında bitti.

    • README’de de bunun, şirket içi ses klonlama teknolojisinin performansına yaklaşan açık kaynak bir uygulama olduğu; myshell.ai’nin çevrimiçi sürümünün ses kalitesi, klonlama benzerliği, konuşmanın doğallığı ve hesaplama verimliliği açısından daha iyi olduğu yazıyor.
    • Gerçek örnek için teşekkürler; benim kulağıma da epey üretilmiş bir ses gibi geldi.
      Daha fazla orijinal ses verisi verilirse ne kadar iyileşeceğini merak ediyorum.
    • Web sitesine ve örneklere bakınca, oldukça açık biçimde stilize anime sesleri oluşturmak için tasarlanmış gibi görünüyor.
    • xtts gibi başka araçları denemiş biri olarak, en iyi sonuçları almak için gerçekten stüdyo kalitesinde ses örnekleri gerekiyor.
  • Bunu ya da Eleven Labs’i kullanarak Android telefonun TTS’ine takılacak bir ses modeli yapmak mümkün mü merak ediyorum.
    Gırtlağı felç olan bir arkadaşım çoğu zaman telefonuna veya küçük bir dizüstüne yazı yazarak iletişim kuruyor.
    Eski kayıtlardan onun sesini alıp ona biraz olsun “kendi” sesini geri verebilsek buna gerçekten çok sevinirdi.

    • Acapela [0], SpeakUnique [1], VOCALiD [2] gibi çözümlere bakabilirsiniz.
      Ancak Android için bir çözümleri olup olmadığından emin değilim.
      Google’ın ALS hastaları için yaptığı özel sesle ilgili yakın zamanda bir video gördüm ama internette bulamadım.
      Android’de henüz özel ses oluşturma sunulmuyor, ancak en yeni iOS 17 kişiselleştirilmiş ses oluşturmayı destekliyor.
      ModelTalker [3], konuşma bozukluğu olan kişiler için özel ses oluşturmayı hedefleyen uzun soluklu bir araştırma projesi gibi görünüyor; TTS’i Android’i destekliyor gibi olduğundan başka bir seçenek olabilir.
      [0] https://www.acapela-group.com/
      [1] https://www.speakunique.co.uk/
      [2] https://vocalid.ai/
      [3] https://www.modeltalker.org/
    • Ne yazık ki şu anda olmuyor.
      Google’da TTS’e katkıda bulundum ve Android tarafında da çalıştım; iOS’ta bu özellik yerleşik olarak var.
      “Apple’ın yeni çıkardığı şey” kadar güçlü bir Google ürün yöneticisi yoktur, bu yüzden bu aslında umut verici bir işaret olabilir.
      Şu anda platformlar arası cihaz üzeri çıkarım üzerinde çalışıyorum; GitHub’daki FONNX’e bakabilirsiniz. Bu, bir süre aklımda kalacak 100 maddeden biri, zaman bulursam iletişime geçerim.
      Düzenleme: Klavyesi ve “konuş” düğmesi olan, Eleven Labs API’sini çağıran bir Android uygulaması denemeye değer olacak kadar yeterli olur mu?
  • GitHub: https://github.com/myshell-ai/OpenVoice
    Checkpoint: hxxps://myshell-public-repo-hosting.s3.amazonaws.com/checkpoints_1226.zip
    Amazon’da barındırılan bir zip dosyasına doğrudan giden bağlantı beni rahatsız ettiği için checkpoint bağlantısını etkisizleştirdim.
    Dosyanın içinde ne olduğunu da incelemedim.

  • Bu makaleyi sevdim.
    “Biz bunu böyle yaptık ve başkalarının da yapabilmesine yardımcı olmak istiyoruz” der gibi okunuyor.
    Özellikle “Remark on Novelty” bölümü harika; OpenVoice’un model yapısının alt modüllerini icat etmeye çalışmadığını, katkısının ses stili ve dil kontrolünü ses rengi klonlamadan ayıran çerçeve olduğunu söylüyor.
    Kendi katkısını abartmaya çalışmıyor.

  • Örnekler: https://research.myshell.ai/open-voice
    Oldukça etkileyici görünüyor.

  • Lisansı Creative Commons Attribution-NonCommercial 4.0 International License; ticari kullanımı yasaklıyor ve MyShell’in, filigran olsun ya da olmasın, sesin OpenVoice ile üretilip üretilmediğini tespit edebileceğini söylüyor.
    O zaman bu “open” değil ve bununla para da kazanamazsınız, değil mi?

    • Sizin tanımınızdan farklı olsa da open sayılır.
      Kodu görebiliyor, kullanabiliyor ve istediğiniz kadar değiştirebiliyorsunuz; bence oldukça açık.
    • Para kazanamazsınız.
      Elbette ticari olmayan lisansı umursamayan dolandırıcılar yapabilir.
  • Pek duyurusu yapılmış değil ve Apple’ın geliştirmeye devam edip etmediğini de bilmiyorum ama iOS’ta Personal Voice adlı bir ses klonlama özelliği var
    Kendi sesinizle eğitmek yaklaşık 15 dakika sürüyor; kilitli durumdayken cihaz üzerinde işlenmesi ise birkaç saat alıyor
    Telefon görüşmelerinde ve FaceTime’da kullanılabiliyor, başka yerlerde de mümkün mü bilmiyorum
    Genel TTS için de kullanılabilse güzel olurdu

    • Bu, sesini kaybetmekte olan ya da kaybetme riski bulunan kişiler için bir erişilebilirlik özelliği
      Telefon veya FaceTime’da kullanılabildiği ifadesi ses-ses dönüşümü gibi duyulmasına yol açıyor, ama aslında yalnızca TTS’e yönelik
      Ses-ses dönüşümü olmadığı için kekeleme özellikleri, prozodi gibi sesi gerçek bir ses gibi hissettiren sinyalleri koruyamıyor
  • Birkaç gün önce İngiltere’deki büyük ana akım bankalardan birini aradım; hâlâ o aptalca “sesim şifremdir” programına kaydolmamı öneriyorlardı
    Yapay zekanın geldiği bu noktada bu bana düpedüz dikkatsizlik gibi geliyor

    • Fidelity Investments yaklaşık bir hafta önce daha da kötü bir şey yaptı
      Birkaç soruya yanıt vermemi istedi, ardından az önce sesle kimlik doğrulama programına kaydedildiğimi bildirdi
      Şimdi bunu iptal etmek de yapılacaklar listeme eklenen bir iş oldu
      Tüm şirketler en aptal insanları yönetici pozisyonlarına mı yükseltiyor diye düşünüyorum
    • Investec miydi? Sanırım ben de arayıp devre dışı bırakmalıyım
  • Ses klonlamanın etik dışı ve suç amaçlı kullanımlarının meşru kullanımlardan çok daha fazla olacağı düşüncesi ilk aklıma gelen şeydi ve hâlâ öyle düşünüyorum

    • İlk akla gelen anonimlik
      Gerçek sesinizi kullanmadan YouTube videoları hazırlayabilir, yine de TTS yapay zeka seslerinin veremediği kişisel aksanı ve vurguları koruyabilirsiniz
      Ya da bağımsız oyun geliştirmede de kullanılabilir
      Temel seslendirme oyunculuğu öğrenip yapaylığı azaltarak, birden fazla sesle tüm karakterleri kendiniz canlandırabilirsiniz
    • Meşru kullanım senaryolarını neler olarak ve ne kadar düşündüğünüzü merak ediyorum
    • Ya ticari kullanım, yasa dışı kullanımdan daha fazla olursa?
      YouTube, insanların özgün üreticinin sesiyle yerelleştirilmiş dili dinleyebilmesini sağlayacak
    • Katılmıyorum
      Biz sadece sesi bir kimlik doğrulama aracı olarak kabul etmemeliyiz
      En yaygın kullanımın, seslendirme sanatçısı olmadan programatik olarak sanat ve içerik üretmek olacağını düşünüyorum
      Video veya 3D model işlem hattını ve kare bazlı dönüşümü tamamlayıp gerçekçi görünmesini sağlayabilir hale geldiğimizde, oyunculara da neredeyse ihtiyaç kalmayabilir
    • Sevdiklerinizle önceden konuşup, acil bir durumda mahsur kaldım ve para transferine ihtiyacım var gibi senaryolarda kullanılacak bir parola belirlemeniz yeterli
      Bazı bankalar telefonla aradığınızda sesli kimlik doğrulama kullanıyor ve bundan çıkmak için özellikle talep etmeniz gerekiyor