Odp: Gadający router - Google TTS (text-to-speech)
Więc nie masz jak rozróżnić która jest która. usb nie zwraca żadnego numeru seryjnego, więc nie masz jak rozróżnić która jest która.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Oprogramowanie / Software → Gadający router - Google TTS (text-to-speech)
Strony Poprzednia 1 2 3 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
Więc nie masz jak rozróżnić która jest która. usb nie zwraca żadnego numeru seryjnego, więc nie masz jak rozróżnić która jest która.
tylko że to jest dziwne bo w alsamixer ustawiam każdą karte osobno
Bo masz dwie ![]()
Zrozum: masz dwie identyczne karty. system je widzi, ale z grosz nie wie do której masz podłączone słuchawki. A ty nie masz mu jak wskazać bo obie są identyczne, ta ze słuchawkami jest dla niego pierwszą lub drugą w systemie.
testowalem kilka różnych kart na usb i zawsze jest to samo dwie widoczne karty ale obie takiesame
Cezary podpowiedz gdzie jest błąd:
GODZ=$(15)
if ( "$GODZ" -ge "08" && "$GODZ" -lt "20" ); then
amixer set 'PCM',0 100%
else
amixer set 'PCM',0 50%
fichodzi o to że polecenie pierwsze ma się wykonać jeśli warunek jest równy lub większy od 08 ale mniejszy niż 20
bo kombinuje i za każdym razem wykonuje else
W ifie mq byc nawias klamrowy []
Przypisanie wartosci do zmiennej GODZ tez powinno byc np takie GODZ="15"
A nie prościej po prostu w cronie dać do wykonania jedno o 8 a drugie o 20?
tu wlasnie nie bedzie to odpalane o danej godzinie tylko przyciskiem z pilota i jeśli jest godz 8 lub więcej ale mniej niż 20 to vol ma być 100% a jeśli inaczej vol ma byc na 50% to jest potrzebne do zegarynki ![]()
ok już mam
#!/bin/sh
GODZ=$'21'
if [ "$GODZ" -ge "08" ] && [ "$GODZ" -lt "20" ] ; then
amixer set 'PCM',0 100%
else
amixer set 'PCM',0 50%
fiwarunki muszą byc w osobnych klamrach a nie w jednej, zmienna GODZ='15' a nie "15"
odkopię troche stary temat. Nie moge sobie poradzić z dekodowaniem polskich znaków... Ktoś tutaj podopowiadał żeby zrobić to w ten sposób: http://translate.google.com/translate_t … ;q=ściółka no i zrobiłem tak w skrypcie:
#!/bin/sh
CO=$(echo $* | sed -e 's/ /%20/g')
wget -q -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" "http://translate.google.com/translate_tts?tl=pl&ie=UTF-8&q=$CO" -O - | madplay -q -jednak nie działa. Nadal nie rozróżnia znaków PL. Czy musze robić specjalny skrypt który będzie mi podmieniał znaki na UTF-8?? czy da się to jakoś prościej i szybciej.
W sensie utworzony plik w utf8 nie działa? (bo na routerze w vi możesz mieć problem z wpisaniem znaczków w utf-8)
nie no jak narazie testuje wpisując w konsoli np:
say.sh "jaskółka"i nie działają prawidłowo odwtorzone komunikaty. wget nie rozróżnia znaków PL. zmodyfikowałem skrypt say.sh do takiej postaci:
#!/bin/sh
CO=$(echo $* | sed -e 's/ /%20/g' | sed 's/Ą/%C4%84/g' | sed 's/ą/%C4%85/g' | sed 's/Ć/%C4%86/g' | sed 's/ć/%C4%87/g' | sed 's/Ę/%C4%98/g' | sed 's/ę/%C4%99/g' | sed 's/Ł/%C5%81/g' | sed 's/ł/%C5%82/g' | sed 's/Ń/%C5%83/g' | sed 's/ń/%C5%84/g' | sed 's/Ó/%C3%93/g' | sed 's/ó/%C3%B3/g' | sed 's/Ś/%C5%9A/g' | sed 's/ś/%C5%9B/g' | sed 's/Ź/%C5%B9/g' | sed 's/ź/%C5%BA/g' | sed 's/Ż/%C5%BB/g' | sed 's/ż/%C5%BC/g')
wget -q -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" "http://translate.google.com/translate_tts?tl=pl&ie=UTF-8&q=$CO" -O - | madplay -q - jednak to jeszcze nie to bo nie wszystkie litery rozróżnia. Niby podałem mu je w sed a niektórych nie przetwarza... np dam: say.sh "załącz" to odtworzy mi zał..cezet
nie rozróżnił "ą" i "cz" a w sed ma podane że "ą" zamień na %C4%85... jak dam say.sh "zał%C4%85cz" to działa.
A np inny wyraz jak "józef" to przetwarza "ó" prawidłowo tak jak mu dałem w sed
Edit1: no tak w Vi wszystkie znaczki z ogonkami pokazuje jako kropki. Więc jak to obejść?
Edit2: w ten sposób który próbowałem wyżej nie działają mi litery ą, ś, ź. Reszte sed prawidłowo podmienia. Więc o co chodzi że akurat te 3 litery nie podmienia?
Zrób plik na komputerze, zapisz go w utf-8, prześlij to routera i wyślij przez say. Zobaczysz.
nie bardzo zrozumiałem o co Ci chodzi. Zrobiłem plik z przykładową zawartością "źródło" i zapisałem w kodowaniu utf-8. Odpaliłem na routerze tak say.sh `cat /bin/plik` ale nadal nie czaje coś chciałeś mi przez to pokazać ![]()
Powiedział ładnie źródło czy nie?
coś takiego: żetźetródło
ale jak wpisze w tym pliku: ź, ś, ą, to prawidłowo przetwarza tak jak ustawiłem w sed
Osobiście aby sie nie bawić w skrypty to używam np:
#%C4%98 - Ę
#%C3%93 - Ó
#%C4%84 - Ą
#%C5%9A - Ś
#%C5%81 - Ł
#%C5%BB - Ż
#%C5%B9 - Ź
#%C4%86 - Ć
#%C5%83 - Ńi polskie znaki zastępuję np %C5%81o%C5%9A - łoś ![]()
czyli
/say.sh %C5%81o%C5%9AWitam,
Spotkałem się z następującym problemem, leżącym prawdopodobnie po stronie translatora Google.
Próba odczytania wyrazu "października" jest poprawna.
Próba odczytania wyrazu "pa%C5%B9" jest poprawna.
Próba odczytania frazy "dwudziesty drugi października" kończy się audio "dwudziesty drugi dziernika" ("paź" jest zjadane przez tts).
Próba odczytania frazy "dwudziesty drugi pa%C5%B9" kończy się odczytaniem "dwudziesty drugi" (cały wyraz "października" jest urwany).
Powyższe przykłady sprawdzone przez say.sh .
Podobnie jest w translate.google.pl (z tą różnicą, że nie wchodzą teksty ze znakami typu "%C5%83" które zaproponował wabikboy).
Czy ktoś z Was spotkał się z takim problemem i znalazł rozwiązanie inne niż cięcie tekstu na fragmenty?
"dwudziesty drugi pazidziernika" działa (choć dziwnie czyta
)
Hahaha
. Też tak kombinowałem.
Niestety, część tekstu dostarczana jest przez serwis pogodowy i nie jestem w stanie przewidzieć co routerek będzie chciał mi powiedzieć jutro rano
.
Co usłyszę, gdy będzie "dżdżysto", "mgła" albo "słonecznie"
?
Dopóki problem jakoś się nie rozwiąże, to projekt pogodynki chyba wstrzymam.
"Co usłyszę, gdy będzie "dżdżysto", "mgła" albo "słonecznie"" działa ![]()
To prawda. Sprawdziłem z różnymi (absurdalnymi) kombinacjami wyrazów. Nie skraca się nawet "dwudziesty drugi dżdżysto"
.
Wymowa "pazidziernika" i "wrzesinia" aż tak bardzo mnie nie razi. Wracam do robienia pogodynki. Wyjdzie w praniu co jeszcze się "skróci".
Cezary,
A czy możesz napisać jak do zmiennej CO w say.sh wczytać:
1. plik tekstowy z innej strony (http://costam.pl/pogoda.txt)?
2. plik tekstowy z routera (pogoda.txt)
Na razie będę przygotowywał prognozę pogody na zewnętrznym serwerze (jeszcze nie zainstalowałem LAMP na routerze).
Docelowo będzie to obsługiwane na routerze.
1. CO=$(wget -O - http://costam.pl/pogoda.txt)
2. CO=$(cat /tmp/pogoda.txt)
Dziękuję za błyskawiczną odpowiedź.
Z http wyszło tak :
root@Gargoyle:~# say2.sh
Connecting to ..... .pl (... . ... . ... . ...)
- 100% |*******************************| 53 0:00:00 ETA
wget: server returned error: HTTP/1.0 400 Bad RequestZ plikiem na routerze:
root@Gargoyle:~# say3.sh
wget: server returned error: HTTP/1.0 400 Bad RequestJutro powalczę.
Strony Poprzednia 1 2 3 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Oprogramowanie / Software → Gadający router - Google TTS (text-to-speech)
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc