На цій сторінці наведено приклад написання простої програми для читання текстів і створення з них звукових (Wav) файлів, використовуючи функції і процедури синтезатора Rozm2.dll
Сторінка для розробників.

Приклад використання функцій Rozm2.dll

Перелік доступних функцій і процедур .

procedure SetVsp(vs:char);  - вибір голосу
procedure Readtp(pfi:PChar; pfo:PChar; bi:integer; mi:integer); - читання текстового файлу
procedure Readsp(pc:PChar; pfo:PChar; mi:integer);  - читання строки
procedure Pauzp; - пауза
procedure Resumep;  - продовжити після паузи
procedure Stopp; - зупинити читання
function GetPozf:integer; - позиція кінця фрази, яка читається
procedure StresModp(sm:integer); - режим наголошення слів, відсутніх в словнику
procedure SetSpRatp(sr:integer);  - встановити швидкість читання (sr=1-9)
procedure SetSpVolp(sv:integer);  - встановити рівень звуку (sv=0-16)
procedure WaitEnd; - чекати закінчення файлу
procedure WaitPoz;  - чекати слідуючої фрази

Readtp(pfi:PChar; pfo:PChar; bi:integer; mi:integer);
Параметри:
pfi - вказує на текстовий файл, який треба прочитати, чи конвертувати в Wav файл.
pfo - вказує на Wav файл, у який треба  конвертувати pfi .
bi -
позиція в текстовому файлі, з якої треба читати чи конвертувати.
mi -
режим роботи. (mi=0 - читати), (mi=1 - конвертувати у wav файл).
Приклад
и використання:
R
eadtp(pchar('c:\f1.txt'),pchar(''),0,0
); - читати текстовий файл f1.txt з початку.
Readtp(pchar('c:\f1.txt'),pchar(''),0,1);  - конвертувати файл f1.txt в wav.
 Wav
файл буде мати імя як текстовий, але з розширенням wav ( c:\f1.wav).
R
eadtp(pchar('c:\f1.txt'),pchar('d:\w1.wav'),0,1);  -
конвертувати файл f1.txt в wav (імя в   другому параметрі).
При конвертуванні цілої групи текстових файлів в wav файли використовуйте ще процедуру WaitEnd, вона очікує закінчення конвертації файла.
for i:=1 to 100 do begin
Readtp(pchar(fi[i]),pchar(fo[i]),0,1); WaitEnd; end;
 
де fi i fo -масиви строк-імен вхідних і вихідних файлів (вихідних можна не задавати)

Readsp(pc:PChar; pfo:PChar; mi:integer);
Параметри:
pc - вказує на строку, яку треба читати, чи конвертувати у wav файл.
pfo -вказує на Wav файл, у який треба  конвертувати строку pc.
mi -
режим роботи. (mi=0 - читати), (mi=1 - конвертувати у wav файл).
Приклад
и використання:
Readsp(pchar('У лісі, лісі темному'),pchar(''),0); - читати строку, задану в першому параметрі.
Readsp(pchar('У лісі, лісі темному'),pchar('c:\w1.wav'),1); - конвертувати строку у файл,   повне імя якого задано другим параметром. Якщо другий параметр - пуста строка, чи люба строка довжиною не більше 2, то створений файл буде мати імя першого слова строки і розміщуватись в папці WavFiles.

Rozm2.dll генерує три події, які можна використовувати.
EventP - вибрана слідуюча фраза (відомий її кінець).
Event1 -закінчено читання фрази.
EventE - закінчено читання чи конвертація файлу (чи строки для Readsp).
Для цього події треба відкрити:
hEventP:=OpenEvent(EVENT_ALL_ACCESS,false,'EventP');
hEvent1:=OpenEvent(EVENT_ALL_ACCESS,false,'Event1');
hEventE:=OpenEvent(EVENT_ALL_ACCESS,false,'EventE');
Хоча можна обійтись процедурами  WaitPoz і WaitEnd,  які чекають на першу і третю події.

Приклади використання всіх доступних функцій і процедур Rozm2.dll дивіться в кодах демонстраційної програми читання текстів.
Код програми можна подивитись тут: Unit1.pas
Про необхідні для роботи програми файли дивіться тут: Readme.txt
Зкомпільована робоча програма з вихідними кодами і необхідними файлами тут: RozmDll20.zip (1.7MB)
Пробуйте.

Щодо комерційного використання Rozm2.dll звертайтесь до автора.

На першу сторінку