Birinin sesini nasıl taklit edebilir / kopyalayabilir / taklit edebilirim?


19

Birinin sesini örneklemek ve onu başka bir sesi modüle etmek veya orijinaline benzemek için bir metni sentezlemek için kullanmak için mevcut bir uygulama var mı?

Örneğin, AT&T tarafından sunulan bu Metin-Konuşma Demosu, örneklenmiş bazı insan seslerine dayalı olduğunu düşündüğüm ön ayarlardan bir ses ve dil seçmenizi sağlar.

Bu sürece nasıl denir? Ses modülasyonu mu? Ses sentezi?


Sanırım yeterli eğitim örneğiniz varsa, belirli kelimeler için o zaman mümkün olabilir
Phorce

Araştırma topluluğunda buna "ses dönüştürme" denir.
pichenettes

@ user1582478 Onlardan çok var, nasıl devam edersin?
clapas

Bir arkadaşımdan bir ses oluşturmak ve daha sonra bunu canlı bir ses morph gibi bir telefon görüşmesinde almak mümkün mü, ancak oluşturduğunuz sesle?

Bu soruya bir cevap sağlamaz. Bir yazardan eleştiri almak veya açıklama istemek için yazılarının altına bir yorum bırakın - her zaman kendi yayınlarınıza yorum yapabilirsiniz ve yeterli itibara sahip olduğunuzda herhangi bir yazı hakkında yorum yapabilirsiniz .
Matt L.

Yanıtlar:


24

İlk not: Bağlandığınız AT&T sistem gibi çoğu modern metin-konuşma sistemi, birleştirilmiş konuşma sentezini kullanır . Bu teknik, bir kişinin sesinin uzun bir cümle koleksiyonu kullanarak geniş bir kayıt veritabanı kullanır - en fazla sayıda foneme kombinasyonu mevcut olacak şekilde seçilir. Bir cümlenin sentezlenmesi sadece bu birlikten kesimleri birleştirerek yapılabilir - zorlayıcı bit dizmeyi kesintisiz ve etkileyici kılar.

Başkan Obama'nın utanç verici sözler söylemesini sağlamak için bu tekniği kullanmak istiyorsanız iki büyük engel var:

  • Tercihen düzgün kayıt koşulları ve iyi kalitede kaydedilmiş, hedef sesin geniş bir cümle koleksiyonuna erişmeniz gerekir. AT&T aynı stüdyoda düzinelerce saat aynı konuşmacıyı kaydetmek için bir bütçeye sahiptir, ancak birisinin sesini sadece 5 dakika kayıttan taklit etmek istiyorsanız zor olacaktır.
  • Kaydedilen hammadde, birleşik bir konuşma sentez sistemi tarafından istismar edilecek doğru "formatta" bulunmadan önce, önemli miktarda manuel hizalama ve önişleme vardır.

Bunun olası bir çözüm olduğuna dair sezginiz geçerlidir - bu iki sorunun üstesinden gelmek için bütçeniz varsa.

Neyse ki, daha az denetim ve daha az veri ile çalışabilecek başka teknikler de vardır. Bir kayıttan bir sesi "taklit etme" veya "taklit etme" ile ilgilenen konuşma sentezi alanına ses dönüştürme denir . Hedef hoparlör A'nın bir söyleme cümle 1'in kayıt A1'i ve kaynak hoparlör B'nin bir cümle 2 söyleyen bir kayıt B2'si, muhtemelen hoparlör B'nin çoğaltılmasının B1 kaydına erişime sahip, A hoparlörü A'nın bir cümle 2 kaydını oluşturmayı hedeflersiniz. sesi ile hedef konuşmacı ile aynı ifadeyi kullandı.

Bir ses dönüştürme sisteminin ana hatları şunlardır:

  1. Ses özellikleri A1 kaydından çıkarılır ve akustik sınıflara ayrılır. Bu aşamada, çantaların A hoparlörünün tüm "a" sını, A hoparlörünün tüm "o" sini vuracağı gibi. Bunun gerçek konuşma tanımasından çok daha basit ve kaba bir işlem olduğunu unutmayın - ilgilenmiyoruz doğru biçimlendirilmiş kelimeleri tanıyarak - ve hangi torbanın "o" içerdiğini ve hangi torbanın "a" içerdiğini bile bilmiyoruz - her torbada aynı sesin birden fazla örneğine sahip olduğumuzu biliyoruz.
  2. Aynı işlem B2 için de geçerlidir.
  3. A1 ve B2'den akustik sınıflar hizalanır. Torba benzetmesine devam etmek için bu, 1. ve 2. adımlardaki torbanın eşleştirilmesine eşdeğerdir, böylece bu torbada A hoparlöründen gelen tüm sesler, bu torbada hoparlör B'den gelen seslere karşılık gelmelidir. 2. adımda B1 kullanılıyorsa bunu yapmak çok daha kolaydır.
  4. Her bir torba çifti için bir haritalama fonksiyonu tahmin edilmektedir. Bu çantanın A hoparlörünün seslerini içerdiğini ve aynı sesleri çektiklerini ancak B hoparlörünün söylediklerini bildiğimiz için, onları karşılık gelen bir işlem (örneğin özellik vektörlerinde matris çarpımı) bulabiliriz. Başka bir deyişle, şimdi hoparlör 2'nin "o" sinin hoparlör 1'in "o" gibi nasıl seslendirileceğini biliyoruz.
  5. Bu aşamada ses dönüşümünü gerçekleştirmek için tüm kartlarımız elimizde. B2 kaydının her bir diliminden, hangi akustik sınıfa karşılık geldiğini anlamak için 2. adımın sonucunu kullanırız. Daha sonra dilimi dönüştürmek için 4. adımda tahmin edilen haritalama fonksiyonunu kullanıyoruz.

Bunun B2'de konuşma tanıma yapmaktan ve daha sonra A1'in sesini bir ceset olarak kullanarak TTS yapmaktan çok daha düşük bir seviyede çalıştığı konusunda ısrar ediyorum.

Adım 1 ve 2 için çeşitli istatistiksel teknikler kullanılır - en yaygın olanları GMM veya VQ'dur. Kısım 2 için çeşitli hizalama algoritmaları kullanılır - bu en zor kısımdır ve A1'i B1'e hizalamak A1'den B2'ye göre açıkça daha kolaydır. Daha basit bir durumda, hizalama yapmak için Dinamik Zaman Çözgü gibi yöntemler kullanılabilir. Adım 4'e gelince, en yaygın dönüşüm, özellik vektörleri üzerindeki doğrusal dönüşümlerdir (matris çarpımı). Daha karmaşık dönüşümler daha gerçekçi taklitler sağlar, ancak en uygun eşlemeyi bulmak için regresyon problemini çözmek daha karmaşıktır. Son olarak, 5. adımda olduğu gibi, resentezin kalitesi kullanılan özelliklerle sınırlıdır. LPC genellikle basit bir dönüştürme yöntemi ile başa çıkmak için daha kolaydır (sinyal çerçevesi -> artık ve LPC spektrumu tahmin -> gerekirse adım kaydırma artık - -> modifiye edilmiş kalıntıya modifiye LPC spektrumu uygulayın). Zaman alanına geri dönebilen ve prozodi ve fonemler arasında iyi bir ayrım sağlayan bir konuşma temsilini kullanmak burada anahtardır! Son olarak, aynı cümleyi söyleyerek A ve B hoparlörünün hizalanmış kayıtlarına erişiminiz varsa, tek bir model tahmin prosedüründe 1, 2, 3 ve 4 adımlarını aynı anda ele alan istatistiksel modeller vardır.

Daha sonra bir bibliyografya ile geri gelebilirim, ancak problemi hissetmeye başlamak için çok iyi bir yer ve bunu çözmek için kullanılan genel çerçeve Stylianou, Moulines ve Cappé'nin "Olasılıksal sınıflandırmaya ve harmoniklere dayalı bir ses dönüştürme sistemi artı gürültü modeli ".

Bildiğim kadarıyla, ses dönüşümü yapan yaygın bir yazılım parçası yok - sadece ses kaynağı gibi ses perdesi ve ses yolu uzunluğu parametrelerinin özelliklerini değiştiren yazılımlar (örneğin IRCAM TRAX transformatörü) - hedef sese yakın ses kaydı.


Harika cevap! Muhtemelen çanta benzetmesi olmadan anlayamadım ... Bu kadar açık bir açıklamadan sonra anlamadığım tek bir şey var: Anladığım kadarıyla, her zaman B1'e sahip olabilirsiniz! Çok teşekkür ederim.
clapas

A ve B farklı bir dil konuşursa değil (başka bir dilde TTS'nin kendi sesinizle çalındığı tuhaf ses dönüştürme uygulamaları var!). Veya A ve B'nin her ikisi de herkes tarafından bilinen tüm kayıtlarda yeterince uzun bir ortak cümle bulamadığınız ünlü kişiler ise ve dillerini konuşmuyorsanız, sesinizin bir kaydını ikisi arasında "köprü".
pichenettes

Anlıyorum. Tekrar teşekkürler @pichenettes. Stylianou ve ark.'nın menctioned kitabına bakmaya çalışacağım. Şerefe
clapas

Lütfen yanıtınızı kullandığınız kısaltmalara bağlantılar ile güncelleyin. Örneğin, LPC, VQ, GMM.
aaronsnoswell

Aaronsnoswell: LCP: doğrusal kestirimci kodlama, VQ: vektör nicemleme, GMM: Gauss karışım modeli yorumuna yanıt olarak. Bu kısaltmaların genişlemesinin çok fazla yardımcı olduğu açık değildir, çünkü her biri karmaşık bir fikirdir, ancak (kabaca) her fikir, bir dizi mevcut örnekten gelen pst veya gelecekteki verilerin modellenmesi veya açıklanması ile ilgilidir.
GregD

2

MorphVox gibi bir şey kullanabilirsiniz . İşte bir gösteri. Bu sürece ses dönüştürme veya dönüştürme denir. Teknik yönlerle ilgileniyorsanız, inceleyebileceğiniz yeni bir makale Dinamik Çekirdek Kısmi En Küçük Kareler Regresyonunu Kullanarak Ses Dönüştürme'dir .


Dark Vader'in sesi dostum, komikti. Daha önce benzer etkiler gördüm. Teşekkür ederim
clapas

1

Aynı şeyi arıyorum, ama yapılamaz. İskoçya'da ses modelleme yapan CereProc adlı bir şirket var, ancak laboratuvarlarında saatlerce ses kaydı yapan birine ihtiyaç duyuyorlar ve tek bir sesi modelleme maliyeti yaklaşık 30 bin dolar.


0

Aradığın şeye vocoder denir.

Audcity'nin vocoder'ını denediniz mi? Audacity http://audacity.sourceforge.net/download adresinden indirilebilir . Nasıl kullanılacağına dair bir demo https://www.youtube.com/watch?v=J_rPEmJfwNs adresinde bulunabilir .


1
Vocoding, başka bir sesi (genellikle ham, modüle edilmemiş bir sentezleyici sesidir) filtrelemek için bir ses kaydının (genellikle bir ses) spektral zarfının uygulanmasından oluşur. Birinin sesini taklit etmek için kullanılamaz.
pichenettes

Evet, Audacity'yi biliyorum, ama vocoder'ı denemedim. Sanırım kaydedilen sesin zarfına beyaz gürültü uygulayabilirsiniz. Teşekkür ederim
clapas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.