Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Tu:
/opt/mbrola/pl1/pl1
make mbrola_voice=/opt/mbrola/pl1/pl1 make -C src all make[1]: Wejście do katalogu `/home/marg1/milena-0.2.21.0/src' make[1]: Nie ma nic do zrobienia w `all'. make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.21.0/src' make -C data all make[1]: Wejście do katalogu `/home/marg1/milena-0.2.21.0/data' make[1]: Nie ma nic do zrobienia w `all'. make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.21.0/data' make -C utils all make[1]: Wejście do katalogu `/home/marg1/milena-0.2.21.0/utils' gcc -c -Wall -o readfile.o readfile.c -DHAVE_ENCA=1 readfile.c:27:20: error: milena.h: Nie ma takiego pliku ani katalogu readfile.c: In function ‘read_file’: readfile.c:267: warning: implicit declaration of function ‘milena_utf2iso’ make[1]: *** [readfile.o] Błąd 1 make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.21.0/utils' make: *** [all] Błąd 2
Nie wiem o co chodzi :)
#!/bin/bash dirs="/usr/share/mbrola \ /usr/share/festival \ /usr/local/share/mbrola \ /usr/local/share/festival \ $HOME" voice="/opt/mbrola/pl1/pl1" if [ -f ./found_voice ] ; then . ./found_voice if [ "$voice" != "/opt/mbrola/pl1/pl1" ] ; then echo $voice exit 0 fi fi for d in $dirs; do if [ -d $d ] ; then v=`find $d -path "*/pl1/pl1"` if [ "$v" != "" ] ; then voice=$v break fi fi done voice=`echo $voice | awk '{print $1}'` echo voice=$voice > ./found_voice echo $voice
Poprawiłem, ale nic nie pomogło i nie wiem czy dobrze, a found-voice wygląda tak:
voice=/opt/mbrola/pl1/pl1
Ostatnio edytowany przez marg1 (2010-08-02 16:24:11)
Offline
ethanak napisał(-a):
No właśnie widzę - tyle że teraz już się pakietowaniem zajmować nie będę tylko mopem i ścierą :)
A z tymi wersjami chodziło mi o coś takiego - odpalam skrypt cośtam.sh, ten mi ściaga wszystkie informacje z serwera, i jeśli zmieniły się tylko data (i ewentualnie basewords, zakładam że zmiana basewords pociąga za sobą zmianę data - bo aktualizacja basewords pociąga za sobą zmiany w słownikach czy pliku danych translatora) to po prostu tworzy sobie jeden lub dwa nowe pakiety z konkretnymi zależnościami. Odpalenie czegoś takiego w cronie byłoby chyba dobrym wyjściem?
W sumie chyba jednak (pewnie w weekend) zainstaluję sobie debiana na jakiejś wirtualce...
Chyba nawet nie trzeba pisać żadnego skryptu, wystarczy odpowiednio wypełnić plik debian/watch i można sprawdzać za pomocą uscan, do tego uupdate i samo wszystko się robi.
A tymczasem spadam, będę on-line dopiero jutro wieczorem lub w środę.
Offline
Przepraszam za zamieszanie. Po prostu poprawka starego błędu spowodowała nowy.
0.2.22 powinna się kompilować bez problemów.
Offline
Oto make:
marg1@gentoo ~/milena-0.2.22.0 $ make mbrola_voice=/opt/mbrola/pl1/pl1 make -C src all make[1]: Wejście do katalogu `/home/marg1/milena-0.2.22.0/src' gcc -c -o mod_mbrola.o mod_mbrola.c -fPIC gcc -o libmilena_mbrola.so -shared -rdynamic mod_mbrola.o sed -e s/{VERSION}/0.2.22/ -e s\\{DATAPATH}\\/usr/local/share/milena\\ \ < milena.h.in > milena.h bash ./mkcyr.sh gcc -c -o milena.o milena.c -fPIC In file included from milena.c:1280: milena_transi.c: In function ‘dump_lrule’: milena_transi.c:291: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘void *’ gcc -o libmilena.so -shared -rdynamic milena.o gcc -c -o main.o main.c main.c: In function ‘get_phrase’: main.c:126: warning: field width should have type ‘int’, but argument 4 has type ‘long int’ main.c:126: warning: field precision should have type ‘int’, but argument 5 has type ‘long int’ main.c: In function ‘help’: main.c:180: warning: format not a string literal and no format arguments gcc -c -o input.o input.c gcc -o milena main.o input.o -L. -lmilena -lmilena_mbrola sed -e s/{VERSION}/0.2.22/ -e s\\{PREFIX}\\/usr/local\\ \ -e s\\{LIBDIR}\\/usr/local/lib64\\ < milena.pc.in > milena.pc make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.22.0/src' make -C data all make[1]: Wejście do katalogu `/home/marg1/milena-0.2.22.0/data' cat pl_phraser.dat.in pl_imiona.in >pl_phraser.dat make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.22.0/data' make -C utils all make[1]: Wejście do katalogu `/home/marg1/milena-0.2.22.0/utils' gcc -o dykcjonarz.o -Wall -c -I ../src dykcjonarz.c dykcjonarz.c:245: warning: return type defaults to ‘int’ dykcjonarz.c: In function ‘main’: dykcjonarz.c:360: warning: control reaches end of non-void function gcc -o morfologik.o -Wall -c morfologik.c morfologik.c: In function ‘read_morf_line’: morfologik.c:57: warning: unused variable ‘d’ morfologik.c: In function ‘morfologik_read’: morfologik.c:92: warning: passing argument 4 of ‘qsort’ from incompatible pointer type /usr/include/stdlib.h:756: note: expected ‘__compar_fn_t’ but argument is of type ‘int (*)(void *, void *)’ gcc -o dykcjonarz dykcjonarz.o morfologik.o -L../src -lmilena gcc -c -Wall -I ../src -o milenizer.o milenizer.c milenizer.c:150: warning: return type defaults to ‘int’ milenizer.c: In function ‘main’: milenizer.c:241: warning: control reaches end of non-void function gcc -c -Wall -I ../src -o readfile.o readfile.c -DHAVE_ENCA=1 gcc -c -Wall -I ../src -o unformat.o unformat.c gcc -c -Wall -I ../src -o unrtf.o unrtf.c unrtf.c: In function ‘free_fontdefs’: unrtf.c:66: warning: suggest parentheses around assignment used as truth value gcc -c -Wall -I ../src -o myctype.o myctype.c gcc -c -Wall -I ../src -o splitter.o splitter.c gcc -c -Wall -I ../src -o convert.o convert.c gcc -c -Wall -I ../src -o pdfxml.o pdfxml.c gcc -o milenizer milenizer.o readfile.o unformat.o unrtf.o myctype.o splitter.o convert.o pdfxml.o -lenca -lm -L../src -lmilena gcc -c -Wall -I ../src -o filter.o filter.c filter.c:130: warning: return type defaults to ‘int’ gcc -o milena_convert filter.o convert.o -L../src -lmilena sed -e s:%CONTRAST%:contrast: \ -e s:%PLDNOS%:: \ -e s:%PREFIX%:/usr/local: \ -e s:%MBROLA%:/opt/bin/mbrola: \ -e s:%VOICE%:/opt/mbrola/pl1/pl1: \ < milena_book.in \ > milena_book chmod 755 milena_book sed -e s:%CONTRAST%:contrast: \ -e s:%PLDNOS%:: \ -e s:%PREFIX%:/usr/local: \ -e s:%MBROLA%:/opt/bin/mbrola: \ -e s:%VOICE%:/opt/mbrola/pl1/pl1: \ < milena_say.in \ > milena_say chmod 755 milena_say sed -e s:%PREFIX%:/usr/local: \ -e s:%DATADIR%:/usr/local/share/milena: \ -e s:%MBROLA%:/opt/bin/mbrola: \ -e s:%VOICE%:/opt/mbrola/pl1/pl1: \ < milena_kadu.in \ > milena_kadu chmod 755 milena_kadu sed -e s:%CONTRAST%:contrast: \ -e s:%PLDNOS%:: \ -e s:%PREFIX%:/usr/local: \ -e s:%MBROLA%:/opt/bin/mbrola: \ -e s:%VOICE%:/opt/mbrola/pl1/pl1: \ < milena_nokia.in \ > milena_nokia chmod 755 milena_nokia sed -e s:%CONTRAST%:contrast: \ -e s:%PLDNOS%:: \ -e s:%PREFIX%:/usr/local: \ -e s:%MBROLA%:/opt/bin/mbrola: \ -e s:%VOICE%:/opt/mbrola/pl1/pl1: \ < milena_conf.in \ > milena_conf chmod 755 milena_conf make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.22.0/utils' make -C speechd all make[1]: Wejście do katalogu `/home/marg1/milena-0.2.22.0/speechd' sed -e s:%PREFIX%:/usr/local: \ -e s:%DATAPREFIX%:/usr/local/share/milena: \ -e s:%MBROLA%:/opt/bin/mbrola: \ -e s:%VOICE%:/opt/mbrola/pl1/pl1: \ < milena-generic.conf.in \ > milena-generic.conf make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.22.0/speechd' make -C milena_ws all make[1]: Wejście do katalogu `/home/marg1/milena-0.2.22.0/milena_ws' cc -c -o main.o main.c gcc -c -o say.o -Wall say.c -Dmbrola_voice=\"/opt/mbrola/pl1/pl1\" \ -Dmbrola_path=\"/opt/bin/mbrola\" -I../src/ gcc -c -o audio.o -Wall audio.c -I../src/ gcc -o milena_ws main.o say.o audio.o ../utils/convert.o -lao -lm \ -lmilena \ -lmilena_mbrola \ -L../src/ make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.22.0/milena_ws' make -C subplayer all make[1]: Wejście do katalogu `/home/marg1/milena-0.2.22.0/subplayer' gcc -Wall -c -o subplayer.o subplayer.c subplayer.c: In function ‘read_jacos’: subplayer.c:51: warning: suggest parentheses around assignment used as truth value subplayer.c: At top level: subplayer.c:241: warning: return type defaults to ‘int’ gcc -Wall -o milena_subplayer subplayer.o make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.22.0/subplayer'
entoo milena-0.2.22.0 # make mbrola_voice=/opt/mbrola/pl1/pl1 install if [ -f pl_basewords.dat.gz ] ; then mkdir -p /usr/local/share/milena-words;zcat pl_basewords.dat.gz > /usr/local/share/milena-words/pl_basewords.dat; chmod 0755 /usr/local/share/milena-words;chmod 0644 /usr/local/share/milena-words/pl_basewords.dat;fi which: no mbrola in (/sbin:/bin:/usr/sbin:/usr/bin) make -C src install make[1]: Wejście do katalogu `/home/marg1/milena-0.2.22.0/src' install -m 0755 milena /usr/local/bin install -m 0755 libmilena.so libmilena_mbrola.so /usr/local/lib64 install -m 0644 milena.h milena_mbrola.h /usr/local/include/ install: cel `/usr/local/include/' nie jest katalogiem: Nie ma takiego pliku ani katalogu make[1]: *** [install] Błąd 1 make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.22.0/src' make: *** [install] Błąd 2
Make przeszło chyba bez błędu, ale mnie jak zwykle coś się i powoli się to staje oczekiwanym standardem :(
Ostatnio edytowany przez marg1 (2010-08-04 11:59:10)
Offline
mkdir /usr/local/includemake install
/me wie że myślenie boli...
Offline
Raczej:
Twój system nie przewiduje możliwości instalowania programów w /usr/local (pierwszy raz to widzę jeśli mam być szczery). Albo stworzysz taką możliwość, albo dodaj prefix=/usr do make.
Samo utworzenie katalogów nie wystarczy - Milena się skompiluje, ale nie będzie działać (linker nie znajdzie bibliotek w /usr/local/lib czy /usr/local/lib64, jeśli nie ma tego skonfigurowanego w /etc/ld.so.conf)
Ostatnio edytowany przez ethanak (2010-08-04 13:30:39)
Offline
ekm. w Gentoo nie ma domyślnie /usr/local/include. Nie pierwszy raz się spotykam z takimi błędami. Winą są źle napisane skrypty do make, np. kompilatora nasm nie zainstalujesz dopóki nie będzie miał zrobionych katalogów na manuale ręcznie...
Offline
milyges napisał(-a):
ekm. w Gentoo nie ma domyślnie /usr/local/include. Nie pierwszy raz się spotykam z takimi błędami. Winą są źle napisane skrypty do make
Rozumiem że Twoim zdaniem instalator syntezatora mowy powinien jednocześnie mieszać w ld.so.conf i podobnych? I takoż może jeszcze w ustawieniach użytkownika coby magicznym sposobem /usr/local/bin do PATH się dodał? A moim zdaniem jednak instalator syntezatora powinien instalować syntezator, a nie poprawiać skopany system.
Jeśli system nie przewiduje hiererchii /usr/local, to albo trzeba ją przewidzieć (nie znam gentoo, ale chyba nie byłoby problemem zrobienie odpowiedniej paczki zawierającej potrzebne katalogi i ew. jakiś postinstall który grzebnie w bashrc, ld.so.conf i okolicach), albo instalować w miejscu na takowe instalacje przewidzianym (prefix przy make).
Jeśli to wszystko sprawia takie kłopoty, to chyba wyjściem byłoby automatyczne wykrywanie czy /usr/local istnieje i jeśli nie - instalować w /usr. Na ochotnika możesz mojego makefile przerobić (ja mam na wszystkicj kompach /usr/local więc nawet nie sprawdzę czy to działa) :)
Offline
Wszystkie rzeczy które podałeś są ustawione w systemie. /usr/local istnieje i ma się dobrze. /usr/local/bin jest w PATH, /usr/local/lib{32,64} w ld.so.conf. Wszystkie normalne instalatory (jak np. gcc, binutils, make, nano, etc.) sprawdzają czy katalog go którego chcą coś instalować istnieje. A co jeśli zrobie ./configure --prefix=/usr/local/milena ? Też system powinien mieć /usr/local/milena/include od razu?
Uwierz mi akurat sporo zajmuję się portowaniem programów, tworzeniem dziwnych paczek i narzędzi do cross-compilacji i widziałem kilka tego typu błędów. Rozwiązaniem było przed make DESTDIR=fakeroot install utworzenie katalogów jest słusznym i poprawnym rozwiązaniem.
Offline
milyges napisał(-a):
Uwierz mi akurat sporo zajmuję się portowaniem programów, tworzeniem dziwnych paczek i narzędzi do cross-compilacji i widziałem kilka tego typu błędów. Rozwiązaniem było przed make DESTDIR=fakeroot install utworzenie katalogów jest słusznym i poprawnym rozwiązaniem.
To takie pytanie: jeśli instalator pakietu (jakiegokolwiek typu biblioteka devel) utworzy katalog /usr/local/include - który pakiet będzie jego właścicielem? I czy ów /usr/local/include zostanie automagicznie uwzględniony przez gcc? To tylko przykład...
Moim zdaniem instalator nie powinien tworzyć katalogów które nie będą własnością danego pakietu.
Druga sprawa: jeśli tworzy się paczkę dla określonego systemu, od tego są patche aby zrobić coś czego autor programu nie przewidział (np. z powodu że jest programisty a nie wróżka, albo najnowszy udev nie przewidział /dev/glassorb).
Trzecia sprawa - tu chodziło o kompilację z oryginalnego makefile na - przyznasz sam - nieco nietypowym systemie.
Ponawiam jednak pytanie: czy make powinien na chamca utworzyć katalogi /usr/local/cośtam i zostawić użytkownika z ręką w du^Wnocniku - bo ani linker mu bibliotek w /usr/local/lib nie wykryje, ani aplikacji z /usr/local/bin bez podania pełnej ścieżki nie uruchomi? Technicznie sprawa jest przecież prosta, zmiana tylko w paru linijkach w install. Tylko czy ma to sens?
Jeśli Twoim zdaniem ma - zmienię makefile przy okazji następnej wersji. W końcu wolę aby użytkownik zgłaszał mi błędy typu "nieprawidłowy akcent w zdaniu blablabla" czy "błędna wymowa nazwiska Blebleblenko" niż "jak to się kur^H^Hompiluje?" :)
Ostatnio edytowany przez ethanak (2010-08-05 10:51:33)
Offline
Co, jak co, ale myślałem ze struktura katalogów w każdym Linuksie jest taka sama, ktoś tu chyba komuś robi na złość, jeżeli w Gentoo jest inaczej, bo dlaczego na jednym systemie ma się coś kompilować a na drugim nie?
Nie kłóćcie się, ja po prostu chciałem spytać, co mam zrobić, żeby to skompilować :)
Offline
marg1 napisał(-a):
Co, jak co, ale myślałem ze struktura katalogów w każdym Linuksie jest taka sama
Widzisz - ja też myślałem... a teraz się okazało że nie myślałem tylko mi się wydawało...
Nie kłóćcie się, ja po prostu chciałem spytać, co mam zrobić, żeby to skompilować :)
No to masz:
make prefix=/usr mbrola_voice=/opt/mbrola/pl1/pl1 contrast=contrast make prefix=/usr mbrola_voice=/opt/mbrola/pl1/pl1 contrast=contrast install
Jak to się nie wykona (pomijając roota do make install) to ja się poddaję.
Offline
Kurde, ja wcześniej zrobiłem coś takiego:
make=/usr/local/includemake mbrola_voice=/opt/mbrola/pl1/pl1
I teraz mam z roota:
make prefix=/usr mbrola_voice=/opt/mbrola/pl1/pl1 contrast=contrast install make: `install' jest aktualne.
co się stało? :)
Make już wcześniej przeszło ok.
Dobra rozpakowałem na nowo źródło i wygląda na to, że się skompilowało :0
Ostatnio edytowany przez marg1 (2010-08-05 16:32:28)
Offline
Nie wiem co się stało i jakie polecenia wywoływałeś przedtem. Zrób make clean w katalogu i wsio od początku.
Offline
Wygląda, że się skompilowało, ale nie wiem, coś bardzo szybko ta kompilacja się odbyła :)
marg1@gentoo ~/milena-0.2.22.0 $ whereis milena milena: /usr/bin/milena /usr/local/bin/milena /usr/include/milena.h /usr/share/milena
entoo milena-0.2.22.0 # make prefix=/usr mbrola_voice=/opt/mbrola/pl1/pl1 contrast=contrast install if [ -f pl_basewords.dat.gz ] ; then mkdir -p /usr/share/milena-words;zcat pl_basewords.dat.gz > /usr/share/milena-words/pl_basewords.dat; chmod 0755 /usr/share/milena-words;chmod 0644 /usr/share/milena-words/pl_basewords.dat;fi which: no mbrola in (/sbin:/bin:/usr/sbin:/usr/bin) make -C src install make[1]: Wejście do katalogu `/home/marg1/milena-0.2.22.0/src' install -m 0755 milena /usr/bin install -m 0755 libmilena.so libmilena_mbrola.so /usr/lib64 install -m 0644 milena.h milena_mbrola.h /usr/include/ if [ -d /usr/lib64/pkgconfig ] ; then install -m 0644 milena.pc /usr/lib64/pkgconfig; fi make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.22.0/src' ldconfig make -C data install make[1]: Wejście do katalogu `/home/marg1/milena-0.2.22.0/data' mkdir -p /usr/share/milena install -m 0644 *.dat /usr/share/milena make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.22.0/data' make -C utils install make[1]: Wejście do katalogu `/home/marg1/milena-0.2.22.0/utils' install -m 0755 dykcjonarz milenizer milena_convert milena_book milena_say milena_kadu milena_nokia milena_conf /usr/bin/ make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.22.0/utils' make -C speechd install make[1]: Wejście do katalogu `/home/marg1/milena-0.2.22.0/speechd' make[1]: `install' jest aktualne. make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.22.0/speechd' make -C milena_ws install make[1]: Wejście do katalogu `/home/marg1/milena-0.2.22.0/milena_ws' install -m 0755 milena_ws /usr/bin/ make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.22.0/milena_ws' make -C subplayer install make[1]: Wejście do katalogu `/home/marg1/milena-0.2.22.0/subplayer' install -m 0755 milena_subplayer /usr/bin/ make[1]: Opuszczenie katalogu `/home/marg1/milena-0.2.22.0/subplayer'
Sprawdzę czy działa :)
A jak się te napisy konwertuje, bo mi coś nie wychodzi :(
mplayer -dumpjacosub -ao none -vo none /media/Sata/filmy/Friday.After.Next.DVDRIP.XViD-DigitalVX/dvx-fan.avi MPlayer SVN-r30554-4.4.4 (C) 2000-2010 MPlayer Team Odtwarzam /media/Sata/filmy/Friday.After.Next.DVDRIP.XViD-DigitalVX/dvx-fan.avi. Wykryto format pliku AVI. [aviheader] Video stream found, -vid 0 [aviheader] Audio stream found, -aid 1 VIDEO: [XVID] 608x336 24bpp 23.976 fps 1015.8 kbps (124.0 kbyte/s) Informacje o klipie: Software: Nandub v1.0rc2 SUB: Dodaje plik z napisami (1): /media/Sata/filmy/Friday.After.Next.DVDRIP.XViD-DigitalVX/dvx-fan.txt SUB: Subtitles dumped in 'dumpsub.js'. Błąd przy otwieraniu/inicjalizacji wybranego urządzenia video (-vo). ========================================================================== Otwieram dekoder audio: [mp3lib] MPEG layer-2, layer-3 AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000) Wybrany kodek audio: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3) ========================================================================== No such audio driver 'none' Nie mogę otworzyć/zainicjować urządzenia audio -> brak dźwięku. Audio: brak dźwięku Wideo: brak obrazu
gra ale nic nie gada:)
marg1@gentoo ~/milena-0.2.22.0 $ mplayer -subcp enca:pl:cp1250 -softvol -ao alsa -sub /media/Sata/filmy/Friday.After.Next.DVDRIP.XigitalVX/dvx-fan.txt /media/Sata/filmy/Friday.After.Next.DVDRIP.XViD-DigitalVX/dvx-fan.avi | milena_subplayer ./dumpsub.jss
A Jezus, bo jeszcze trzeba doinstalować tamte pluginy :/
Nie no ja chyba umrę...
marg1@gentoo ~/milena_submixer $ make prefix=/usr mbrola_voice=/opt/mbrola/pl1/pl1 contrast=contrast cc -c -O2 `pkg-config --cflags samplerate` speak.c Package samplerate was not found in the pkg-config search path. Perhaps you should add the directory containing `samplerate.pc' to the PKG_CONFIG_PATH environment variable No package 'samplerate' found speak.c:23:24: error: samplerate.h: Nie ma takiego pliku ani katalogu speak.c:79: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token speak.c:80: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘res_data’ speak.c: In function ‘resample_data’: speak.c:86: error: ‘resampler’ undeclared (first use in this function) speak.c:86: error: (Each undeclared identifier is reported only once speak.c:86: error: for each function it appears in.) speak.c:87: error: ‘SRC_SINC_MEDIUM_QUALITY’ undeclared (first use in this function) speak.c:92: error: ‘res_data’ undeclared (first use in this function) make: *** [speak.o] Błąd 1
Cóż to za system jest :/
Ostatnio edytowany przez marg1 (2010-08-05 17:11:47)
Offline
Offline
Przywracam wątek z uwagi na nowości :)
Jako że z przyczyn różnych zmieniłem swojego PLD na Ubunciaka, mam już prowizoryczne deby. Na razie dla Ubuntu (natty, i386 i amd64):
deb http://ubuntu.polip.com natty ethanak deb-src http://ubuntu.polip.com natty ethanak
Aktualnie mam tam:
a) milena (bez subplayera i ws, subplayera trzeba poprawić, a ws od dłuższego czasu jest do niczego niepotrzebny)
b) audina
b) speech-dispatcher-ivona (libdumbtts oddzielnie)
speech-dispatcher-milena będzie jak sobie poradzę z tym czymś co mnie opierdziela jak patcha próbuję założyć :)
Jeśli kogoś interesuje, zapraszam. Proszę jednak traktować to na razie jako test - coś tam się jednak może posypać.
Jakby ktoś powiedział co spieprzyłem, będę dźwięczny :)
Przejście ze świata RPM jest jednak bolesne :(
Offline
a) milena (bez subplayera i ws, subplayera trzeba poprawić, a ws od dłuższego czasu jest do niczego niepotrzebny
Jak więc używać mileny jako lektora do filmów ?
milena_say wywala mplayera z komunikatem
MPlayer interrupted by signal 13 in module: sleep_timer
Offline
W tej chwili tylko przez milena_abc (tworzy film z nową ścieżką dźwiękową).
Wady:
- duża zajętość dysku (dwie kopie ścieżki audio, druga wersja filmu, cache jeśli używasz Ivony)
- stosunkowo długi czas przygotowania filmu (dump audio, nałożenie lektora, utworzenie nowego filmu)
Zalety:
- dużo lepsze dopasowanie czasów (kwestie są przyspieszane jeśli robi się tłok, nigdy nie zachodzą na siebie)
- stały stosunek poziomu głosu lektora do poziomu oryginalnej ścieżki (rzeczywistego)
- możliwość użycia Ivony jako lektora (może być zainstalowana pod Wine lub pod Windows na kompie obok)
- wbudowany edytor z funkcjami przeznaczonymi do napisów (parę kliknięć i masz napisy dopasowane do lektora)
- niezależność od systemu audio (nie wymaga równoczesnego odtwarzania wielu źródeł dźwięku)
- możliwość późniejszego odtworzenia filmu na dowolnym urządzeniu (ja osobiście oglądam na tablecie siedząc w barze przy browarze)
Dla Ubuntu oficjalne repozytorium to:
ppa:ethanak/milena
W Debianie nie powinno być problemów ze zrobieniem debów (pewnie trzeba jakieś wersje bibliotek poprawić)
Cała dokumentacja powinna być dołączona do mileny ABC
Tak przy okazji: jaki masz system audio? Bo jeśli pulse to nawet nie ma co próbować z subplayerem, błąd w pa_simple praktycznie uniemożliwia korzystanie z polecenia "play".
Offline
Paczki z tego repozytorium
deb http://ubuntu.polip.com natty ethanak
Bez problemu instalują się na debienie Wheezy.
Mógłbyś w punktach napisać jak stworzyć taki film ?
Np: w takiej formie
1.Zrzucenie ścieżki mplayerem -> przykładowe polecenie
2.Przerobienie napisów -- tak i tak
3.itd...
P.S. Pulseaudio zdecydowanie nie używam :)
Offline
ilin napisał(-a):
Paczki z tego repozytorium
Kod:
deb http://ubuntu.polip.com natty ethanakBez problemu instalują się na debienie Wheezy.
Tak, tylko to stare wersje już lekko nieaktualne. Wydaje mi się że http://ppa.launchpad.net/ethanak/milena/ubuntu/pool/main/ i wybranie wersji natty będzie lepszym rozwiązaniem... sprawdź jeśli możesz!
Mógłbyś w punktach napisać jak stworzyć taki film ?
1) otwierasz film z menu "Video->Otwórz film" lub uruchamiasz program poleceniem
milena_abc film.avi
Program utworzy katalog roboczy i wrzuci do niego zrzut ścieżki audio oraz napisów. W starszych wersjach programu należy upewnić się, że istnieje katalog ~/tmp
Jeśli film był już otwierany, program zaproponuje pozostawienie istniejącej ścieżki audio oraz napisów.
2) Edycja napisów:
- Edycja -> Korekta Jacosub - zrobi podstawową korektę napisów do bardziej strawnej postaci, przy okazji poprawiając stary błąd mplayera (błędna wartość TIMERES)
- Szukaj -> Znajdź połączenie kwestii - znajduje miejsca gdzie kwestia podzielona była na dwa ekrany a powinna być wymawiana razem
- Szukaj -> Automatycznie połącz kwestie - dla leniwych
W trybie napisów program przy kontrolnym czytaniu (CTRL-P) pomija wartości sterujące (czas i tak dalej)
Po edycji należy napisy zapisać jako dumpsub.txt (program sam zaproponuje tę nazwę i nie należy jej zmieniać).
3) Ustawienie parametrów:
Program w trybie tworzenia ścieżki audio ma własne ustawienia prędkości. Należy pamiętać że Ivona odwrotnie obsługuje prędkość (większa wartość to szybciej). Dla Ewy wydaje mi się poprawne 1.3 (normalna) i 1.5 (maksymalna), dla Mbroli to już różnie. Ustawia się toto w Video -> Ustawienia lektora. Nie należy ruszać czasów (ostatnie pozycje) chyba że ktoś bardzo musi. Zapamiętanie parametrów to Edycja -> Zapisz ustawienia
4) Utworzenie ścieżki dźwiękowej:
Video -> Utwórz ścieżkę dźwiękową - przelicza najpierw maksymalne opóźnienie kwestii które wynikło z dłuższych zdań polskich niż w oryginale. Opóźnienie do 2 sekund jest praktycznie niezauważalne, przy większych należy pomanipulować wartością maksymalnego tempa.
Użyty syntezator (Mbrola lub Ivona oraz ew. głos Ivony) będzie taki, jak aktualny. Przy użyciu Ivony wszystkie kwestie są zapisywane w cache, czyli konieczność ponownego przeliczenia prędkości nie spowoduje konieczności ponownej syntezy.
5) Tworzenie filmu wynikowego:
Video -> Utwórz film.
Tworzy film wynikowy, kopiując ścieżkę video i dodając ścieżkę audio w formacie mp3. Wynikowa ścieżka audio będzie miała taką samą częstotliwość próbkowania oraz ilość kanałów jak oryginał, przy czym głośność oryginału zostanie zmaksymalizowana.
6) Sprzątanie śmieci:
Video -> Usuń pliki robocze - usuwa pliki robocze wszystkich filmów.
Ogólnie: śmieci filmowe siedzą w ~/tmp/milena_movie/nazwa_filmu_bez_rozszerzenia/
Jeszcze bardziej ogólnie: w następnej wersji programu będzie już pełna pomoc (mam już napisane na dysku, tylko trzeba jeszcze jeden błąd poprawić przed publikacją)
P.S. Pulseaudio zdecydowanie nie używam :)
Szczęśliwy człowiek...
Ostatnio edytowany przez ethanak (2012-01-04 13:12:58)
Offline
Więc tak.
Pakiety z tego repozytorium
deb http://ppa.launchpad.net/ethanak/milena/ubuntu natty main
instalują sie bezproblemowo.
Natomiast problem jest taki
Jak kliknę utwórz ścieżkę dźwiękową to dostaję komunikat
milena_READPHRASER failed
Jak dam
milena_say słowo
to gada.
Offline
ilin napisał(-a):
Jak kliknę utwórz ścieżkę dźwiękową to dostaję komunikat
Kod:
milena_READPHRASER failed
Jak znajdę przyczynę tego błędu to się upiję ze szczęścia i będę tydzień trzeźwiał.
Chyba windowsowym sposobem... zamknąć program i uruchomić jeszcze raz...
W każdym razie w weekend nad tym posiedzę.
edit: chyba znalazłem. Błąd w milena-libs jednak a nie milena-abc
Ostatnio edytowany przez ethanak (2012-01-06 10:19:59)
Offline
Dobra po restarcie poszło.
Jeszcze na razie pytanie techniczne.
W jakim kodowaniu powinny być podane napisy.txt aby nie było problemów z polskimi głoskami ?
Uwaga: mplayer2 nie zrzuca do jss więc dowiązanie /usr/bin/mplayer musi być ustawione na /usr/bin/mplayer1
Offline
Domyślnie mplayer ma ustawiane rozpoznawanie przez enca czyli nie powinien mieć problemu. Przy wczytaniu filmu (nie z linii poleceń) możliwe jest podanie kodowania.
Offline