Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: suntezator mowy
anonim




Typ: Nie zarejestrowany
suntezator mowy

MAM TAKI PROBLEM CHCE ZROBIĆ SYNTEZATORA I GDY MU WISZE IF COŚ TAM COŚ TAM "*A*" COŚTAM COŚTAM "A.WAVE"  I TAK DALEJ TO GDY JEST WYRAZ DĄB TO CZYTA  ĄBD JAK ZROBIUĆ ŻEBY TO BYŁO NORMALNIE ??

04-01-2004 14:58
  
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

Niestety-z syntetyzatorem polskim są duże kłopoty. Microsoft takiego nie napisał i nie ma zamiaru, a konkurencyjne firmy, które to zrobiły, czyli np. Digalo http://www.digalo.com po pierwsze nie udostepniaja swoich produktów za darmo, a po drugie jakość wymowy pozostawia wiele do życzenia. Wreszcie po trzecie to raczej nie podepniesz syntetyzatora Digalo do swoich programów, bo nie udostępnili specyfikacji. Podobnie rzecz ma się z WP. Słowem-raczej nic nie poradzisz. Jedynym dobrym PROGRAMEM do syntety mowy polskiej jest Syntalk. Jak chcesz to mogę Ci przesłać.

[Post edytowany dnia 04-01-2004 20:41 przez Viper87]


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


04-01-2004 20:39
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
kicaj




Typ: neutral
Postów: 271
Zarejestrowany: Aug 2003

syntalk nie jest zbyt dobry bo gada jak robot ma tylko takiego plusa ze mozesz znalesc w necie stara pelna wersje pod win3.11, bardziej mi sie podoba (niestety tylko okrojona wersja demo ) SPIKER, pelna wersja ma cos takiego jak glosy kobiety, mezczyzny i takie tam

04-01-2004 22:42
Pokaż profil kicaj  Wyślij email do kicaj        3914568
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

Racja Kicja, ale SYNTALK to PRGRAM, czyli w swojej aplikacji i tak go nie użyjesz. Prawda?


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


04-01-2004 22:52
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
anonim




Typ: Nie zarejestrowany

no szkoda a syntalka to mam i własnie chciałem zrobić coiś na jego podobieństwo

05-01-2004 16:15
  
anonim




Typ: Nie zarejestrowany

elo no i udało mi sie z pomącą Biśka któremu serdecznie diękuje jakby kto był zainteresowany to moja strona  [url=http://www.web.help.z.pl]http://www.web.help.z.pl

05-01-2004 18:39
  
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

Na Twojej stronie nic nie znalazłem w tym temacie, więc może być powiedział coś szerzej, bo to bardzo ciekawe. Sam chciałem coś takiego zrobić kiedyś .


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


05-01-2004 20:41
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
anonim




Typ: Nie zarejestrowany

no bo to jest o htmlu i java script a to jest coś takiego
Dim i As Integer
For i = 1 To Len(txt.Text)
'literki
If Mid$(txt.Text, i, 1) = "a" Then PlayWAVE "a.wav"
If Mid$(txt.Text, i, 1) = "ą" Then PlayWAVE "ą.wav"
If Mid$(txt.Text, i, 1) = "b" Then PlayWAVE "b.wav"
If Mid$(txt.Text, i, 1) = "c" Then PlayWAVE "c.wav"
i tak dalej a tam gdzie play wave to trzeba zrobić funkcje api jest tutaj w dzia;le a[pi

aa... ale plama usuncie ten temat o temacie cze bo to mi sie przyciskiu pomyliłe ssssoooooorrrrryyyy

06-01-2004 13:15
  
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

Nie bardzo rozumiem co Ci sie pomylilo. Mozesz jasniej? A Twoje rozwiaznie to wybacz, ale syntetyzatorem mowy z prawdzowego zdażenia nie jest...


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


06-01-2004 17:04
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
Chudy
[TLHW]Wiktor



Typ: moderator
Postów: 574
Zarejestrowany: Aug 2002


no bo to jest o htmlu i java script a to jest coś takiego
Dim i As Integer
For i = 1 To Len(txt.Text)
'literki
If Mid$(txt.Text, i, 1) = "a" Then PlayWAVE "a.wav"
If Mid$(txt.Text, i, 1) = "ą" Then PlayWAVE "ą.wav"
If Mid$(txt.Text, i, 1) = "b" Then PlayWAVE "b.wav"
If Mid$(txt.Text, i, 1) = "c" Then PlayWAVE "c.wav"
i tak dalej a tam gdzie play wave to trzeba zrobić funkcje api jest tutaj w dzia;le a[pi

aa... ale plama usuncie ten temat o temacie cze bo to mi sie przyciskiu pomyliłe ssssoooooorrrrryyyy


To rozwiązanie jest na literator a nie syntezator Może spróbować by zrobić coś podobnego tylko z pełnymi slabami ? Wiem że dźwięk by wtedy dużo zajmował ale to jedyne rozwiązanie jakie przychodzi mi do głowy.


_____________________________________________
Projekt "Thunder Cannons" nadchodzi...

06-01-2004 20:28
Pokaż profil Chudy  Wyślij email do Chudy   Odwiedź stronę Chudy       1220895
Knight Lore''FC




Typ: neutral
Postów: 240
Zarejestrowany: Jan 2003


no bo to jest o htmlu i java script a to jest coś takiego
Dim i As Integer
For i = 1 To Len(txt.Text)
'literki
If Mid$(txt.Text, i, 1) = "a" Then PlayWAVE "a.wav"
If Mid$(txt.Text, i, 1) = "ą" Then PlayWAVE "ą.wav"
If Mid$(txt.Text, i, 1) = "b" Then PlayWAVE "b.wav"
If Mid$(txt.Text, i, 1) = "c" Then PlayWAVE "c.wav"
i tak dalej a tam gdzie play wave to trzeba zrobić funkcje api jest tutaj w dzia;le a[pi

aa... ale plama usuncie ten temat o temacie cze bo to mi sie przyciskiu pomyliłe ssssoooooorrrrryyyy

mozna bylo troche prosciej (co nie znaczy ze lepiej) ...

Dim i As Integer
For i = 1 To Len(txt.Text)
  Znak=LCase(Mid$(txt.Text, i, 1))
  Kod=Asc(Znak)

  'tu trzeba dodac jeszcze sprawdzenie czy znak jest dozwolony ... no bo jak wymowic np. | ???

  if (kod>47 and kod<58) or (kod>96 and kod<123) or _
      Znak="ą" or Znak="ć" or Znak="ę" or Znak = "ł" or Znak="ń" or Znak="ó" or Znak="ś" or Znak="ż" or Znak="ź" then

      'a tu gadamy
      PlayWAVE Znak & ".wav"
  End if
Next i

Zamiast takiego sprawdzania czy znak jest dozwolony wpadlem przed chwila na pewien pomysl...
Czym rozroznic litery od znakow specjalnych (pomijajac na razie cyfry i spacje) ?
Uzywajac LCase i UCase mozna rozpoznac co jest litera ! - beda mialy rozne kody ASCII , a znaki specjalne, cyfry i spacja zawsze tan sam
No i jeszcze te nasze ch, sz, cz, dz, rz ...

modyfikacja:

Dim i As Integer
Dim MaxLiter As Integer
Dim Znak As String
Dim NastZnak As String
Dim Sampel As String


MaxLiter = Len(Text1.Text)

For i = 1 To MaxLiter

  Znak = LCase(Mid$(Text1.Text, i, 1))
  If i + 1 <= MaxLiter Then
    NastZnak = LCase(Mid$(Text1.Text, i + 1, 1))
  Else
    NastZnak = ""
  End If

  'te same kody ?
  If Znak = UCase(Znak) Then

    'jesli to jest SPACJA, kropka lub przecinek to trzeba chyba zrobic przerwe
    If Znak = " " Or Znak = "." Or Znak = "," Then
          Sampel = "Cisza.wav"
    End If

    'a moze to sa cyfry ?
    If Asc(Znak) > 47 And Asc(Znak) < 58 Then
          Sampel = Znak & ".wav"
    End If

  'to sa litery
  Else

    Sampel = Znak & ".wav"
   
    'same litery to nie problem, ale pozostaje jeszcze sprawa :
    'ch,cz,sz,dz, rz
   
    'czy jest jeszcze konkretna litera po wybranym znaku ?
    If (Znak = "c" Or Znak = "s" Or Znak = "d" Or Znak = "r" ) And (NastZnak = "h" Or NastZnak = "z" Or NastZnak = "i" ) Then

        If Znak = "c" Then
         
            'czy nastepny jest h ?
            If NastZnak = "h" Then
                Sampel = "h.wav"
                i = i + 1
            End If

            'czy nastepny jest z ?
            If NastZnak = "z" Then
                Sampel = "cz.wav"
                i = i + 1
            End If

            'czy nastepny jest i ? - ć i ci brzmi prawie tak samo
            If NastZnak = "i" Then
                Sampel = "ć.wav"
                i = i + 1
            End If

        End If
       
       
        If Znak = "s" And NastZnak = "z" Then
                Sampel = "sz.wav"
                i = i + 1
        End If

        If Znak = "d" And NastZnak = "z" Then
                Sampel = "dz.wav"
                i = i + 1
        End If

        If Znak = "r" And NastZnak = "z" Then
                Sampel = "ż.wav"
                i = i + 1
        End If

'tu by trzeba bylo dodac jeszcze wyjątki np. rdza, rdzeń, dzbanek, dzwonek itd...

    End If

  End If

  'gramy
  playWav Sampel

Next i

[Post edytowany dnia 07-01-2004 09:44 przez Knight Lore'FC]

07-01-2004 01:32
Pokaż profil Knight Lore  Wyślij email do Knight Lore        1065423
anonim




Typ: Nie zarejestrowany



no bo to jest o htmlu i java script a to jest coś takiego
Dim i As Integer
For i = 1 To Len(txt.Text)
'literki
If Mid$(txt.Text, i, 1) = "a" Then PlayWAVE "a.wav"
If Mid$(txt.Text, i, 1) = "ą" Then PlayWAVE "ą.wav"
If Mid$(txt.Text, i, 1) = "b" Then PlayWAVE "b.wav"
If Mid$(txt.Text, i, 1) = "c" Then PlayWAVE "c.wav"
i tak dalej a tam gdzie play wave to trzeba zrobić funkcje api jest tutaj w dzia;le a[pi

aa... ale plama usuncie ten temat o temacie cze bo to mi sie przyciskiu pomyliłe ssssoooooorrrrryyyy


To rozwiązanie jest na literator a nie syntezator Może spróbować by zrobić coś podobnego tylko z pełnymi slabami ? Wiem że dźwięk by wtedy dużo zajmował ale to jedyne rozwiązanie jakie przychodzi mi do głowy.


ta... zrób sobie żeby litery miały po 0.250 sec. to wtedy zacznie ci czytać a bie literować aha i żeby głośonośc liter była taka sama to bedie cool

08-01-2004 15:40
  
m-a-x



Typ: neutral
Postów: 366
Zarejestrowany: Jan 2003

Mógłbyś wrzucić gdzieś (na serwer) te dźwięki (o ile nie są one objete prawami autorskimi )sam jestem ciekawy jak to bedzie brzmiało. Coś spróbuje napisać i ci wyśle (jak by co).

aha a post o temacie "cze" sam musisz usunąć - nikt za Ciebie nie może . Możesz to zrobić po zalogowaniu sie, wchodząc na ten post bedziesz mial możliwość (czyt,. przycisk) jego usunięcia.

[Post edytowany dnia 10-01-2004 18:16 przez m-a-x]


_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!

10-01-2004 17:55
Pokaż profil m-a-x  Wyślij email do m-a-x   
Wszystkich odpowiedzi: 12 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1