1 (edytowany przez jkdobro 2011-01-06 12:09:06)

Temat: Gadający router - Google TTS (text-to-speech)

Witam,

Instalując i bawiąc się możliwościami MPD (Music Player Daemon - instalacja opisana w: OpenWrt-Audio) pomyślałem, że oprócz odgrywania plików mp3 i strumieni audio, fajnie by był gdyby można odtworzyć komunikaty głosowe (mówione ludzkim głosem). Tylko skąd wziąć pliki mp3 z takimi komunikatami?

Można je samemu utworzyć. Dostępne są programy do czytania tekstu np. IVONA.

Jest jeszcze jeden program, a właściwie usługa - Google TTS (text-to-speech). Wchodzi ona w skład translatora tekstów Google. Na pewno każdy zna tą usługę http://translate.google.pl/#pl|en|Witaj. Pod tekstami znajdują się przyciski umożliwiające odsłuchanie oryginalnego i przetłumaczonego tekstu.
Po naciśnięciu któregoś z nich wysyłane jest zapytanie (z tekstem do zamiany) do serwera. Następnie serwer zwraca strumień audio (mp3 smile) tekstu zamienionego na mowę (TTS - text-to-speech).
Np zapytanie TTS w języku polskim: http://translate.google.com/translate_t … mp;q=Witaj

Teraz należy tylko skierować ten strumień audio do mpd. Jednak nie udało się tego zrobić wprost. Serwer wymaga podania User-Agent string w zapytaniu. Komeda dla MPD odtwarzania strumienia (mpc add <audio_stream_url>) nie daje możliwości podania User-Agent (przynajmniej mnie się to nie udało). Trzeba było zapisać strumień do pliku mp3.

wget -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" -O /hdd/mpd/music/tts.mp3 "http://translate.google.com/translate_tts?tl=pl&q=Open%20WRT%20Bekfajer%20wersja%2010%200%203"

Zakładając, że w pliku konfiguracyjnym dla MPD (/etc/mpd.conf) zostały podane ustawienia:

music_directory    "/hdd/mpd/music"
db_file            "/hdd/mpd/database"

strumień audio został zapisany jako plik mp3 w: /hdd/mpd/music/tts.mp3

Wystarczy teraz załadować plik mp3 do MPD:

mpc update                # aktualizacja MPD database
mpc clear                 # wyczyszczenie aktywnej playlisty
mpc add tts.mp3           # załadowanie do aktywnej playlisty pliku tts.mp3
mpc play                  # uruchomienie odtwarzania

... i mamy gadający router smile

Myślę, że można zastosować to rozwiązanie do różnych celów. Jakich? Zostawiam to wam. Jeśli ktoś z was znajdzie takie zastosowanie, proszę opiszcie to na tym forum.


Życzę miłej zabawy i pozdrawiam
Jarek

2

Odp: Gadający router - Google TTS (text-to-speech)

Dodane do spisu, dzięki.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Gadający router - Google TTS (text-to-speech)

jkdobro napisał/a:

Jeśli ktoś z was znajdzie takie zastosowanie, proszę opiszcie to na tym forum.

Fajna sprawa, można sygnalizować głosem czynności czy wydarzenia których się nie monitoruje na bieżąco np pad/restart łącza internetowego lub np przełączenie na 3g, zakończenie ściągania torrentów, fakt zamontowania/odmontowania pendraka/dysku itp.

Archer C7 v.2 + LEDE by Cezary http://beta.speedtest.net/pl/result/6621599402

4

Odp: Gadający router - Google TTS (text-to-speech)

Zmodyfikowałem i uprościłem projekt: http://eko.one.pl/?p=openwrt-soundnotify

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Gadający router - Google TTS (text-to-speech)

Cezary napisał/a:

Zmodyfikowałem i uprościłem projekt: http://eko.one.pl/?p=openwrt-soundnotify

Próbowałem wg tego projektu właśnie.
Niestety zawiesza (tzn sesja) się w czasie ściągania sound-core:
Downloading http://ecco.selfip.net/gargoyle-pl/ar71 … r71xx.ipk.

6

Odp: Gadający router - Google TTS (text-to-speech)

Niestety zawiesza (tzn sesja) się w czasie ściągania sound-core:
Downloading http://ecco.selfip.net/gargoyle-pl/ar71 … r71xx.ipk.

Podałem całą ścieżkę, ściągnął, ale znowu sesja  się zawiesiła w czasie instalacji:
Installing kmod-sound-core (2.6.32.27-1cj) to root...
Coś pada? Aha, jest zbootowany z extroota, może tu jest problem?

7

Odp: Gadający router - Google TTS (text-to-speech)

To ściągnij plik na dysk i zainstaluj. Wget'em.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: Gadający router - Google TTS (text-to-speech)

a jak zrobić, żeby działały polskie znaki? zakładam, ze to jest problem z kodowaniem wink

9

Odp: Gadający router - Google TTS (text-to-speech)

Prześlij je do google w odpowiednim formacie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: Gadający router - Google TTS (text-to-speech)

no tak. tyle jest oczywiste. ale jak zmysić wgeta do poprawnego zakodowania polskich znaków w adresie?

11

Odp: Gadający router - Google TTS (text-to-speech)

wgeta nie zmusisz, bo url już musi być odpowiednio przygotowany.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

12

Odp: Gadający router - Google TTS (text-to-speech)

Witam!
Z góry przepraszam za odkopanie tematu ale bardzo mi się spodobał, że aż się zarejestrowałem tu i nie czytam tylko jako gość.
Mam ruterek tl-wr1043nd z gargoylem na pokładzie i z HUBem USB. Teraz jak uwidziałem, że można jeszcze mu karcioche dźwiękową wsadzić to coś czuję, że w najbliższym czasie to się stanie:D I teraz moje pytanie: (a właściwie pytania). Jak zmusić router żeby wyrzucał dźwiękowy błąd gdy:
a) straci połączenie z netem
b) przywróci połączenie
c) podłączę urządzenie wifi
d) będzie próba podłączenia do Wifi (jeśli udana to drugi komunikat: patrz wyżej a jak nieudana to olewamy)

Do uruchamiania deamonów się już dokopałem i tam będę se umial ustawić a co z wyżej wymienionymi?

13

Odp: Gadający router - Google TTS (text-to-speech)

a). Zapomnij. Jak nie ma netu nie ma komunikacji, wiec nie ma skąd głosu pobrać. Chyba ze wcześniej na dysku sobie próbki zapiszesz z glosem.

b) skrypt w hotplugu lub lekka modyfikacja udhcp script, który wykonuje się po pobraniu adresu
c) coś na dhcp zapewne obrabiające czy to było z wifi czy lan
d) próby nie sa logowane. Albo się połączył albo nie wiesz tego.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

14

Odp: Gadający router - Google TTS (text-to-speech)

Mój ISP nie posiada DHCP czyli mam Static IP  a co do zapisania to całkiem niegłupi pomysł, przecież madplay odtworzy pliki z dysku również. A co do hotpluga to muszę poszukać coś na ten temat, bo niestety jeśli chodzi o elektronikę to OK ale z linuxa to jestem, że tak to nazwę, średnio początkujący:D a co do tych prób podłączenia to mój błąd! Cosik mi się pomyliło jak oglądałem logi z połączeń wifi. A do tego dhcp to gdzie tego szukać? Gdzieś jest jakiś skrypt obsługujący dhcp?

15

Odp: Gadający router - Google TTS (text-to-speech)

Opcja --dhcp-script dnsmasq, do dodania w /etc/init.d/dnsmasq np.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16 (edytowany przez wabikboy 2011-11-17 18:13:19)

Odp: Gadający router - Google TTS (text-to-speech)

Tym razem ja odkopie temat smile
Czy jest w ogole mozliwe zeby dzalaly dwie karty dzwiekowe na raz??

W jakim celu:
jedna do obsługi mpd i muzyki która jest odtwarzana przez wzmacniacz który nie zawsze jest włączony (EKO smile oszczednosc prądu smile )
druga do madplay i obslugi komunikatów z oddzielnym speakerem smile

Ogólnie to nie jest problenm z pod jednej karty, bo zawsze mozna rozdzielic gniazdo jack na 2 i podpiąć speakera tylko ze podczas słuchania muzyki wydobywał by sie czasem nie chciany dziwek komunikatu a tego bym nie chcial

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

17

Odp: Gadający router - Google TTS (text-to-speech)

Zapewne powstaną dwa urządzenia dzwiękowe i przy odtwarzaniu po prostu wybierasz urządzenie na które ma iść i tyle.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

18

Odp: Gadający router - Google TTS (text-to-speech)

w mpd.conf jest pozycja:

device     "hw:0,0"

rozumiem że to jest informacja dla playera z którego urządzenia ma korzystać.
więc po instalacji drugiej karty zapewne trzeba bedzie ustawić.

device     "hw:0,1"

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

19

Odp: Gadający router - Google TTS (text-to-speech)

patryk napisał/a:

no tak. tyle jest oczywiste. ale jak zmysić wgeta do poprawnego zakodowania polskich znaków w adresie?

Możesz to zrobić kodując znaki do UTF-8 np. http://translate.google.com/translate_t … b3%c5%82ka

20

Odp: Gadający router - Google TTS (text-to-speech)

podłączyłem dwie karty na usb i wykrywa obie ale tylko jedna zawsze odgrywa dźwięk.


Jak zmusić drugą aby też odtwarzała, czy w ogóle jest możliwe odtwarzanie z dwóch kart czegoś innego np: z jednej muzyka z mpd a z drugiej madplay

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

21

Odp: Gadający router - Google TTS (text-to-speech)

Wskazując konkretnie urządzenie przy odtwarzaniu, jak program ma taką możliwość.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

22 (edytowany przez wabikboy 2012-01-16 23:14:40)

Odp: Gadający router - Google TTS (text-to-speech)

ustawienia audio :

audio_output {
    type        "alsa"
    name        "My ALSA Device"
    device        "hw:0,0"    # optional
    format        "44100:24:2"    # optional
    mixer_type      "hardware"    # optional
    mixer_device    "default"    # optional
    mixer_control    "PCM"        # optional
    mixer_index    "0"        # optional
}
po ich ustawieniu nie uruchamia sie mpd, a które odpowiada za konkretne wybranie urządzenia i jak je ustawić?

Jeszcze pokaże wynik
cat /proc/bus/usb/devices:

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  3, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 2.06
S:  Manufacturer=Linux 2.6.32.27 ehci_hcd
S:  Product=Atheros AR91xx built-in EHCI controller
S:  SerialNumber=ar71xx-ehci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480 MxCh= 4
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1a40 ProdID=0101 Rev= 1.11
S:  Product=USB 2.0 Hub
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=256ms

T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 10 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0c76 ProdID=160b Rev= 1.00
S:  Product=USB Audio Device
C:* #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio
I:* If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I:  If#= 1 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
E:  Ad=01(O) Atr=09(Isoc) MxPS= 200 Ivl=1ms
I:* If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I:  If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
E:  Ad=82(I) Atr=05(Isoc) MxPS= 100 Ivl=1ms
I:* If#= 3 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=(none)
E:  Ad=83(I) Atr=03(Int.) MxPS=   4 Ivl=8ms

T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#=  3 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1bcf ProdID=0c31 Rev= 1.0f
S:  Manufacturer=Sunplus Innovation Technology.
S:  Product=USB to Serial-ATA bridge
S:  SerialNumber=FF9250315A0000000000006FCFFFD8
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  2mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#=  4 Spd=480 MxCh= 4
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=05e3 ProdID=0608 Rev= 7.02
S:  Product=USB2.0 Hub
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=256ms

T:  Bus=01 Lev=03 Prnt=04 Port=00 Cnt=01 Dev#=  5 Spd=1.5 MxCh= 0
D:  Ver= 1.01 Cls=ff(vend.) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0403 ProdID=c630 Rev= 1.08
S:  Manufacturer=Till Harbaum
S:  Product=LCD2USB Interface
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 74mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=00(>ifc ) Sub=00 Prot=00 Driver=(none)
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

T:  Bus=01 Lev=03 Prnt=04 Port=01 Cnt=02 Dev#=  6 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0bc7 ProdID=0006 Rev= 1.00
S:  Manufacturer=X10 WTI
S:  Product=RF receiver
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=  2mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=usbfs
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
E:  Ad=02(O) Atr=03(Int.) MxPS=   8 Ivl=10ms

T:  Bus=01 Lev=03 Prnt=04 Port=02 Cnt=03 Dev#=  7 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0c76 ProdID=160b Rev= 1.00
S:  Product=USB Audio Device
C:* #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio
I:* If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I:  If#= 1 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
E:  Ad=01(O) Atr=09(Isoc) MxPS= 200 Ivl=1ms
I:* If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I:  If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
E:  Ad=82(I) Atr=05(Isoc) MxPS= 100 Ivl=1ms
I:* If#= 3 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=(none)
E:  Ad=83(I) Atr=03(Int.) MxPS=   4 Ivl=8ms
TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

23

Odp: Gadający router - Google TTS (text-to-speech)

device        "hw:0,0"    # optional

Ta linia. Zrób aplay -l żeby zobaczyć co masz (pewnie hw:1,0)

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

24

Odp: Gadający router - Google TTS (text-to-speech)

**** List of PLAYBACK Hardware Devices ****
card 0: Device [USB Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Device_1 [USB Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

25

Odp: Gadający router - Google TTS (text-to-speech)

obie karty sa takie same, ale karta która jest wpieta na chwile zawsze wykrywana jest jako pierwsza więc jak zmusić odtwarzacz do wybierania karty wskazanej przezemnie mpd i mplayer bo tych używam tylko

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile