![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 5.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam taki problem chciałbym stworzyć robot który dzieliłby mi wyrazy według kryterium fonetycznemu pn. za?de?cy?do?wać, u?pro?wa?dzić, na?ra?da, ku?zy?no?wie ponadto każdą oddzielną sylabę wpisywałby do następnej kolumny w wierszu tabeli np. kol./1/Lp. kol./2/zadecydować kol./3/za kol./4/de/ kol./5/cy/ kol./6/do kol./7/wać. Na dzień dzisiejszy mam stworzoną kolumnę tylko z wyrazami czyli kol./1/Lp. kol./2/zadecydować. Czy koś ma ktoś jakiś pomysł?
Powód edycji: [erix]: przeniosłem
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 316 Pomógł: 36 Dołączył: 2.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Thek, a w czym pisałeś ten syntezator? Tak z ciekawości pytam bo się wziąłem ostro za Javę (ale dopiero przedwczoraj (IMG:style_emoticons/default/tongue.gif) ) i wpadło mi coś takiego do głowy. Da radę zrobić to niej (znaczy dać pewnie się da, kwestia tylko poziomu trudności - bo może akurat to łatwiej byłoby stworzyć powiedzmy w cpp)?
|
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Thek, a w czym pisałeś ten syntezator? Tak z ciekawości pytam bo się wziąłem ostro za Javę (ale dopiero przedwczoraj (IMG:style_emoticons/default/tongue.gif) ) i wpadło mi coś takiego do głowy. Da radę zrobić to niej (znaczy dać pewnie się da, kwestia tylko poziomu trudności - bo może akurat to łatwiej byłoby stworzyć powiedzmy w cpp)? Javą syntezator? No jasne (IMG:style_emoticons/default/smile.gif) Raczej trudno powiedzieć czego byś nią nie zrobił (IMG:style_emoticons/default/winksmiley.jpg) Ja pisałem syntezator w Matlabie, ale tak naprawdę tylko dlatego, że miałem go z góry narzucony. "Silnik" jest niezależny od języka, bo to tak naprawdę operacje na wprowadzonym przez użytkownika stringu. Jeśli przetworzysz go do formy fonemów to potem już tylko "sklejasz" nagrania dźwięku odpowiadające mu. W języku polskim jest bodajże 25 lub 26 fonemów + przerwa. Nagraj je i po przetworzeniu stringu tylko "odczytuj" fonemy i "sklejaj" plik dźwiękowy (IMG:style_emoticons/default/winksmiley.jpg) Różnica pomiędzy pytaniem a zdaniem oznajmiającym też jest "matematyczna". W trakcie wypowiedzi zmienia się częstotliwość wypowiadanych liter. Ale tu już musiałbyś modyfikować charakterystykę częstotliwościową nagrania w czasie. Zacznij od ustalenia jakie fonemy ma język polski. a potem już zasady języka w stylu: k-r-z-a-k -> (zamiana na fonemy) -> k-ż-a-k -> (zamiana na fonemy zgodnie z regułami gramatyki) -> k-sz-a-k ("sz" jest jednym z polskich fonemów ) Jak widzisz jest trochę zabawy i czasem musisz zrobić kilka przebiegów by ostatecznie zapisać wyraz. Zazwyczaj jednak 2 przebiegi zrobią wszystko na tip-top. W moim przypadku musiałem sprawdzić czy po "k" nie występuje fonem "ż" bo w wymowie zamieni się on na "sz" (IMG:style_emoticons/default/smile.gif) Musisz sam regułki zamian znaleźć. Mój był bez modulacji i po prostu "czytał jak leci" nie zwracając uwagi na pytajniki i wykrzykniki, ale robił im po prostu dłuższe przerwy podobnie jak dla kropek i przecinków. Rozwiązanie problemu to więc: 1. Znaleźć fonemy języka polskiego - w google masz tylko ich ilość, ale nie znajdziesz jakie to konkretnie, więc musisz sam się wysilić (IMG:style_emoticons/default/winksmiley.jpg) 2. Opracować formę zapisu "wyrazów fonetycznych" - raz masz fonemy jednoznakowe (a, b itp.), a innym razem dwu(sz, cz, dź) -> coś jak ja mam w przypadku "krzak" 3. Baza reguł, na podstawie której ustalisz ostatecznie wyraz (IMG:style_emoticons/default/smile.gif) Lojalnie ostrzegam, że bez bazy "wyjątków" nie przejdziesz takich słów jak "erzac" czy słów obcych, które nie zawsze są zgodne z polską wymową. Edit: Jeśli plikami dźwiękowymi byś operował w PHP to w nim także syntezator napisałbyś bez problemu. Tylko konieczność sklejania fonemów w wyrazy i zdania, a przez to operacje na plikach dźwiękowych sprawić mogą trudność programiście jakąś większą używającego języka ze słabym wsparciem multimediów. Ale zawsze po zamianie możesz wyświetlic efekt znów jako string, tak jak ja -> k-sz-a-k (IMG:style_emoticons/default/smile.gif) Ten post edytował thek 25.09.2009, 12:33:35 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 22:26 |