ďťż

Ładny brzuch

Chcę zrobić prosty syntezator mowy. Działałby tak, że tekst wpisywałoby się w Memo, a program uruchamiałby pliki dźwiękowe o takich nazwach, jak pojedyncze słowo. Ale nie wiem jak wykryć pojedyncze słowo. Możecie mi pomóc?

----------------
Kamil Wajda
GG: 8863160
Błagam o pomoc w rozkręceniu mojego forum: http://i.1asphost.com/kamil502/ (lub: http://www.kamil502.forum.prv.pl/ )



Po co sobie tak życie utrudniać :? Nie możesz skorzystać z syntetyzatora głosu wbudowanego w Windows XP (no chyba, że nie masz) :?

"Zamki na piasku, gdy pełno w szkle" ;)
GG:8670667

po co pisac programy, skoro wszystko juz zostalo przez kogos wymyslone? ;)

na poczatku tworzysz tablice of string o nazwie slowa i zmienna nrslowa := 0;
Odczytuj po jednym znaku i sprawdzaj jego kod. Tak dlugo, jak dlugo nie jest to spacja, dodawaj go (ten znak) do tablicy
slowa[nrslowa]. kiedy dojdziesz do spacji, inc(nrslowa) i jedziesz dalej. Na koncu dostajesz tablice slowa ze wszystkimi slowami.

Nie znam dobrze Delphi, ale mysle ze da sie to tak zrobic ;).

"Człowieka można zniszczyć ale nie pokonać"
Ducha nie można ani zniszczyć ani pokonać.
Ducha X - nawet nie pytaj.
;)

Nie utrudniam se życia! Synteza mowy jest tylko jednym z wielu zastosowań możliwości wykrywania pojedynczych słów!

----------------
Kamil Wajda
GG: 8863160
Błagam o pomoc w rozkręceniu mojego forum: http://i.1asphost.com/kamil502/ (lub: http://www.kamil502.forum.prv.pl/ )



cytat:DuchX napisał:

po co pisac programy, skoro wszystko juz zostalo przez kogos wymyslone? ;)

na poczatku tworzysz tablice of string o nazwie slowa i zmienna nrslowa := 0;
Odczytuj po jednym znaku i sprawdzaj jego kod. Tak dlugo, jak dlugo nie jest to spacja, dodawaj go (ten znak) do tablicy
slowa[nrslowa]. kiedy dojdziesz do spacji, inc(nrslowa) i jedziesz dalej. Na koncu dostajesz tablice slowa ze wszystkimi slowami.

Nie znam dobrze Delphi, ale mysle ze da sie to tak zrobic ;).

"Człowieka można zniszczyć ale nie pokonać"
Ducha nie można ani zniszczyć ani pokonać.
Ducha X - nawet nie pytaj.
;)

A jak sprawdzać każdy ze znaków?

----------------
Kamil Wajda
GG: 8863160
Błagam o pomoc w rozkręceniu mojego forum: http://i.1asphost.com/kamil502/ (lub: http://www.kamil502.forum.prv.pl/ )

Po co utrudniać sobie życie jak jest już gotowiec do wykrywani łańcuchów w łańcuchu:)
Pos('wyraz','wyraz');

-------------- ------------- ------------- --------------- ------
|Korona Kielce - Jagiellonia Białystok 31 lipca, 17:00                |
|Widzew Łódź  - Korona Kielce 7 sierpnia, 18:00                       |
|Korona Kielce - Ąwit Nowy Dwór Mazowiecki 14 sierpnia, 17:00 |

to nie tak, nie wiem jak ale nie tak:P
ten twój program będzie trochę upośledzony...
syntezor mowy nie składa się z nagranych słów tylko sam je generóje, więc ten program który chcesz tworzyć będzi bardzo wielki i powolny

Asdef

cytat:Kamil Wajda napisał:

cytat:DuchX napisał:

po co pisac programy, skoro wszystko juz zostalo przez kogos wymyslone? ;)

na poczatku tworzysz tablice of string o nazwie slowa i zmienna nrslowa := 0;
Odczytuj po jednym znaku i sprawdzaj jego kod. Tak dlugo, jak dlugo nie jest to spacja, dodawaj go (ten znak) do tablicy
slowa[nrslowa]. kiedy dojdziesz do spacji, inc(nrslowa) i jedziesz dalej. Na koncu dostajesz tablice slowa ze wszystkimi slowami.

Nie znam dobrze Delphi, ale mysle ze da sie to tak zrobic ;).

A jak sprawdzać każdy ze znaków?

to chyba bedzie tak:
znak := memo1.lines[nrznaku];
inc(nrznaku);
a potem tylko porownujesz jego kod z kodem ascii spacji

PS moge sie mylic - jak juz pisalem nie znam sie na Delphinku za bardzo, choc mam zamiar sie kiedys go nauczyc...

"Człowieka można zniszczyć ale nie pokonać"
Ducha nie można ani zniszczyć ani pokonać.
Ducha X - nawet nie pytaj.
;)

cytat:DuchX napisał:

to chyba bedzie tak:
znak := memo1.lines[nrznaku];
inc(nrznaku);
a potem tylko porownujesz jego kod z kodem ascii spacji

PS moge sie mylic - jak juz pisalem nie znam sie na Delphinku za bardzo, choc mam zamiar sie kiedys go nauczyc...

"Człowieka można zniszczyć ale nie pokonać"
Ducha nie można ani zniszczyć ani pokonać.
Ducha X - nawet nie pytaj.
;)

W ten sposób to wykrywa się całe linie!

----------------
Kamil Wajda
GG: 8863160
Błagam o pomoc w rozkręceniu mojego forum: http://i.1asphost.com/kamil502/ (lub: http://www.kamil502.forum.prv.pl/ )

ech.... pokaze Ci to na przykladzie wykrywania spacji... ten skrypt bedzie jechal przez text w memo az do wykrycia spacji:

var
text: String;
dlugosc: Integer;
I: Integer;
begin
text := Memo1.Lines.Text;
dlugosc := Length(text);
for i := 1 to dlugosc do
begin
if (text[i] = ' ') then blablabla
end;

end;

"Człowieka można zniszczyć ale nie pokonać"
Ducha nie można ani zniszczyć ani pokonać.
Ducha X - nawet nie pytaj.
;)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •