Gépi alámondásos szöveg SRT fájlból

Címkék

Kisgyerekes családban jó időtöltés egy-egy tartalmas rajzfilm közös megnézése. De mi van, ha a filmhez nincs magyar szinkron, csak felirat? Habár izgalmas, mégis körülményes és nagy erőfeszítést igénylő dolog, hogy a szülők helyben szinkronizálják a filmet a gyerekeknek.

A hétvégén megpróbáltam utánajárni, van-e esélye annak, hogy az SRT fájlokat valamilyen módon automatikusan mondassuk ki a géppel, pontosabban az espeak-kel.

Az eredmény itt látható. Még sok finomítani és továbbfejleszteni való van a scripten, ami erőteljesen kihasználja az awk, sox, mplayer/mencoder lehetőségeit, de az alapötlet működik.

Hozzászólások

A hatterben marado, igencsak elnyomott eredeti hangbol tobbet ertettem, mint ebbol a gephangbol. Elsore kb. a "kikeruli a ...-t" meg az "atugorja" az, amit ertettem, de azt is csak amikor erosen koncentraltam.
Sztem mire ez hasznalhatova valik, a gyerekek megtanulnak olvasni (nem a scripted, hanem valoszinuleg az espeak miatt - kiveve, ha a parameterezesed rossz).

--
R2D2 a filmtörténet legmocskosabb szájú karaktere.
Minden szavát kisípolták.

Azért az mbrola mintha nem lenne annyira friss darab. FreeBSD-s verzióból 3.x alatt futtatható verzió van, de látszólag a legutolsó verzió. Legalább újrafordíthatnának egyet mondjuk 8-as FreeBSD-re, akkor a compat-8x csomaggal megint jó lenne 10 évig. :-) Ez szerepel a FreeBSD-s ports-ban:

Port: audio/mbrola
Moved:
Date: 2008-06-18
Reason: Has expired: relies on forbidden port misc/compat3x; last release 2000

A linuxos verzióban is 1998-as és 1999-es fájlok vannak. Durva. (Az meg főleg, hogy ez viszont támogatott a linuxemuval FreeBSD-n.)

Szép! Gratulálok! :) Mármint ahhoz, hogy így összekalapáltad.

-- "Bízzál Istenben és tartsd szárazon a puskaport!" - Cromwell --
-- Sayusi Ando - http://sayusi.hu --

Van linuxos "QuickKeys"-szerű program?

Mert azzal és a google fordítóval (katt: meghallgatás) előre dolgozva jobb eredményt érhetsz el.
A hangot meg részletekben gz-en belül ogg formátumban tárolnád, mint az iGO a nyelvi változatokat.

Így persze az srt-n kívül még lenne egy további file ami a hangokat tartalmazza.

A prekondícionálás nyilván tárolási problémával jár, de néha jobb eredményt ad.

Ha a (tartalmas) rajzfilmhez nincs magyar szinkron, akkor azt apuka valószínüleg lopta (torrentezte) és akkor apuka szégyelje magát és ne próbáljon meg alámondást hekkelni.
Kisgyerekes családban a filmnézésnél jobb időtöltés rajzolni, zenélni, társasjátékozni, kirándulni, játszóterezni. Fejleszti a gyerek finom-motoros/egyensúlyi/kommunikációs/kreatív/szociális képességeit és/vagy egészséges; mindez még a legtartalmasabb rajzfilmekről sem mondható el igazán.
Amúgy meg inkább tanuljon meg a gyerek angolul.

"valószínüleg lopta"

Magyarországon a BD terjesztések 5000 Ft felett vannak (a minimálbér 5%-a felett, nagyon magas üzemanyagárakkal, nagyon magas adókkal, nagyon magas energiaárakkal, nagyon magas élelmiszerárakkal), meg sorban kell állni vagy a szállítási díjat fizetni.

Persze, hogy P2P-n szerezte be.

Nyugati országokban a minimálbér 1%-a alatt vannak a BD terjesztések, és elektronikus terjesztéshez is hozzá lehet jutni.

Persze, kifogás mindig lesz és az Amazon, a Steam, a Netflix és a Hulu a megmondhatói, hogy ez nagyon nagy üzletet jelent.

És ahol megjelennek az adott országban megfizethető legális online szolgáltatások ott a felére esik vissza az illegális fájlcsere.

http://www.hwsw.hu/hirek/46387/warez-fajlcsere-zene-letoltes-npd-felmer…

Sőt, a Japanese Research Institute of Economy, Trade and Industry nevű japán kormányhivatal tanulmánya szerint a fájlcsere határozottan növeli az eladásokat, az illegális letöltések rengeteg új, potenciális vásárlóhoz juttatják el a tartalmakat akik közül aztán sokan legálisan is megveszik, amit egyszer letöltöttek.

http://index.hu/tech/2011/02/07/a_kalozkodas_jot_tesz_az_anime_dvd-k_el…

igen, sokan megveszik, altalanossagban, kivancsi lennek egy ilyen felmeresre csak Magyarorszag viszonylataban, valoszinuleg joval siralmasabb szamokat kapnank. Mellesleg a fenti listadbol 4bol 3mat jomagam is hasznalok (Amazon, Steam, Netflix), de ettol meg nem fog jelentosen valtozni semmi sem otthon, ezek a szolgatatasok sem fogjak neked felezni az arakat (vagy nem olyasmin ami erdekelne is az emberek nagyreszet mohosagi idohataron belul)

Anno volt olyan tanulmány is, hogy a dohányzás nem káros.

Mondom ezt úgy, hogy én is szerzek be nem hivatalos forrásból médiatartalmakat, igaz csak azért, hogy adott előadó új albumát érdemes-e megvásárolni.
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -> Kérjük a humoros aláírást itt elhelyezni. <- - -

Mekkora fasz egy beszolas.

1) Magyarorszagon legalis letolteni filmet sajat hasznalatra. Gyulolom, amikor ragalmaznak becsuletes embereket.
2) Mi van, ha egy rajzfilmhez nincs magyar szinkron, vagy nem elerheto?
3) Nem fogom elvenni a gyerekeim oromet. Igenis nezhetnek rajzfilmet, mertekkel.

[off]Engem személy szerint kicsit úm. aggaszt, hogy az és úgy jutott velünk való megosztásra eszedbe, amit leírtál, s ha megengeded, hogy hozzád hasonuljak, azt javaslom, kezeltesd az elméd, mert az gyakran igyekszik elrejteni önmaga elől, hogy nincs minden rendben, ami amúgy saját elhatározásából rendben lehetne.[/off]

:)

Technológiai szempontból szép, és gratula.
Elvi szempontból: szerintem több értelme van a gyereket már óvodás korában (mondjuk) angolul megtanítani, később nagyon meg tudja hálálni magát.
--
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." John F. Woods

OFF

szerintem több értelme van a gyereket már óvodás korában (mondjuk) angolul megtanítani
Próbáltad már? Szerintem semmi értelme nincs.
Az óvodás korú gyerek valóban baromi könnyen tanul nyelvet, de nem idegennyelvet. Ha azt akarjuk, hogy angolul tanuljon, akkor angol oviba kell iratni, ahol mindenki angolul beszél. Akkor viszont kimarad az életéből a magyar ovi, a magyar mondókák és a magyar népdalok. (Meg aztán nem biztos ám, hogy van angol ovi a közelben.)

OFF

azért mert neked sikerült probléma nélkül, nem jelenti, hogy általánosságokban is igaz. sok kutatás van ebben a témában, és egyén (a kisgyerek) függő, hogy milyen eredménye van/lesz. látszólag semmi hátrány, de későbbiekben tanulási problémákhoz vezethet a több nyelv túl korai tanítása, főleg, ha az elsődleges nyelv egyszerűbb mint a másik. hálistennek a magyar nyelv nem egyszerű, így a jóval egyszerűbb angol nyelv elsajátítása kevésbé okoz gondot. így van ez pl a spanyol anyanyelvűekkel az usában is, viszont az angol anyanyelvűeknek a spanyol pajtásokkal szemben hátránya van a kutatók szerint.
na meg a kisgyerek az anyanyelvén sem rendelkezik elég ismerettel, és szókinccsel, óvodás korban akkor van értelme elkezdeni, ha folytatódik is a dolog végig amíg fel nem nő. érdekes dolgok ezek, nekem már alsósok a fiaim, és mi annak idején (körüljárva a témát) amellett döntöttünk, hogy nem tanítjuk nekik külön. persze hallották néha hogy telefonálok, meg látták hogy írok más nyelven, és felébredt bennük az érdeklődés, mire iskolába mentek (angol tagozatra egyébként) elég sok angol szót tudtak, mindkettőjük a legjobb a csoportjában.

---
Why use Windows, if you have open doors… to Linux

Ácsi! A külföld egészen más!
Én kétfajta esetet ismerek, amikor a gyermek óvodás korban jól meg tud tanulni 2 nyelvet, és nem fogja keverni őket:
- magyar gyerek külföldi oviban nem tudja megúszni az idegen nyelv megtanulását, nem érzi tehernek, ugyanakkor otthon anyanyelvként tanulja a magyart
- külföldi család gyereke magyar oviban - ugyanaz, mint ez előző eset, csak fordítva
Ismerek ilyen gyerekeket mindkét csoportból, és laikusként azt mondanám, hogy nagyon jól jártak vele, hogy az oviban idegen nyelvet tanultak. Sőt nem csak magyar, hanem pl. svéd/német "gyereket" is ismertem. De ők külföldön voltak.
A magyarországi idegen nyelvű ovival az a baj, hogy a gyerekek nem tanulnak meg se idegen nyelven, se magyarul. Ugyanis hiába angol/német az óvónő, netán még a dadus is, a gyerekek magyarok, egymás közt magyarul beszélnek. Lesz egy kis passzív szókincsük, amit fél évvel az ovi után elfelejtenek, és még a kiejtés sem ragad rájuk. Legalábbis akit én ismerek, azzal ez történt.

Szóval - bár kutatásokról nem tudok - szerintem nem kell félni a külföldi ovitól. Arra figyeljetek, hogy ha egyszer még haza akartok jönni, és azt akarjátok, hogy a gyerekek itt is otthon érezzék magukat, akkor magyar mondókákat, magyar népdalokat hallgassatok velük, népmeséket olvassatok nekik. Azok valahogy beivódnak a tudatalattiba, és átformálják a gondolkodást.

Szerintem ne aggódj, tapasztalataim alapján (értsd négy gyerekkel vagyunk nyolc éve külhonban) a gyereked két év alatt megtanul az oviban a korosztályáznak megfelelő szineten idegen nyelvet, és ha otthon konzisztensen használjátok a magyart, akkor azt is használni fogja.
A mi gyerekeinket mindenki dicséri, hogy milyen választékosan beszélnek magyarul is, finnül is. (A két nagyobb már angolul tanulnak, szép eredményekkel.)
Csaba

OFF

Engem meg az érdekelne, hogy hol találtál ilyen iskolát ?
Sajnos ami a közelünkben van az állami, jó hírű de területileg nem tartozzunk oda :(
Na most megfizetnék én magán sulit is ebben a témában,
ha számunkra elérhető helyen lenne, de sajnos nem tudok ilyenről.
Tudsz valami számomra hasznos információval szolgálni ?
Kerestem a netten ilyen listákat, (találtam is) de azok vagy nem teljesek, vagy tényleg kevés ilyen van.

jó pofa, én is gondoltam annó hasonlóra, amikor vak embert oktattam Jaws-al windows kezelésére, de azért annyira még nem "színesek" a szintetizátorok... de egyszer biztos jobbak lesznek.
Minden esetre jó lenne az srt-ben a szereplők "rejtett" megadása (hogy épp ki beszél), s majdan ha javul a szintetizátor, s az elején meg lehet adni, hogy melyik szereplőnek ki legyen a szinkronizátorhangja.

Nem feltétlen jelölném meg egyértelműen a filmletöltés mint bűnös ebben az ügyben, mert lehet, hogy az ihletet az hozza, de szerintem ha javul a szintetizátor, akkor túl fog mutatni rajta...

pl családtagok hangján megszólaló mese, s nem egy visító hang..stbstbstb

Szép munka! Nekem megvan szinkronosan.
(igaz, valószínűleg nem hd) Átküldjem? :-)

anno akartam mplayerbe ilyen featuret rakni, de nem talaltam hasznalhato minosegu free text2speech engine-t. volt egy magyar fejlesztesu penzes cucc, de az egyreszt windozos masreszt fizetos, annak egesz emberi hangja es hangsulya volt (a nevere mar nem emlexem), sajnos az espeak es tarsai nagyon gephanguak meg ilyen celra.

A'rpi

nem, annak teljesen emberi (ha jol emlexem noi) hangja volt, nem ilyen gepi. az allitolag ugy keszult hogy rengeteg szoveget felolvastattak valakivel es statisztikai modszerekkel abbol generalodott olyan adatbazis amivel egesz eletszeru hanggal tudott felolvasni a program.

asszem errol van szo:
http://index.hu/tech/szoftver/hllind041109/

lehet, hogy ezzel egy kicsit érthetőbb lenne. mondjuk a munka is több vele, de végül is nem sokkal. nyilvánvaló és hatalmas hátránya az espeakhez képest, hogy nem igazán paraméterezhető.

alias killall='echo "Wenn ist das Nunstück git und Slotermeyer? Ja. Beiherhund das Oder die Flipperwaldt gersput." | espeak -vde' #That's not funny.

Vicces, de nem örülnék, ha a gyerekem is így beszélne. :)

Köszönöm a hozzászólásokat! Hosszú lenne minden felvetett kérdésre válaszolni, így csak a technikai jellegűekre írnék pár sort.

Az mbrola rendszert sikerült kipróbálnom, az eredmény a http://youtu.be/C3WwXAu_Yhs címen látszik. Szerintem is érthetőbb lett így a hang, bár ez még mindig messze nem olyan, mint a Google Translatoré. Úgy gondolom, hogy a lynx-es parancssorral ügyeskedve a Google Translator lesz a legminőségibb megoldás (ki fogom próbálni).

Szándékosan tettem fel egy kicsit hosszabb részletet, hogy egy-két további apró részlet is látszódjon: pl. a "pont-pont-pont", "csillag" feleslegesen vannak kimondva. Valószínű, hogy ezek egy-egy jól irányzott espeak opcióval eltüntethetőek.

Az mbrola hangja egy kicsit lassabb, mint az espeak-é (habár tulajdonképpen az espeak végzi itt is a szöveg első elemzését), de lehet, hogy ennek köszönhetően érthetőbb is. Érdekes módon az mbrola 16000-s bitrátával küldi ki a hangot, míg az espeak 22050-essel. Ezt a scriptben is le kellett kezelnem, tulajdonképpen ennyivel "tud többet" ez a második verzió. Talán érdemes lenne az mbrola hangjával ugyanezt megpróbálni, de gyorsabban. Mivel ezt csak pár perc kivárni, mindjárt ki is próbálom.

A program még nem kezeli a "dőlt", "kövéren szedett" stb. HTML tageket, sőt, még nem kaptam visszajelzést, hogy másnak sikerült-e bármit is kezdeni a scripttel, tehát egy csomó probléma még valószínűleg nincs lekezelve.

Ha 20%-kal gyorsabbra állítom az mbrola hangját, akkor valamivel érthetőbb a szöveg (és kevesebb helyen csúszik el): http://youtu.be/0AA-eSkePdE.

A Google Translatort is sikerült scriptből meghajtani, de úgy 600 db kérés után a Google lekapcsolt 503-as hibával. Nyilván nekik sem érdekük, hogy a szolgáltatásukat ipari méretekben használják ki. :-)

Még annyit, hogy a http://www.groovypost.com/howto/geek-stuff/google-integrates-espeak-and… cikk szerint (és én is erre gyanakszom) a Google Translator is espeak-et használ, csak egy jobb minőségű hanggal (amit vélhetően maguk fejleszttettek ki). Hátha egyszer a közösség is megkaphatja majd ezt a hangot az espeak forráskódjába is!

Nem, ez nem az espeak hangja, hanem az SVOX-é. Bizonyos nyelveknél (így pl. a magyarnál is) a Google lecserélte a hangot egy jobb minőségűre:

http://en.wikipedia.org/wiki/Google_translate
http://en.wikipedia.org/wiki/SVOX
http://www.technet.hu/teszt/20110209/speak_-_magyarul_mondjad/

Nézem a nuance.com oldalán (ők vették meg az SVOX-ot), hogy az SVOX TTS-t mint terméket közvetlenül nem árusítják. De mondjuk Androidra megvehető a Hungarian Mariska 3 dollárért:

http://www.appbrain.com/app/svox-hungarian-magyar-mariska/com.svox.clas…

Összegzés (féle) letöltés ügyben
google translate wget-tel (600 kérés alatt :)


wget -q -U 'Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1' 'http://translate.google.com/translate_tts?tl=hu&q=%C3%B6tsz%C3%A9p%20sz%C5%B1zl%C3%A1ny%20%C5%91r%C3%BClt%20%C3%ADr%C3%B3t%20ny%C3%BAz' -O - > proba.mp3

Aki ilyen narrátoron nevelkedik fogyatékos lesz. D: