Çevrimiçi en iyi konuşma sentezleyicileri.

Bilgiye can atıyorsunuz ama beyniniz onu görsel olarak algılamaktan yoruldu mu? İş gününün sonunda konsantrasyonunuz kalmadı mı? Ya da belki okuyamayacak kadar tembelsiniz?

Kendinizdeki tembelliği yok etmeden önce onunla arkadaş olmak kötü bir fikir olmaz. Aslında bu, birkaç beyin uyarısıyla işbirliği içinde, hayattaki birçok inceliği öğretebilen, sadece atlayabileceğiniz sadık ve bilge bir arkadaştır. büyük dağlar, ama hatta küçük tepecikler bile. Stres olmadan nasıl yaşayabilirsiniz? Tembellik, her durum için bu sorunun cevabını bilir.

Örneğin, bir kişinin görüşünü zorlamaması ve korumaması için, ses sentezi motorları icat edildi - metni sesli konuşmaya ve tam tersi konuşmayı metne dönüştürebilen yapay zeka.

Basılı herhangi bir bilgiyi kulakla algılamanın tarifi basittir: Govorilka veya Balabolka gibi bir sesle metin okumak için herhangi bir programı bilgisayarınıza yükleyin, Alena, Nikolai, Olga veya Katerina gibi konuşmacılara sahip Rusça bir ses motoruyla destekleyin. , metni programa kopyalayın ve yapay konuşma oynamaya başlayın. Ancak bu tarif bile basitleştirilebilir. Tarayıcınıza metni konuşmaya dönüştürmek için tasarlanmış özel bir uzantı yükleyerek internet sitelerindeki yayınları birkaç tıklamayla dinleyebilirsiniz.

Chrome uzantısı SpeakIt!: okuyamayacak kadar tembel olanlar için tarayıcının içindeki konuşma sentezleyici

Chromium tabanlı tarayıcılar için uzantı SpeakIt! Rusça dahil 50'den fazla dilde metin okuyabilir. Rusça dildeki ses motorları zaten kurulu olduğundan, ayrı ayrı yazılım bileşenlerini yüklemek için hiçbir ek adıma gerek yoktur. Birkaç dakikalığına tembelliğinizi yenmek için yapmanız gereken tek şey mağazadan kurulum yapmak. Google Chrome SpeakIt uzantısı. Tamamen ücretsiz geliyor.

SpeakIt'ı yükledikten sonra! hoparlör simgesi biçiminde bir düğmeyle tarayıcı araç çubuğuna yerleştirilmiştir. Sol fare düğmesine tıklamak, uzantının, konuşmayı oynatmayı başlatmak için bir düğme ve bir durdurma düğmesi içeren bir mini arayüzünü açacaktır.

SpeakIt'e sağ tıklayın! “Seçenekler” komutunu seçmemiz gereken bir içerik menüsü açılacaktır.

Burada, uzantı ayarlarında, açılır listelerden, Rusça konuşan bir spiker ile önceden yüklenmiş olandan farklı bir ses motoru ayarlayabiliriz, kadın veya erkek sesi. İlgili seçeneklerin kaydırıcılarını sürükleyerek konuşma oynatmanın düzeyini ve hızını da ayarlayabiliriz.

Rusça konuşan spikerin erkek veya erkek olarak seçimi bir kadın sesiyle yalnızca iSpeech ses motoru için mevcuttur. Konuş motor! sadece kadın sesiyle okuyabilir. Yerli motor ise Nikolay Digalo'nun kadifemsi sesine alışkın olanlar tarafından güvenle kullanılabilir. "Test" alanına herhangi bir ifadeyi girin ve birkaç ses motorunu ve hoparlörü test edin. Bu, herkesin kendisi için en uygun konuşma üretimini seçmesine yardımcı olacaktır. Çevrimiçi yayın İngilizce ise İngilizce ses motorlarını test ederiz.

Evet, uzantı ayarlarına karar verdik, şimdi doğrudan İnternet yayınlarını yapay sesle çoğaltma işlemine geçelim. İlgilendiğiniz yayının web sayfasında çoğaltmak istediğiniz metni seçin, ardından içerik menüsünü çağırın ve SpeakIt! düğmesini tıklayın veya tarayıcı panelinde bu uzantının düğmesini tıklayın.

Bugün E-ticaret alanında kesinlikle faydalı olabilecek ilginç bir senaryodan bahsetmek istiyoruz. bu yaklaşık müşteri hizmetleri otomasyonu hakkında:

  1. Müşteri çevrimiçi mağazayı arar ve sipariş numarasını girmesi istenir;
  2. Abonenin DTMF üzerinden girdiği değerler AGI scriptine aktarılır;
  3. Sipariş numarasını kullanarak siparişlerle ilgili bilgileri sakladığımız veritabanına bir SQL sorgusu oluşturuyoruz. İlgili tablodan sipariş durumunu ve müşteri adını alıyoruz;
  4. Müşteriye söylenmesi gereken bir dize oluşturuyoruz ve bunu ses üretimi için Yandex.SpeechKit API'sine (TTS teknolojisi - metinden konuşmaya) gönderiyoruz;
  5. Yandex'den bir ses dosyası alıyoruz, kodunu ihtiyacımız olan formatta (.wav, 8k) çözüyoruz ve istemciye oynatıyoruz;
  6. Çoğaltılan dosyayı sileriz ve müşterinin aramasını sonlandırırız;

Bize göre bu ilginç bir otomasyon. Kuruluma başlayalım mı? :)

API edinme - Yandex.SpeechKit jetonu

Teknolojiyi tanımak için Yandex, ilk isteğin gönderildiği andan itibaren 1 aylık ücretsiz deneme süresi sağlıyor. Bundan sonra Yandex'i kullanmaya devam etmek için. SpeechKit Cloud'un bir sözleşme imzalaması gerekiyor. Kullanım şartlarının detaylarını okuyabilirsiniz.

Öncelikle https://developer.tech.yandex.ru bağlantısını kullanarak geliştiricinin hesabına gidin ve tıklayın. Anahtarı al:

  • Anahtar adı- anahtar için bir ad girin. Örneğin, Yıldız işareti + TTS;
  • Bağlantı- listeden seçin SpeechKit Bulutu;

Yukarıdaki ekran görüntüsünde kırmızıyla vurgulanan değeri hatırlıyoruz - bu sizin jetonunuzdur. AGI betiğini ayarlamaya geçelim.

Siparişleri içeren bir tablo oluşturun

Sipariş verilerini saklayacağımız bir SQL tablosu oluşturalım. İÇİNDE laboratuvar amaçları, onu IP-PBX Yıldız İşareti ile aynı ana bilgisayara dağıtacağız (+ bu, gecikmeyi ve işlem süresini azaltacaktır). Bu nedenle, sunucu konsoluna aşağıdaki komutları girin (önce SSH ile bağlanın):

Yıldız işareti cdrdb'yi kullanın; CREATE TABLE zakazy(name varchar(20),phone varchar(20),nomerzakaza varchar(20),status varchar(20)); INSERT INTO zakazy (ad, telefon, nomerzakaza, durum) DEĞERLER ("İskender", "79257777777", 300388, "Gönderildi"); INSERT INTO zakazy (ad, telefon, nomerzakaza, durum) DEĞERLER ("Ivan", "79251111111", 476656, "Ücretli"); INSERT INTO zakazy (ad, telefon, nomerzakaza, durum) DEĞERLER ("Sergey", "79252222222", 0089822, "Teslim Edildi");

Bir tablo oluşturup doldurduk. Artık tabloya SELECT erişimine sahip olabilecek bir kullanıcı oluşturmanız gerekiyor:

"mysql_password" TARAFINDAN TANIMLANAN "mysql_login"@"localhost" KULLANICISINI OLUŞTURUN; asteriskcdrdb.zakazy'DE "mysql_login" İÇİN SEÇİM VERİN;

Kullanıcı adınızı ve şifrenizi hatırlayın ve bir sonraki adıma geçin - AGI betiğini uyarlama. Geleneksel olarak, yorumları çift eğik çizgiden sonra kodlayın // :

AGI-komut dosyası

Aşağıda betiğin yapısı verilmiştir:

#!/usr/bin/php -q get_data("özel/oluştur", 6000, 10); //istemciden DTMF'yi kabul et; $sayı= $sonuç["sonuç"]; //müşteri tarafından girilen sipariş numarasını bir değişkene kaydedin; $anasistemadı = "localhost"; // localhost'umuz var. Siparişlerin bulunduğu veritabanının saklandığı sunucunun IP adresine sahip olabilirsiniz (uzak ana bilgisayarda pg_hba.conf dosyasını önceden yapılandırın); $kullanıcıadı = "mysql_login"; // daha önce oluşturduğunuz giriş; $password = "mysql_password"; // daha önce oluşturduğunuz şifre; $dbName = "yıldızcdrdb"; mysql_connect($anasistem adı,$kullanıcı adı,$şifre) OR DIE("Bağlantı oluşturulamıyor "); mysql_select_db($dbName) veya die(mysql_error()); $query = "SELECT * FROM zakazy WHERE `nomerzakaza`=$number";"; // verileri sipariş numarasına göre bağlayın ve ayrıştırın; $res=mysql_query($query) veya die(mysql_error()); while ($row = mysql_fetch_assoc($res)) ( $status = $row["status"]; $name = $row["name"]; // SQL'den elde edilen adı ve durumu değişkenlere yazın; ); $str = "Sayın ".$name."! Sipariş durumunuz ".$status." İletişime geçtiğiniz için teşekkür ederiz, iyi çalışmalar!"; // sentezlenmesi gereken diziyi oluşturun; $qs = http_build_query(array("format" => "wav", "lang" => "ru-RU", "speaker" => "jane", "key" => "belirteciniz", "emotion" => "iyi", "metin" => $str)); //Yandex API'sine gönderilecek değişkenleri tanımlayın. Dosya formatını, yerel ayarı, konuşmacıyı (erkek veya kadın sesleri) ve duygusal renklendirmeyi ayarlayabilirsiniz. "Your_token" kısmını Yandex API'sinden alınan anahtarla değiştirin. SpeechKit Bulutu; $ctx =stream_context_create(array("http"=>array("method"=>"GET","header"=>"Yönlendiren: \r\n"))); $soundfile = file_get_contents("https://tts.voicetech.yandex.net/generate?".$qs, false, $ctx); $dosya = fopen("dosya1.wav", "w"); fwrite($dosya, $sesdosyası); fclose($dosya); // ses dosyasını alın (dosya1.wav olarak kaydedin); Shell_exec("sox -t raw -r 48k -e işaretli tamsayı -b 16 -c 1 file1.wav -t wav -r 8k -c 1 /var/lib/asterisk/sounds/ru/custom/output1.wav" ); // sesi Yıldız işareti için gereken ses formatına dönüştürün ve /var/lib/asterisk/sounds/ru/custom/ dizinine kopyalayın; Shell_exec("chown yıldız işareti: yıldız işareti /var/lib/yıldız işareti/sounds/ru/custom/output1.wav"); Shell_exec("chmod 775 /var/lib/asterisk/sounds/ru/custom/output1.wav"); // dosyaya gerekli izinleri verin; $agi->exec("Oynatma", "özel/çıkış1"); // alınan ses dosyasını oynatmak için komutu AGI'ye gönderin; Shell_exec("rm -f /var/lib/asterisk/sounds/ru/custom/output1.wav"); Shell_exec("rm -f dosya1.wav"); // her iki dosyayı da sil; ? > AGI betiğini indirin

Dosyayı indirdikten sonra .php uzantısıyla kaydedin.

Komut dosyasını /var/lib/asterisk/agi-bin dizininde tts.php adı altında kaydedin ve sunucu konsoluna aşağıdaki komutları verin:

Dos2unix /var/lib/asterisk/agi-bin/tts.php chown yıldız işareti:yıldız işareti /var/lib/asterisk/agi-bin/tts.php chmod 775 /var/lib/asterisk/agi-bin/tts.php

İşlevselliği üretime uyarlıyoruz

Bu nedenle, öncelikle düzenlemek için /etc/asterisk/extensions_custom.conf dosyasını açın ve aşağıdaki girişi ekleyin:

Genişlet => s,1,Answer() exten => s,2,AGI(tts.php)

Çok güzel. FreePBX'ten özel bir bağlama çağrı yapalım. Bunun için modülü kullanacağız. Yol boyunca ilerleyelim YöneticiÖzel Hedefler ve tuşuna basın Hedef Ekle:


Tıklamak Göndermek Ve Yapılandırmayı Uygula. Müşterinin ana IVR menüsünden 4 tuşuna basarak emrinin durumunu öğrenebilmesini istiyoruz. Ana IVR'ye ve bölümlere gidin IVR Girişleri aşağıdakileri ekleyin:

Hazır. Bir şeyler yolunda gitmezse, yorumlarda bize yazın, yardım etmeye çalışacağız :)

Bu makale sizin için yararlı oldu mu?

Lütfen bana nedenini söyle?

Makalenin sizin için yararlı olmadığı için üzgünüz: (Lütfen zor değilse nedenini belirtin? Ayrıntılı bir cevap için çok minnettar olacağız. Daha iyi olmamıza yardımcı olduğunuz için teşekkür ederiz!

Yine Başka bir Konferans 2013'te, ürünlerimizi sunduk. yeni kütüphane Yandex Konuşma Kiti. Bu, Android ve iOS geliştiricileri tarafından kullanılabilen, konuşma tanımaya yönelik genel bir API'dir. SpeechKit'i indirebilir ve ayrıca belgeleri okuyabilirsiniz.

Yandex SpeechKit, Yandex mobil uygulamalarında başarıyla kullanılan arka uçlara doğrudan erişmenizi sağlar. Bu sistemi oldukça uzun bir süredir geliştiriyoruz ve artık Navigatör ve Mobil Haritalardaki kelimelerin %94'ünü, ayrıca Mobil Tarayıcıdaki kelimelerin %84'ünü doğru bir şekilde tanıyoruz. Bu durumda tanıma bir saniyeden biraz daha uzun sürer. Bu zaten çok iyi bir kalite ve biz bunu geliştirmek için aktif olarak çalışıyoruz.

Yakın gelecekte ses arayüzlerinin güvenilirlik açısından klasik giriş yöntemlerinden neredeyse hiç farklı olmayacağı tartışılabilir. Ayrıntılı hikaye bu tür sonuçlara nasıl ulaşmayı başardığımız ve sistemimizin kesimin altında nasıl çalıştığı hakkında.

Konuşma tanıma en ilginç ve karmaşık görevler yapay zeka. Burada elde edilen başarılar çok çeşitli alanlar: itibaren hesaplamalı dilbilim ile dijital işleme sinyaller. Konuşmayı anlayan bir makinenin nasıl yapılandırılması gerektiğini anlamak için öncelikle neyle uğraştığımızı anlayalım.

I. Temel Bilgiler
Bizim için sözlü konuşma her şeyden önce dijital bir sinyaldir. Ve eğer bu sinyalin kaydına bakarsak, ne kelimeleri ne de net bir şekilde göreceğiz. telaffuz edilen fonemler- farklı "konuşma olayları" net sınırlar oluşturmadan sorunsuz bir şekilde birbirine akar. Aynı cümle söylendi farklı insanlar veya farklı ortamlarda sinyal seviyesi farklı görünecektir. Aynı zamanda, insanlar bir şekilde birbirlerinin konuşmasını tanırlar: bu nedenle, sinyale dayanarak gerçekte söyleneni yeniden yapılandırmanın mümkün olduğu değişmezler vardır. Bu tür değişmezleri bulmak akustik modellemenin görevidir.

İnsan konuşmasının fonemlerden oluştuğunu varsayalım (bu çok büyük bir basitleştirmedir, ancak ilk yaklaşımda doğrudur). Fonemi, dilin minimum anlamlı birimi, yani değiştirilmesi bir kelimenin veya cümlenin anlamında değişikliğe yol açabilecek bir ses olarak tanımlayalım. Sinyalin küçük bir kısmını alalım, örneğin 25 milisaniye. Bu bölüme “çerçeve” adını verelim. Bu karede hangi fonem söylendi? Bu soruyu açık bir şekilde cevaplamak zordur - birçok fonem birbirine son derece benzerdir. Ancak kesin bir cevap vermek mümkün değilse, o zaman "olasılıklar" üzerinden akıl yürütme yapılabilir: belirli bir sinyal için bazı ses birimleri daha olasıdır, diğerleri daha az olasıdır ve diğerleri tamamen değerlendirme dışı bırakılabilir. Aslında akustik model, akustik sinyalin (çerçeve) küçük bir bölümünü girdi olarak alan ve bu çerçeve üzerinde çeşitli ses birimlerinin olasılık dağılımını üreten bir fonksiyondur. Böylece akustik model, söyleneni değişen derecelerde güvenle sesle yeniden yapılandırmamıza olanak tanır.

Bir diğer önemli husus akustik - farklı fonemler arasında geçiş olasılığı. Deneyimlerimizden, bazı fonem kombinasyonlarının telaffuz edilmesinin kolay olduğunu ve sıklıkla kullanıldığını, diğerlerinin ise telaffuz edilmesinin daha zor olduğunu ve pratikte daha az kullanıldığını biliyoruz. Bu bilgiyi özetleyebilir ve belirli bir fonem dizisinin "makullüğünü" değerlendirirken dikkate alabiliriz.

Artık ana "işgücü"lerden birini tasarlamak için tüm araçlara sahibiz otomatik tanıma konuşma - gizli Markov modeli (HMM, Gizli Markov Modeli). Bunu yapmak için, bir an için konuşma tanıma sorununu çözmediğimizi, tam tersini yani metni konuşmaya dönüştürme sorununu çözdüğümüzü hayal edelim. Diyelim ki "Yandex" kelimesinin telaffuzunu almak istiyoruz. “Yandex” kelimesinin bir dizi fonemden oluşmasına izin verin, örneğin [th][a][n][d][e][k][s]. "Yandex" kelimesi için her ses biriminin ayrı bir durumla temsil edildiği sonlu durum makinesi oluşturalım. Zamanın her anında bu durumlardan birindeyiz ve bu fonemin ses karakteristiğini “telaffuz ediyoruz” (akustik model sayesinde her fonemin nasıl telaffuz edildiğini biliyoruz). Ancak bazı fonemler uzun süre dayanır (“Yandex” sözcüğündeki [a] gibi), diğerleri neredeyse yutulur. Ses birimleri arasındaki geçiş olasılığı hakkındaki bilgilerin işe yaradığı yer burasıdır. Karşılık gelen bir ses ürettikten sonra mevcut durum, kabul ediyoruz olasılıksal çözüm: aynı durumda mı kalmalıyız yoksa bir sonrakine (ve buna göre bir sonraki foneme) mi geçmeliyiz?

Daha resmi olarak bir HMM temsil edilebilir aşağıdaki gibi. Öncelikle emisyon kavramını tanıtalım. Önceki örnekten hatırladığımız gibi, HMM durumlarının her biri bu özel duruma ait bir ses karakteristiğini (yani fonemi) “üretir”. Her karede ses, verilen foneme karşılık gelen olasılık dağılımından "oynatılır". İkinci olarak, önceden belirlenmiş olasılık kalıplarına bağlı olarak durumlar arasında geçişler mümkündür. Örneğin [a] sesinin “uzama” olasılığı yüksektir, ancak bu durum [d] sesi için söylenemez. Emisyon matrisi ve geçiş matrisi, gizli Markov modelini benzersiz bir şekilde tanımlar.

Tamam, Gizli Markov Modelinin konuşmayı üretmek için nasıl kullanılabileceğine baktık, fakat bunu konuşma tanımanın ters problemine nasıl uygularız? Viterbi algoritması kurtarmaya geliyor. Bir dizi gözlemlenebilir niceliğe (aslında ses) ve gizli durumları (sesbirimler) ve gözlemlenen nicelikleri ilişkilendiren olasılıksal bir modele sahibiz. Viterbi algoritması, en olası gizli durum dizisini geri yüklemenize olanak tanır.

Tanıma sözlüğümüzde yalnızca iki kelime olsun: “Evet” ([d][a]) ve “Hayır” ([n"][e][t]). Böylece iki gizli Markov modelimiz olur. Sonra, kullanıcının “evet” veya “hayır” diyen sesini kaydedelim. Viterbi algoritması hangi tanıma hipotezinin daha muhtemel olduğu sorusunu cevaplamamızı sağlayacak.

Şimdi görevimiz, bize sunulan ses kaydını "oluşturan" (daha doğrusu oluşturmuş olabilecek) gizli Markov modelinin en olası durum dizisini geri yüklemektir. Kullanıcı "evet" derse, 10 çerçevenin üzerindeki durumların karşılık gelen dizisi örneğin [d][d][d][d][a][a][a][a][a] olabilir [a] veya [d][a][a][a][a][a][a][a][a][a]. Aynı şekilde mümkün çeşitli seçenekler"hayır" kelimesinin telaffuzları - örneğin, [n"][n"][n"][e][e][e][e][t][t][t] ve [n"][n" ] [e][e][e][e][e][e][t][t] Şimdi her bir kelimeyi telaffuz etmenin "en iyi", yani en olası yolunu bulacağız. akustik modelimizi soracağız, burada belirli bir fonemin ses çıkarma olasılığı nedir (örneğin, [d] ve [a]), ayrıca geçiş olasılıklarını da hesaba katacağız ([d]->); [d], [d]->[a], [a] ]->[a]) Bu şekilde hipotez kelimelerinin her birini telaffuz etmenin en olası yolunu bulacağız, ayrıca her biri için şunu elde edeceğiz; bu belirli kelimenin ne kadar muhtemel telaffuz edildiğine dair bir ölçü (bu ölçüyü ilgili grafikteki en kısa yolun uzunluğu olarak düşünebiliriz). "Kazanan" (yani daha olası) hipotezi şu şekilde döndürülecektir. tanıma sonucu.

Viterbi algoritmasının uygulanması oldukça basittir (dinamik programlama kullanılır) ve HMM durumlarının sayısı ile çerçeve sayısının çarpımı ile orantılı bir sürede çalışır. Ancak en olası yolu bilmek bizim için her zaman yeterli değildir; örneğin, bir akustik modeli eğitirken, her karedeki her durumun olasılığını tahmin etmeniz gerekir. Bu amaçla İleri-Geri algoritması kullanılır.

Ancak akustik model sistemin yalnızca bir bileşenidir. Tanıma sözlüğü yukarıda tartışılan örnekte olduğu gibi iki kelimeden değil de yüzbinlerce, hatta milyonlarca kelimeden oluşuyorsa ne yapmalı? Birçoğunun telaffuzu birbirine çok benzer, hatta aynı olacaktır. Aynı zamanda, bağlamın varlığında akustiğin rolü azalır: geveleyerek, gürültülü veya belirsiz kelimeler "anlam açısından" eski haline getirilebilir. Bağlamı dikkate almak için tekrar kullanılırlar olasılıksal modeller. Örneğin, anadili Rusça olan bir kişi, "anne çerçeveyi yıkadı" cümlesinin doğallığının (bizim durumumuzda olasılığının) "anne siklotronu yıkadı" veya "anne çerçeveyi yıkadı" cümlesinden daha yüksek olduğunu anlıyor. Yani, “sabun anası…” sabit bağlamının varlığı, olasılık dağılımını tanımlar. sonraki kelime hem anlambilimi hem de morfolojiyi yansıtır. Bu tür dil modellerine n-gram dil modelleri denir (yukarıda tartışılan örnekteki trigramlar); Elbette bir dili modellemenin çok daha karmaşık ve güçlü yolları var.

II. Yandex ASR'nin kapsamı altında neler var?
Şimdi hayal ettiğimize göre genel cihaz konuşma tanıma sistemleri, Yandex teknolojisinin ayrıntılarını daha ayrıntılı olarak açıklayacağız - verilerimize göre en iyisi, Rus konuşma tanıma sistemi.
Yukarıdaki oyuncak örneklerini değerlendirirken bilinçli olarak bazı basitleştirmeler yaptık ve bazı önemli detayları atladık. Özellikle konuşmanın temel “yapı biriminin” ses birimi olduğunu savunduk. Aslında ses birimi çok büyük bir birimdir; Tek bir ses biriminin telaffuzunu yeterli şekilde modellemek için üç ayrı durum kullanılır: ses biriminin başlangıcı, ortası ve sonu. Birlikte yukarıda sunulanla aynı HMM'yi oluştururlar. Ek olarak, fonemler konuma ve bağlama bağlıdır: resmi olarak, "aynı" fonem, kelimenin hangi bölümünde bulunduğuna ve hangi fonemlere bitişik olduğuna bağlı olarak önemli ölçüde farklı ses çıkarır. Aynı zamanda, hepsinin basit bir listesi olası seçenekler bağlama duyarlı ses birimleri çok geri dönecektir büyük sayıçoğu gerçek hayatta asla gerçekleşmeyen kombinasyonlar; Akustik olayların sayısını makul kabul etmek için, bağlama duyarlı yakın ses birimleri birleştirilir. erken aşamalar eğitim ve birlikte değerlendirilmektedir.
Böylece öncelikle ses birimlerini bağlama duyarlı hale getirdik ve ikinci olarak her birini üç parçaya ayırdık. Bu nesneler - "fonem parçaları" - artık bizim fonetik alfabe. Bunlara Senonlar da denir. HMM'mizin her durumu bir senondur. Modelimiz 48 fonem ve yaklaşık 4000 senon kullanıyor.

Dolayısıyla akustik modelimiz hâlâ sesi girdi olarak alıyor ve çıktıda senonlar üzerinden bir olasılık dağılımı veriyor. Şimdi girişe tam olarak neyin sağlandığına bakalım. Söylediğimiz gibi ses 25 ms'lik bölümlere (“kareler”) kesiliyor. Tipik olarak dilimleme adımı 10 ms'dir, böylece bitişik çerçeveler kısmen üst üste gelir. "Ham" sesin (zaman içindeki salınımların genliği) akustik bir sinyali temsil etmenin en bilgilendirici biçimi olmadığı açıktır. Bu sinyalin spektrumu çok daha iyi. Uygulamada genellikle insan yasalarına karşılık gelen logaritmik ve ölçekli bir spektrum kullanılır. işitsel algı(Mel dönüşümü). Ortaya çıkan değerler ayrık kosinüs dönüşümüne (DCT) tabi tutulur ve sonuç MFCC - Mel Frekans Cepstral Katsayıları olur. (Cepstral kelimesi, ek bir DCT'nin varlığını yansıtacak şekilde Spectral'daki harflerin yeniden düzenlenmesiyle elde edilir). MFCC, 13 (genellikle) gerçek sayıdan oluşan bir vektördür. Ham haliyle bir akustik modele girdi olarak kullanılabilirler ancak çoğu zaman birçok ek dönüşüme tabi tutulurlar.

Akustik bir modelin eğitimi karmaşık ve çok adımlı bir süreçtir. Eğitim için Baum-Welsh algoritması gibi Beklenti Maksimizasyonu ailesinden algoritmalar kullanılır. Bu tür algoritmaların özü, iki adımın değişmesidir: Beklenti adımında, olabilirlik fonksiyonunun beklentisini hesaplamak için mevcut model kullanılır; Maksimizasyon adımında, model parametreleri, maksimuma çıkacak şekilde değiştirilir. bu tahmin. Eğitimin ilk aşamalarında basit akustik modeller kullanılır: basit MFCC özellikleri girdi olarak verilir, ses birimleri bağlam bağımlılığı olmadan dikkate alınır ve Gaussianların diyagonal kovaryans matrisleriyle bir karışımı (Diyagonal GMM'ler - Gauss Karışım Modelleri) modellemek için kullanılır. HMM'deki emisyon olasılığı. Önceki akustik modellerin her birinin sonuçları, daha fazla eğitim için başlangıç ​​noktasıdır. karmaşık model, daha karmaşık bir girdi, çıktı veya emisyon olasılık dağılım fonksiyonuna sahiptir. Akustik modeli geliştirmenin birçok yolu vardır, ancak en önemli etki GMM modelinden tanıma kalitesini neredeyse iki katına çıkaran DNN'ye (Derin Sinir Ağı) geçiştir. Sinir ağları, Gauss karışımlarının birçok sınırlamasından muaftır ve daha iyi genelleme yeteneğine sahiptir. Ayrıca sinir ağlarını temel alan akustik modeller gürültüye karşı daha dayanıklı ve daha iyi performansa sahiptir.

Akustik modelleme için sinir ağı birkaç aşamada eğitilir. Sinir ağını başlatmak için bir Kısıtlı Boltzmann Makineleri (RBM) yığını kullanılır. RBM, öğretmen olmadan eğitim veren stokastik bir sinir ağıdır. Öğrendiği ağırlıklar, akustik olayların sınıflarını ayırt etmek için doğrudan kullanılamasa da, konuşmanın yapısını ayrıntılı olarak yansıtır. RBM'yi bir özellik çıkarıcı olarak düşünebilirsiniz; ortaya çıkan üretken model, ayırt edici bir model oluşturmak için mükemmel bir başlangıç ​​noktası olarak ortaya çıkar. Ayırt edici model, bir dizi yöntemi uygulayan klasik geri yayılım algoritması kullanılarak eğitilir. teknikleri yakınsamanın iyileştirilmesi ve aşırı uyumun önlenmesi. Sonuç olarak, sinir ağının girişi birkaç MFCC özellikli çerçevedir (merkezi çerçeve sınıflandırmaya tabidir, geri kalanı bağlamı oluşturur), çıktı ise çeşitli senonlara karşılık gelen yaklaşık 4000 nörondur. Bu sinir ağı, bir üretim sisteminde akustik model olarak kullanılır.

Kod çözme sürecine daha yakından bakalım. Tanıma görevi için kendiliğinden konuşmaİle büyük sözlük Birinci bölümde açıklanan yaklaşım geçerli değildir. Her şeyi birbirine bağlayan bir veri yapısına ihtiyacınız var olası öneriler sistemin tanıyabildiği Uygun bir yapı, ağırlıklı sonlu durum dönüştürücüsüdür (WFST) - esasen sadece bir çıktı bandı ve kenarlarında ağırlıklar bulunan sonlu durumlu bir makine. Bu makinenin girişinde senonlar, çıkışında ise kelimeler bulunur. Kod çözme süreci seçime bağlıdır en iyi yol bu makinede ve bu yola karşılık gelen kelimelerin bir çıktı dizisini sağlayın. Bu durumda her yay boyunca geçiş fiyatı iki bileşenden oluşur. İlk bileşen önceden bilinir ve makinenin montajı aşamasında hesaplanır. Telaffuz maliyetini, belirli bir duruma geçişi ve dil modelinden olasılık değerlendirmesini içerir. İkinci bileşen, belirli bir kare için ayrı ayrı hesaplanır: bu, söz konusu yayın giriş sembolüne karşılık gelen senon'un akustik ağırlığıdır. Kod çözme gerçek zamanlı olarak gerçekleşir, dolayısıyla her şey incelenmez olası yollar: Özel buluşsal yöntemler, hipotez kümesini en olası olanlarla sınırlandırır.

Elbette teknik açıdan en ilginç kısım böyle bir otomatın yapımıdır. Bu sorun çevrimdışı olarak çözüldü. Bağlama duyarlı her fonem için basit HMM'lerden her kelime için doğrusal otomatlara geçmek için bir telaffuz sözlüğü kullanmamız gerekir. Böyle bir sözlüğün manuel olarak oluşturulması imkansızdır ve burada yöntemler kullanılmaktadır. makine öğrenimi(ve görevin kendisi bilimsel topluluk Grafemden Foneme veya G2P olarak adlandırılır). Buna karşılık, kelimeler birbirleriyle bir dil modeli oluşturacak şekilde "birleştirilir" ve ayrıca şu şekilde sunulur: sonlu durum makinesi. Buradaki merkezi işlem WFST bileşimidir ancak aynı zamanda önemlidir çeşitli yöntemler WFST'yi boyut ve depolama verimliliği açısından optimize etme.

Kod çözme sürecinin sonucu, daha fazla işlenebilecek hipotezlerin bir listesidir. Örneğin, en olası hipotezleri yeniden sıralamak için daha güçlü bir dil modeli kullanabilirsiniz. Ortaya çıkan liste, güven değerine (tanımanın doğru şekilde gerçekleştirildiğinden ne kadar emin olduğumuza) göre sıralanarak kullanıcıya döndürülür. Genellikle tek bir hipotez kalır; bu durumda istemci uygulaması hemen sesli komutu yürütmeye başlar.

Son olarak konuşma tanıma sistemleri için kalite metrikleri konusuna değinelim. En popüler ölçüm, Kelime Hata Oranıdır (ve bunun tersi, Kelime Doğruluğu). Temel olarak yanlış tanınan kelimelerin oranını yansıtır. Bir konuşma tanıma sistemi için Kelime Hata Oranını hesaplamak amacıyla, konuşma tanımayı kullanan uygulamanın konusuyla eşleşen, elle etiketlenmiş sesli sorgular topluluğu kullanılır.

SpeechKit Cloud, geliştiricilere Yandex'in konuşma tanıma ve sentezleme teknolojilerine erişim sağlayan bir programdır. Entegrasyon, MajorDoMo sistemi Eklentiler Pazarı'nda bulunan Yandex TTS modülü kullanılarak gerçekleştirilir.

Kurulum ve konfigürasyon prosedürü çok basittir ve birkaç adımda tamamlanır.

1. Denetim Masasına gidin

2. Eklenti Pazarına gidin

3. "Etkileşim" bölümüne gidin

4. MajorDomo sistemine bir modül ekleyin - Denetim Masası - Eklentiler Pazarı - Etkileşim - Yandex TTS - Ekle:

5. Sistem bizi başarılı kurulum hakkında bilgilendirecek ve “Eklenti Pazarı” sayfasına yönlendirecektir:

6. Modülü daha ayrıntılı yapılandırmak için, geliştiricinin hesabından mevcut bir hesap kullanılarak ücretsiz olarak edinilebilecek bir Yandex Api Anahtarına ihtiyacınız vardır. hesap Yandex'de:

7. Oluşturulan anahtara bir ad atayın ve SpeechKit Bulutu'na tıklayın:

8. Gerekli alanları verilerle doldurun ve "Gönder" düğmesini tıklayın:

9. Her şey doğru yapıldıysa, sağdaki listede panoya kopyalanması gereken oluşturulan API anahtarı görünecektir:

10. Yantex TTS modülünün (MajorDoMo - Kontrol Paneli - Uygulamalar - Yandex TTS) ayarlarını açın, önceki adımda kopyaladığınız anahtarı API anahtarı alanına yapıştırın, sesi, ruh halini seçin ve ayrıca modülün çalıştığından emin olun. etkinleştirildi:

11. Kurulum tamamlandı!

Dikkat! Test Yandex Api Anahtarı 1 ay boyunca oluşturulur, bundan sonra sistem yeni (önbelleğe alınmamış) ifadeleri seslendirmeyi durduracaktır. Kalıcı bir anahtar almak için, anahtarın kalıcı bir anahtara aktarılması talebiyle Yandex'e bir mektup göndermelisiniz.

konuşma tanıma teknolojisi

Yandex Konuşma Seti Otomatik Şairi.

Metnin hazırlanması

Telaffuz ve tonlama

sayfasında veya özel bir kaynak web sitesinde

Birçoğunuz muhtemelen sesinizi kullanarak bir bilgisayarı veya akıllı telefonu kontrol etme fırsatına sahip oldunuz. Navigatör'e “Hadi Gogol, 25'e gidelim” dediğinizde veya Yandex uygulamasında dediğinizde arama sorgusu, konuşma tanıma teknolojisi sesinizi bir metin komutuna dönüştürür. Ama aynı zamanda var ters problem: Bilgisayarın elindeki metni sese dönüştürün.

Yandex, Yandex Speechkit kompleksinden sesli metinlere kadar konuşma sentezi teknolojisini kullanıyor. Örneğin, nasıl telaffuz edildiğini öğrenmeni sağlar yabancı kelimeler ve Çevirmen'deki ifadeler. Autopoet, konuşma sentezi sayesinde kendi sesini de elde etti.

Metnin hazırlanması

Telaffuz ve tonlama

Başka bir deyişle, her 25 milisaniyelik konuşmanın sentezi için çok fazla veri kullanılıyor. Yakın çevreye ilişkin bilgiler, kareden kareye ve heceden heceye yumuşak bir geçiş sağlar ve cümle ve cümlenin bir bütün olarak bilgisinin oluşturulması için gereklidir. doğru tonlama sentezlenmiş konuşma

Hazırlanan metnin okunması için akustik model kullanılmaktadır. Konuşma tanımada kullanılan akustik modelden farklıdır. Model tanıma durumunda belirli özelliklere sahip sesler ile fonemler arasında bir uyumun kurulması gerekmektedir. Sentez durumunda, akustik modelin aksine, çerçevelerin tanımlarına dayanarak seslerin tanımlarını oluşturması gerekir.

Akustik bir model, bir fonemin doğru şekilde nasıl telaffuz edileceğini veya doğru tonlamayı nasıl vereceğini nasıl bilebilir? soru cümlesi? Metinlerden ve ses dosyalarından öğrenir. Örneğin, bir sesli kitabı ve ona karşılık gelen metni yükleyebilirsiniz. Bir model ne kadar çok veri öğrenirse telaffuzu ve tonlaması da o kadar iyi olur.

Yandex SpeechKit kompleksindeki teknolojiler hakkında daha fazla bilgiyi bu sayfada veya özel bir kaynakta bulabilirsiniz. Bir geliştiriciyseniz ve bulutu test etmek istiyorsanız veya mobil versiyon Yandex teknolojilerine adanmış bir site olan SpeechKit size yardımcı olacaktır.

","contentType":"text/html","amp":"

Birçoğunuz muhtemelen sesinizi kullanarak bir bilgisayarı veya akıllı telefonu kontrol etme fırsatına sahip oldunuz. Navigator'a “Hadi Gogol, 25'e gidelim” dediğinizde ya da Yandex uygulamasında bir arama sorgusu söylediğinizde, konuşma tanıma teknolojisi sesinizi bir metin komutuna dönüştürüyor. Ancak bunun tersi bir görev de var: Bilgisayarın elindeki metni sese dönüştürmek.

Seslendirilmesi gereken metin kümesi nispeten küçükse ve içlerinde aynı ifadeler bulunuyorsa - örneğin trenlerin istasyona kalkış ve varış duyurularında olduğu gibi - bir konuşmacıyı davet etmek ve kayıt yapmak yeterlidir. stüdyo doğru kelimeler ve cümleleri seçin ve ardından onlardan bir mesaj oluşturun. Ancak bu yaklaşım keyfi metinlerde işe yaramaz. Konuşma sentezi teknolojisinin kullanışlı olduğu yer burasıdır.

Yandex, Yandex Speechkit kompleksinden sesli metinlere kadar konuşma sentezi teknolojisini kullanıyor. Örneğin, Çevirmen'de yabancı kelimelerin ve cümlelerin nasıl telaffuz edildiğini öğrenmenizi sağlar. Autopoet, konuşma sentezi sayesinde kendi sesini de elde etti.

Metnin hazırlanması

Konuşma sentezi sorunu birkaç aşamada çözülür. Öncelikle özel bir algoritma, metni robotun okumasına uygun olacak şekilde hazırlar: tüm sayıları kelimelerle yazar ve kısaltmaları genişletir. Daha sonra metin cümlelere, yani sürekli tonlamalı cümlelere bölünür - bunun için bilgisayar noktalama işaretlerine ve sabit yapılara odaklanır. Tüm kelimeler için derlenmiştir fonetik transkripsiyon.

Robot, bir kelimenin nasıl okunacağını ve vurgunun nereye yapılacağını anlamak için öncelikle sistemde yerleşik olan klasik, elle derlenmiş sözlüklere başvuruyor. Gerekli kelime sözlükte yoksa bilgisayar, ödünç alınan kurallara dayanarak kendi başına bir transkripsiyon oluşturur. akademik referans kitapları. Son olarak eğer normal kurallar yetersiz olduğu ortaya çıkıyor - ve bu oluyor çünkü yaşayan herhangi bir dil sürekli değişiyor - kullanıyor istatistiksel kurallar. Kelimenin külliyatta görünmesi durumunda eğitim metinleri, sistem konuşmacıların genellikle hangi heceyi vurguladığını hatırlayacaktır.

Telaffuz ve tonlama

Transkripsiyon hazır olduğunda bilgisayar, her bir ses biriminin ne kadar süre ses çıkaracağını, yani kaç kare içerdiğini hesaplar; buna 25 milisaniye uzunluğundaki parçalar denir. Daha sonra her kare birçok parametreye göre tanımlanır: hangi ses biriminin parçası olduğu ve içinde hangi yeri kapladığı; bu fonem hangi heceye ait? sesli harfse vurgulu mu; bir hecede hangi yeri kaplar; hece - tek kelimeyle; kelime - bir cümleyle; bu cümlenin öncesinde ve sonrasında hangi noktalama işaretleri var; cümlenin cümle içinde yeri nedir; son olarak cümlenin sonunda hangi işaret var ve ana tonlaması nedir.

Başka bir deyişle, her 25 milisaniyelik konuşmanın sentezi için çok fazla veri kullanılıyor. Yakın çevreye ilişkin bilgiler, çerçeveden çerçeveye ve heceden heceye yumuşak bir geçiş sağlar ve sentezlenmiş konuşmanın doğru tonlamasını oluşturmak için bir bütün olarak ifade ve cümle hakkında bilgi gereklidir.

Hazırlanan metnin okunması için akustik model kullanılmaktadır. Konuşma tanımada kullanılan akustik modelden farklıdır. Model tanıma durumunda belirli özelliklere sahip sesler ile fonemler arasında bir uyumun kurulması gerekmektedir. Sentez durumunda, akustik modelin aksine, çerçevelerin tanımlarına dayanarak seslerin tanımlarını oluşturması gerekir.

Akustik bir model, bir fonemi nasıl doğru telaffuz edeceğini veya soru cümlesine doğru tonlamayı nasıl vereceğini nasıl biliyor? Metinlerden ve ses dosyalarından öğrenir. Örneğin, bir sesli kitabı ve ona karşılık gelen metni yükleyebilirsiniz. Bir model ne kadar çok veri öğrenirse telaffuzu ve tonlaması da o kadar iyi olur.

Son olarak sesin kendisi hakkında. Sesimizi tanınabilir kılan öncelikle organların yapısal özelliklerine bağlı olan tınıdır. konuşma aparatı her insan. Sesinizin tınısı modellenebilir, yani özellikleri tanımlanabilir; bunu yapmak için stüdyoda küçük bir metin külliyatı okumak yeterlidir. Bundan sonra, tınınızla ilgili veriler, bilmediğiniz bir dil olsa bile herhangi bir dildeki konuşmayı sentezlemek için kullanılabilir. Bir robot size bir şey söylemek istediğinde jeneratörü kullanır ses dalgaları- ses kodlayıcı. Hakkında bilgi içerir frekans özellikleri Akustik modelden alınan cümlelerin yanı sıra sese tanınabilir bir renk veren tını hakkındaki veriler.

Yandex SpeechKit kompleksindeki teknolojiler hakkında daha fazla bilgiyi bu sayfada veya özel bir kaynakta bulabilirsiniz. Geliştiriciyseniz ve SpeechKit'in bulut veya mobil sürümünü test etmek istiyorsanız Yandex teknolojilerine özel site size yardımcı olacaktır.

","anlıkMakale":"

Birçoğunuz muhtemelen sesinizi kullanarak bir bilgisayarı veya akıllı telefonu kontrol etme fırsatına sahip oldunuz. Navigator'a “Hadi Gogol, 25'e gidelim” dediğinizde ya da Yandex uygulamasında bir arama sorgusu söylediğinizde, konuşma tanıma teknolojisi sesinizi bir metin komutuna dönüştürüyor. Ancak bunun tersi bir görev de var: Bilgisayarın elindeki metni sese dönüştürmek.

Seslendirilmesi gereken metin seti nispeten küçükse ve aynı ifadeleri içeriyorsa - örneğin trenlerin istasyona kalkış ve varış duyurularında olduğu gibi - bir konuşmacıyı davet etmek, gerekli kelimeleri kaydetmek yeterlidir. ve stüdyodaki ifadeleri ve ardından mesajlarını toplayın. Ancak bu yaklaşım keyfi metinlerde işe yaramaz. Konuşma sentezi teknolojisinin kullanışlı olduğu yer burasıdır.

Yandex, Yandex Speechkit kompleksinden sesli metinlere kadar konuşma sentezi teknolojisini kullanıyor. Örneğin, Çevirmen'de yabancı kelimelerin ve cümlelerin nasıl telaffuz edildiğini öğrenmenizi sağlar. Autopoet, konuşma sentezi sayesinde kendi sesini de elde etti.

Metnin hazırlanması

Konuşma sentezi sorunu birkaç aşamada çözülür. Öncelikle özel bir algoritma, metni robotun okumasına uygun olacak şekilde hazırlar: tüm sayıları kelimelerle yazar ve kısaltmaları genişletir. Daha sonra metin cümlelere, yani sürekli tonlamalı cümlelere bölünür - bunun için bilgisayar noktalama işaretlerine ve sabit yapılara odaklanır. Tüm kelimeler için fonetik bir transkripsiyon derlenir.

Robot, bir kelimenin nasıl okunacağını ve vurgunun nereye yapılacağını anlamak için öncelikle sistemde yerleşik olan klasik, elle derlenmiş sözlüklere başvuruyor. Gerekli kelime sözlükte yoksa bilgisayar, akademik referans kitaplarından alınan kurallara dayanarak kendi başına bir transkripsiyon oluşturur. Son olarak, eğer olağan kurallar yeterli değilse - ve bu, yaşayan herhangi bir dilin sürekli değişmesi nedeniyle olur - istatistiksel kuralları kullanır. Eğitim metinleri külliyatında bir kelime bulunursa sistem, konuşmacıların genellikle bu metinde hangi heceyi vurguladığını hatırlayacaktır.

Telaffuz ve tonlama

Transkripsiyon hazır olduğunda bilgisayar, her bir ses biriminin ne kadar süre ses çıkaracağını, yani kaç kare içerdiğini hesaplar; buna 25 milisaniye uzunluğundaki parçalar denir. Daha sonra her kare birçok parametreye göre tanımlanır: hangi ses biriminin parçası olduğu ve içinde hangi yeri kapladığı; bu fonem hangi heceye ait? sesli harfse vurgulu mu; bir hecede hangi yeri kaplar; hece - tek kelimeyle; kelime - bir cümleyle; bu cümlenin öncesinde ve sonrasında hangi noktalama işaretleri var; cümlenin cümle içinde yeri nedir; son olarak cümlenin sonunda hangi işaret var ve ana tonlaması nedir.

Başka bir deyişle, her 25 milisaniyelik konuşmanın sentezi için çok fazla veri kullanılıyor. Yakın çevreye ilişkin bilgiler, çerçeveden çerçeveye ve heceden heceye yumuşak bir geçiş sağlar ve sentezlenmiş konuşmanın doğru tonlamasını oluşturmak için bir bütün olarak ifade ve cümle hakkında bilgi gereklidir.

Hazırlanan metnin okunması için akustik model kullanılmaktadır. Konuşma tanımada kullanılan akustik modelden farklıdır. Model tanıma durumunda belirli özelliklere sahip sesler ile fonemler arasında bir uyumun kurulması gerekmektedir. Sentez durumunda, akustik modelin aksine, çerçevelerin tanımlarına dayanarak seslerin tanımlarını oluşturması gerekir.

Akustik bir model, bir fonemi nasıl doğru telaffuz edeceğini veya soru cümlesine doğru tonlamayı nasıl vereceğini nasıl biliyor? Metinlerden ve ses dosyalarından öğrenir. Örneğin, bir sesli kitabı ve ona karşılık gelen metni yükleyebilirsiniz. Bir model ne kadar çok veri öğrenirse telaffuzu ve tonlaması da o kadar iyi olur.

Son olarak sesin kendisi hakkında. Sesimizi tanınabilir kılan öncelikle her insandaki konuşma aparatının organlarının yapısal özelliklerine bağlı olan tınıdır. Sesinizin tınısı modellenebilir, yani özellikleri tanımlanabilir; bunu yapmak için stüdyoda küçük bir metin külliyatı okumak yeterlidir. Bundan sonra, tınınızla ilgili veriler, bilmediğiniz bir dil olsa bile herhangi bir dildeki konuşmayı sentezlemek için kullanılabilir. Robot size bir şey söylemesi gerektiğinde, bir ses dalgası üreteci, yani bir ses kodlayıcı kullanır. Akustik modelden alınan cümlenin frekans özelliklerine ilişkin bilgilerin yanı sıra sese tanınabilir bir renk veren tını hakkındaki veriler de buraya yüklenir.

Yandex SpeechKit kompleksindeki teknolojiler hakkında daha fazla bilgiyi bu sayfada veya özel bir kaynakta bulabilirsiniz. Geliştiriciyseniz ve SpeechKit'in bulut veya mobil sürümünü test etmek istiyorsanız Yandex teknolojilerine özel site size yardımcı olacaktır.

"),"önerilenBody":("kaynak":"

Birçoğunuz muhtemelen sesinizi kullanarak bir bilgisayarı veya akıllı telefonu kontrol etme fırsatına sahip oldunuz. Navigator'a “Hadi Gogol, 25'e gidelim” dediğinizde ya da Yandex uygulamasında bir arama sorgusu söylediğinizde, konuşma tanıma teknolojisi sesinizi bir metin komutuna dönüştürüyor. Ancak bunun tersi bir görev de var: Bilgisayarın elindeki metni sese dönüştürmek.

Seslendirilmesi gereken metin seti nispeten küçükse ve aynı ifadeleri içeriyorsa - örneğin trenlerin istasyona kalkış ve varış duyurularında olduğu gibi - bir konuşmacıyı davet etmek, gerekli kelimeleri kaydetmek yeterlidir. ve stüdyodaki ifadeleri ve ardından mesajlarını toplayın. Ancak bu yaklaşım rastgele metinlerde işe yaramaz. Konuşma sentezi teknolojisinin kullanışlı olduğu yer burasıdır.

Yandex, Yandex Speechkit kompleksinden sesli metinlere kadar konuşma sentezi teknolojisini kullanıyor. Örneğin, Çevirmen'de yabancı kelimelerin ve cümlelerin nasıl telaffuz edildiğini öğrenmenizi sağlar. Autopoet, konuşma sentezi sayesinde kendi sesini de elde etti.

Metnin hazırlanması

Konuşma sentezi sorunu birkaç aşamada çözülür. Öncelikle özel bir algoritma, metni robotun okumasına uygun olacak şekilde hazırlar: tüm sayıları kelimelerle yazar ve kısaltmaları genişletir. Daha sonra metin cümlelere, yani sürekli tonlamalı cümlelere bölünür - bunun için bilgisayar noktalama işaretlerine ve sabit yapılara odaklanır. Tüm kelimeler için fonetik bir transkripsiyon derlenir.

Robot, bir kelimenin nasıl okunacağını ve vurgunun nereye yapılacağını anlamak için öncelikle sistemde yerleşik olan klasik, elle derlenmiş sözlüklere başvuruyor. Gerekli kelime sözlükte yoksa bilgisayar, akademik referans kitaplarından alınan kurallara dayanarak kendi başına bir transkripsiyon oluşturur. Son olarak, eğer olağan kurallar yeterli değilse - ve bu, yaşayan herhangi bir dilin sürekli değişmesi nedeniyle olur - istatistiksel kuralları kullanır. Eğitim metinleri külliyatında bir kelime bulunursa sistem, konuşmacıların genellikle bu metinde hangi heceyi vurguladığını hatırlayacaktır.

Telaffuz ve tonlama

Transkripsiyon hazır olduğunda bilgisayar, her bir ses biriminin ne kadar süre ses çıkaracağını, yani kaç kare içerdiğini hesaplar; buna 25 milisaniye uzunluğundaki parçalar denir. Daha sonra her kare birçok parametreye göre tanımlanır: hangi ses biriminin parçası olduğu ve içinde hangi yeri kapladığı; bu fonem hangi heceye ait? sesli harfse vurgulu mu; bir hecede hangi yeri kaplar; hece - tek kelimeyle; kelime - bir cümleyle; bu cümlenin öncesinde ve sonrasında hangi noktalama işaretleri var; cümlenin cümle içinde yeri nedir; son olarak cümlenin sonunda hangi işaret var ve ana tonlaması nedir.

Başka bir deyişle, her 25 milisaniyelik konuşmanın sentezi için çok fazla veri kullanılıyor. Yakın çevreye ilişkin bilgiler, çerçeveden çerçeveye ve heceden heceye yumuşak bir geçiş sağlar ve sentezlenmiş konuşmanın doğru tonlamasını oluşturmak için bir bütün olarak ifade ve cümle hakkında bilgi gereklidir.

Hazırlanan metnin okunması için akustik model kullanılmaktadır. Konuşma tanımada kullanılan akustik modelden farklıdır. Model tanıma durumunda belirli özelliklere sahip sesler ile fonemler arasında bir uyumun kurulması gerekmektedir. Sentez durumunda, akustik modelin aksine, çerçevelerin tanımlarına dayanarak seslerin tanımlarını oluşturması gerekir.

Akustik bir model, bir fonemi nasıl doğru telaffuz edeceğini veya soru cümlesine doğru tonlamayı nasıl vereceğini nasıl biliyor? Metinlerden ve ses dosyalarından öğrenir. Örneğin, bir sesli kitabı ve ona karşılık gelen metni yükleyebilirsiniz. Bir model ne kadar çok veri öğrenirse telaffuzu ve tonlaması da o kadar iyi olur.

Son olarak sesin kendisi hakkında. Sesimizi tanınabilir kılan öncelikle her insandaki konuşma aparatının organlarının yapısal özelliklerine bağlı olan tınıdır. Sesinizin tınısı modellenebilir, yani özellikleri tanımlanabilir; bunu yapmak için stüdyoda küçük bir metin külliyatını okumanız yeterlidir. Bundan sonra, tınınızla ilgili veriler, bilmediğiniz bir dil olsa bile herhangi bir dildeki konuşmayı sentezlemek için kullanılabilir. Robot size bir şey söylemesi gerektiğinde ses kodlayıcı adı verilen bir ses dalgası üreteci kullanır. Akustik modelden alınan cümlenin frekans özelliklerine ilişkin bilgilerin yanı sıra sese tanınabilir bir renk veren tını hakkındaki veriler de buraya yüklenir.

Yandex SpeechKit kompleksindeki teknolojiler hakkında daha fazla bilgiyi bu sayfada veya özel bir kaynakta bulabilirsiniz. Geliştiriciyseniz ve SpeechKit'in bulut veya mobil sürümünü test etmek istiyorsanız Yandex teknolojilerine özel site size yardımcı olacaktır.

Birçoğunuz muhtemelen sesinizi kullanarak bir bilgisayarı veya akıllı telefonu kontrol etme fırsatına sahip oldunuz. Navigator'a “Hadi Gogol, 25'e gidelim” dediğinizde ya da Yandex uygulamasında bir arama sorgusu söylediğinizde, konuşma tanıma teknolojisi sesinizi bir metin komutuna dönüştürüyor. Ancak bunun tersi bir görev de var: Bilgisayarın elindeki metni sese dönüştürmek.

Seslendirilmesi gereken metin seti nispeten küçükse ve aynı ifadeleri içeriyorsa - örneğin trenlerin istasyona kalkış ve varış duyurularında olduğu gibi - bir konuşmacıyı davet etmek, gerekli kelimeleri kaydetmek yeterlidir. ve stüdyodaki ifadeleri ve ardından mesajlarını toplayın. Ancak bu yaklaşım keyfi metinlerde işe yaramaz. Konuşma sentezi teknolojisinin kullanışlı olduğu yer burasıdır.

Yandex, Yandex Speechkit kompleksinden sesli metinlere kadar konuşma sentezi teknolojisini kullanıyor. Örneğin, Çevirmen'de yabancı kelimelerin ve cümlelerin nasıl telaffuz edildiğini öğrenmenizi sağlar. Autopoet, konuşma sentezi sayesinde kendi sesini de elde etti.

Metnin hazırlanması

Konuşma sentezi sorunu birkaç aşamada çözülür. Öncelikle özel bir algoritma, metni robotun okumasına uygun olacak şekilde hazırlar: tüm sayıları kelimelerle yazar ve kısaltmaları genişletir. Daha sonra metin cümlelere, yani sürekli tonlamalı cümlelere bölünür - bunun için bilgisayar noktalama işaretlerine ve sabit yapılara odaklanır. Tüm kelimeler için fonetik bir transkripsiyon derlenir.

Robot, bir kelimenin nasıl okunacağını ve vurgunun nereye yapılacağını anlamak için öncelikle sistemde yerleşik olan klasik, elle derlenmiş sözlüklere başvuruyor. Gerekli kelime sözlükte yoksa bilgisayar, akademik referans kitaplarından alınan kurallara dayanarak kendi başına bir transkripsiyon oluşturur. Son olarak, eğer olağan kurallar yeterli değilse - ve bu, yaşayan herhangi bir dilin sürekli değişmesi nedeniyle olur - istatistiksel kuralları kullanır. Eğitim metinleri külliyatında bir kelime bulunursa sistem, konuşmacıların genellikle bu metinde hangi heceyi vurguladığını hatırlayacaktır.

Telaffuz ve tonlama

Transkripsiyon hazır olduğunda bilgisayar, her bir ses biriminin ne kadar süre ses çıkaracağını, yani kaç kare içerdiğini hesaplar; buna 25 milisaniye uzunluğundaki parçalar denir. Daha sonra her kare birçok parametreye göre tanımlanır: hangi ses biriminin parçası olduğu ve içinde hangi yeri kapladığı; bu fonem hangi heceye ait? sesli harfse vurgulu mu; bir hecede hangi yeri kaplar; hece - tek kelimeyle; kelime - bir cümleyle; bu cümlenin öncesinde ve sonrasında hangi noktalama işaretleri var; cümlenin cümle içinde yeri nedir; son olarak cümlenin sonunda hangi işaret var ve ana tonlaması nedir.

Başka bir deyişle, her 25 milisaniyelik konuşmanın sentezi için çok fazla veri kullanılıyor. Yakın çevreye ilişkin bilgiler, çerçeveden çerçeveye ve heceden heceye yumuşak bir geçiş sağlar ve sentezlenmiş konuşmanın doğru tonlamasını oluşturmak için bir bütün olarak ifade ve cümle hakkında bilgi gereklidir.

Hazırlanan metnin okunması için akustik model kullanılmaktadır. Konuşma tanımada kullanılan akustik modelden farklıdır. Model tanıma durumunda belirli özelliklere sahip sesler ile fonemler arasında bir uyumun kurulması gerekmektedir. Sentez durumunda, akustik modelin aksine, çerçevelerin tanımlarına dayanarak seslerin tanımlarını oluşturması gerekir.

Akustik bir model, bir fonemi nasıl doğru telaffuz edeceğini veya soru cümlesine doğru tonlamayı nasıl vereceğini nasıl biliyor? Metinlerden ve ses dosyalarından öğrenir. Örneğin, bir sesli kitabı ve ona karşılık gelen metni yükleyebilirsiniz. Bir model ne kadar çok veri öğrenirse telaffuzu ve tonlaması da o kadar iyi olur.

Son olarak sesin kendisi hakkında. Sesimizi tanınabilir kılan öncelikle her insandaki konuşma aparatının organlarının yapısal özelliklerine bağlı olan tınıdır. Sesinizin tınısı modellenebilir, yani özellikleri tanımlanabilir; bunu yapmak için stüdyoda küçük bir metin külliyatı okumak yeterlidir. Bundan sonra, tınınızla ilgili veriler, bilmediğiniz bir dil olsa bile herhangi bir dildeki konuşmayı sentezlemek için kullanılabilir. Robot size bir şey söylemesi gerektiğinde, bir ses dalgası üreteci, yani bir ses kodlayıcı kullanır. Akustik modelden alınan cümlenin frekans özelliklerine ilişkin bilgilerin yanı sıra sese tanınabilir bir renk veren tını hakkındaki veriler de buraya yüklenir.

Yandex SpeechKit kompleksindeki teknolojiler hakkında daha fazla bilgiyi bu sayfada veya özel bir kaynakta bulabilirsiniz. Geliştiriciyseniz ve SpeechKit'in bulut veya mobil sürümünü test etmek istiyorsanız Yandex teknolojilerine özel site size yardımcı olacaktır.

","contentType":"text/html"),"authorId":"24151397","slug":"kak-eto-rabotaet-sintez-rechi","canEdit":false,"canComment":false," isBanned":false,"canPublish":false,"viewType":"minor","isDraft":false,"isOnModeration":false,"isOutdated":false,"isSubscriber":false,"commentsCount":55," modifikasyonDate":"Salı 03 Nis 2018 18:56:00 GMT+0000 (UTC)","isAutoPreview":false,"showPreview":true,"approvedPreview":("source":"

Navigator'a "Hadi Gogol, 25'e gidelim" dediğinizde veya bir arama sorgusunu yüksek sesle söylediğinizde, konuşma tanıma teknolojisi sesinizi bir metin komutuna dönüştürür. Bunun tersi bir görev de var: Metni sese dönüştürmek. Bazen bir konuşmacıyı davet etmek ve gerekli kelimeleri ve cümleleri yazmak yeterlidir, ancak bu, rastgele metinlerde işe yaramayacaktır. Konuşma sentezi teknolojisinin kullanışlı olduğu yer burasıdır.

","contentType":"text/html"),"proposedPreview":("source":"

Navigator'a "Hadi Gogol, 25'e gidelim" dediğinizde veya bir arama sorgusunu yüksek sesle söylediğinizde, konuşma tanıma teknolojisi sesinizi bir metin komutuna dönüştürür. Bunun tersi bir görev de var: Metni sese dönüştürmek. Bazen bir konuşmacıyı davet etmek ve gerekli kelimeleri ve cümleleri yazmak yeterlidir, ancak bu, rastgele metinlerde işe yaramayacaktır. Konuşma sentezi teknolojisinin kullanışlı olduğu yer burasıdır.

Navigator'a "Hadi Gogol, 25'e gidelim" dediğinizde veya bir arama sorgusunu yüksek sesle söylediğinizde, konuşma tanıma teknolojisi sesinizi bir metin komutuna dönüştürür. Bunun tersi bir görev de var: Metni sese dönüştürmek. Bazen bir konuşmacıyı davet etmek ve gerekli kelimeleri ve cümleleri yazmak yeterlidir, ancak bu, rastgele metinlerde işe yaramayacaktır. Konuşma sentezi teknolojisinin kullanışlı olduğu yer burasıdır.

","contentType":"text/html"),"titleImage":("h32":("height":32,"path":"/get-yablogs/47421/file_1475751201967/h32","width": 58,"fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/h32"),"major1000":("height":246,"path":"/get- yablogs/47421/file_1475751201967/major1000","width":444,"fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/major1000"),"major288":(" height":156,"path":"/get-yablogs/47421/file_1475751201967/major288","width":287,"fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421 /file_1475751201967/major288"),"major300":("yol":"/get-yablogs/47421/file_1475751201967/major300","fullPath":"https://avatars.mds.yandex.net/get-yablogs/ 47421/file_1475751201967/major300","genişlik":300,"yükseklik":150),,"major444":("yol":"/get-yablogs/47421/file_1475751201967/major444","fullPath":"https: / /avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/major444","genişlik":444,"yükseklik":246),"major900":("yol":"/get-yablogs/47421 / file_1475751201967/major900","fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/major900","genişlik":444,"yükseklik":246),"minor288" : ("yol":"/get-yablogs/47421/file_1475751201967/minor288","fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/minor288","genişlik" : 288,"yükseklik":160),,"orijinal":("yükseklik":246,"yol":"/get-yablogs/47421/file_1475751201967/orig","genişlik":444,"fullPath":" https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/orig"),"touch288":("path":"/get-yablogs/47421/file_1475751201967/touch288","fullPath": "https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/touch288","width":444,"height":246),,"touch444":("path":"/get -yablogs/ 47421/file_1475751201967/touch444","fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/touch444","genişlik":444,"yükseklik":246) ,"touch900 ":("yükseklik":246,"yol":"/get-yablogs/47421/file_1475751201967/touch900","genişlik":444,"fullPath":"https://avatars.mds.yandex. net/get -yablogs/47421/file_1475751201967/touch900"),"w1000":("height":246,"path":"/get-yablogs/47421/file_1475751201967/w1000","width":444,"fullPath ":" https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/w1000"),"w260h260":("yükseklik":246,"yol":"/get-yablogs/47421/ file_1475751201967/w260h260 ","width":260,"fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/w260h260"),"w260h360":("height":246 ,"yol ":"/get-yablogs/47421/file_1475751201967/w260h360","genişlik":260,"fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/w260h360 "), "w288":("yükseklik":156,"yol":"/get-yablogs/47421/file_1475751201967/w288","genişlik":282,"fullPath":"https://avatars.mds. yandex.net /get-yablogs/47421/file_1475751201967/w288"),"w288h160":("yükseklik":160,"yol":"/get-yablogs/47421/dosya_1475751201967/w288h160","genişlik":288, "fullPath" :"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/w288h160"),"w300":("height":162,"path":"/get-yablogs/ 47421/file_1475751201967 /w300","genişlik":292,"fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/w300"),"w444":("yükseklik" :246, "yol":"/get-yablogs/47421/file_1475751201967/w444","genişlik":444,"fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967 /w444" ),"w900":("yükseklik":246,"yol":"/get-yablogs/47421/file_1475751201967/w900","genişlik":444,"fullPath":"https://avatars. mds.yandex .net/get-yablogs/47421/file_1475751201967/w900"),"major620":("path":"/get-yablogs/47421/file_1475751201967/major620","fullPath":"https://avatars .mds.yandex.net/get-yablogs/47421/file_1475751201967/major620","genişlik":444,"yükseklik":150)),"tags":[("displayName":"Yandex teknolojileri","slug ":"tekhnologii -yandeksa","url":"/blog/şirket? ?tag=tekhnologii-yandeksa"),("displayName":"nasıl çalışır?","slug":"kak-eto-rabotaet","url":"/blog/şirket??tag=kak-eto - rabotaet")],"isModerator":false,"isTypography":false,"metaDescription":","metaKeywords":"",ilişkiliTitle":","isAutoRelated":false,"commentsEnabled":true , "url":"/blog/company/kak-eto-rabotaet-sintez-rechi","urlTemplate":"/blog/company/%slug%","fullBlogUrl":"https://yandex.ru/ blog /company","addCommentUrl":"/blog/createComment/company/kak-eto-rabotaet-sintez-rechi","updateCommentUrl":"/blog/updateComment/şirket/kak-eto-rabotaet-sintez-rechi" , "addCommentWithCaptcha":"/blog/createWithCaptcha/company/kak-eto-rabotaet-sintez-rechi","changeCaptchaUrl":"/blog/api/captcha/new","putImageUrl":"/blog/image/put " ,"urlBlog":"/blog/company","urlEditPost":"/blog/57f4dd21ccb9760017cf4ccf/edit","urlSlug":"/blog/post/generateSlug","urlPublishPost":"/blog/57f4dd21ccb9760017cf4ccf/publish " ,"urlUnpublishPost":"/blog/57f4dd21ccb9760017cf4ccf/unpublish","urlRemovePost":"/blog/57f4dd21ccb9760017cf4ccf/removePost","urlDraft":"/blog/company/kak-eto-rabotaet-sintez-rechi/draft" , "urlDraftTemplate":"/blog/company/%slug%/draft","urlRemoveDraft":"/blog/57f4dd21ccb9760017cf4ccf/removeDraft","urlTagSuggest":"/blog/api/suggest/company","urlAfterDelete": " /blog/company","isAuthor":false,"subscribeUrl":"/blog/api/subscribe/57f4dd21ccb9760017cf4ccf","unsubscribeUrl":"/blog/api/unsubscribe/57f4dd21ccb9760017cf4ccf","urlEditPostPage":"/blog / şirket/57f4dd21ccb9760017cf4ccf/edit","urlForTranslate":"/blog/post/translate","urlRelateIssue":"/blog/post/updateIssue","urlUpdateTranslate":"/blog/post/updateTranslate","urlLoadTranslate" : "/blog/post/loadTranslate", "urlTranslationStatus":"/blog/company/kak-eto-rabotaet-sintez-rechi/translationInfo,"urlRelatedArticles":"/blog/api/tainedArticles/company/kak-eto - rabotaet-sintez-rechi","yazar":("id":"24151397""uid":("value":"24151397","lite":false,"barındırılan":false),,"takma adlar ": ("13":"chistyakova"),"login":"amarantta","display_name":("name":"Sveta Chistyakova","avatar":("varsayılan":"24700/24151397-15660497" ," boş":yanlış))),"adres":" [e-posta korumalı] ","defaultAvatar":"24700/24151397-15660497","imageSrc":"https://avatars.mds.yandex.net/get-yapic/24700/24151397-15660497/islands-middle","isYandexStaff": true),"originalModificationDate":"2018-04-03T15:56:07.719Z","socialImage":("h32":("height":32,"path":"/get-yablogs/47421/file_1475751201967/ h32","width":58,"fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/h32"),"major1000":("height":246," path":"/get-yablogs/47421/file_1475751201967/major1000","width":444,"fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/major1000") ,"major288":("yükseklik":156,"yol":"/get-yablogs/47421/file_1475751201967/major288","genişlik":287,"fullPath":"https://avatars.mds.yandex. net/get-yablogs/47421/file_1475751201967/major288"),"major300":("path":"/get-yablogs/47421/file_1475751201967/major300","fullPath":"https://avatars.mds.yandex .net/get-yablogs/47421/file_1475751201967/major300","genişlik":300,"yükseklik":150),,"major444":("yol":"/get-yablogs/47421/file_1475751201967/major444", " fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/major444","width":444,"height":246),,"major900":("yol" :" /get-yablogs/47421/file_1475751201967/major900","fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/major900","genişlik":444,"yükseklik ": 246),"minor288":("yol":"/get-yablogs/47421/file_1475751201967/minor288","fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/ file_1475751201967/ minör288","genişlik":288,"yükseklik":160),,"orig":("yükseklik":246,"yol":"/get-yablogs/47421/file_1475751201967/orig","genişlik" :444, "fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/orig"),"touch288":("yol":"/get-yablogs/47421/file_1475751201967 /touch288" ,"fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/touch288","width":444,"height":246),,"touch444": ("yol" :"/get-yablogs/47421/file_1475751201967/touch444","fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/touch444","genişlik": 444,"yükseklik ":246),"touch900":("yükseklik":246,"yol":"/get-yablogs/47421/file_1475751201967/touch900","genişlik":444,"fullPath":"https ://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/touch900"),"w1000":("yükseklik":246,"yol":"/get-yablogs/47421/file_1475751201967/w1000" ,"width": 444,"fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/w1000"),"w260h260":("height":246,"path" :"/get- yablogs/47421/file_1475751201967/w260h260","width":260,"fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/w260h260")," w260h360":(" height":246,"path":"/get-yablogs/47421/file_1475751201967/w260h360","width":260,"fullPath":"https://avatars.mds.yandex.net/ get-yablogs/47421 /file_1475751201967/w260h360"),"w288":("height":156,"path":"/get-yablogs/47421/file_1475751201967/w288","width":282,"fullPath": "https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/w288"),"w288h160":("yükseklik":160,"yol":"/get-yablogs/47421/file_1475751201967/ w288h160","genişlik ":288,"fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/w288h160"),"w300":("yükseklik":162," path":"/ get-yablogs/47421/file_1475751201967/w300","width":292,"fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/w300") ,"w444": ("yükseklik":246,"yol":"/get-yablogs/47421/file_1475751201967/w444","genişlik":444,"fullPath":"https://avatars.mds.yandex. net/get-yablogs /47421/file_1475751201967/w444"),"w900":("height":246,"path":"/get-yablogs/47421/file_1475751201967/w900","width":444,"fullPath ":"https: //avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/w900"),"major620":("yol":"/get-yablogs/47421/file_1475751201967/major620"," fullPath":"https://avatars.mds.yandex.net/get-yablogs/47421/file_1475751201967/major620","width":444,"height":150)))))">