Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi (до версии 2009) - часть 6

Автор: andrey777k
Дата сообщения: 19.02.2011 18:57
Люди помогите реализовать распознавание речи в Делфи7 ? Мне нужно чтобы в микрофон произносилась буква и на экран выводилось какая буква была произнесена,только чтобы не только мое произношение распознавалось, а и других людей.Надеюсь вы мне поможете мне просто 14 лет и я никак не могу разобраться!
Автор: V1s1ter
Дата сообщения: 19.02.2011 20:13
andrey777k
Вопрос у тебя интересный. Или шутка это, если нет почитай сначала про распознавание речи. Есть конечно библиотеки выполняющие большую часть работы ну например Microsoft Speech API. Есть еще книга "MS Agent и Speech API в Delphi". Но это не элементарное программирование, если конечно не задача подсоединить "движок" в свою программу.
Автор: svs123456789
Дата сообщения: 22.02.2011 09:23
как можно узнать по ехе файлу что он написан например на Delphi 7 , а например не на Lazarus ?
Автор: Frodo_Torbins
Дата сообщения: 22.02.2011 10:43
svs123456789
Нужно анализировать сигнатуры, как антивирусы. Пример реализации: http://exeinfo.fortunecity.com/
Автор: andrey777k
Дата сообщения: 22.02.2011 14:20
как преобразовать звук в массив байт ?
Автор: Frodo_Torbins
Дата сообщения: 22.02.2011 14:25
andrey777k
А в каком виде он у вас сейчас?
Автор: andrey777k
Дата сообщения: 22.02.2011 15:01
уже записан на диск(формат будет такой который удобнее преобразовывать)
Автор: Frodo_Torbins
Дата сообщения: 22.02.2011 20:08
andrey777k
Так на диске у вас уже и хранится массив байт.
Автор: svs123456789
Дата сообщения: 22.02.2011 21:19
никто не встречал конвертера с языка дэлфи или паскаль на шарп или джаву?
Автор: Frodo_Torbins
Дата сообщения: 22.02.2011 21:35
svs123456789
Был помнится такой компилятор, который паскаль-код в С++ перегонял, а потом с помощью GCC его компилял. Но вообще код на делфи это ведь не только сплошные конструкции языка, это еще и обращения к RTL и VCL. Их ни в шарпе ни в джаве нету.
Кстати для точконэта есть Delphi Prism, а для джавы та же контора готовит нечто под названием Cooper.
Автор: andrey777k
Дата сообщения: 23.02.2011 09:48
Frodo_Torbins
как вырвать оттуда этот массив байт?Мне он нужен в чистом виде то есть 1 0 1 0 1 0 0 0.как?
Автор: Frodo_Torbins
Дата сообщения: 23.02.2011 10:05
andrey777k
Вы в курсе как в делфи читать файлы с диска? Вот любым из этих способов и воспользуйтесь.
Автор: andrey777k
Дата сообщения: 24.02.2011 07:48
Frodo_Torbins
В курсе. Мне нужно чтобы я получил чистый массив байт!!!Помогите дайте код,я просто сам не знаю как написать!
Автор: ShIvADeSt
Дата сообщения: 24.02.2011 09:15
andrey777k

Цитата:
В курсе. Мне нужно чтобы я получил чистый массив байт!!!Помогите дайте код,я просто сам не знаю как написать!

Ну раз в курсе, то и считывайте побайтно и будет счастье. В чем именно проблема? Либо давайте код, в котором УЖЕ организовано чтение, и спрашивайте конкретно, что именно не получается.

Цитата:
Мне он нужен в чистом виде то есть 1 0 1 0 1 0 0 0

ОМГ, это биты. Прочитайте хотя бы начало информатики, чтобы людей не путать. Если Вам нужно байты перевести в биты, то берите и посимвольно переводите - напишите функцию или стандартную возьмите для перевода десятичной системы в двоичную, в итоге у вас и будет массив БИТОВ.
Автор: svs123456789
Дата сообщения: 24.02.2011 17:50
StrToFloat(edit.Text) если строка пустая , то функция ,генерируют исключение .

как правильнее поступить? применить StrToIntDef ?

или
if (edit.Text= '') then var := 0 else var := StrToFloat(edit.Text);

Автор: Frodo_Torbins
Дата сообщения: 24.02.2011 18:35
svs123456789
Еще вариант - посмотреть как сделана StrToIntDef и сделать так же.
Автор: andrey777k
Дата сообщения: 24.02.2011 20:58
Прошу вас напишите мне код,буду благодарен! я не имел опыта работы с файлами!
кроме как с текстовыми!
Автор: Frodo_Torbins
Дата сообщения: 24.02.2011 21:16
andrey777k
Пожалуйста: "var MyFile: file of byte;". Остальная часть кода тут: http://delphikingdom.com/asp/viewitem.asp?catalogid=843
Автор: psa1974
Дата сообщения: 25.02.2011 02:32
svs123456789
andrey777k
Ребята, ну вы совесть то имейте - эти ваши вопросы - из разряда "1-й класс, вторая четверь". Во что превратится топик, если каждый начнет задавать чайниковские вопросы, ответ на который есть в любом учебнике по Дельфи для начинающих и в исходниках самой Дельфи??? Берем книги, изучаем основы языка, и набираемся опыта у корифеев, изучая исходники Дельфи. А так же читаем материалы, приведенные в шапке по ссылке "Некоторые полезные ресурсы о Delphi" . Все вопросы типа что будет, если выполнить 2+2, отпадут сами собой.

Пардон за оффтоп, но я терпел, терпел, и не выдержал... Полторы страницы обсуждать прописные истины...
Автор: andrey777k
Дата сообщения: 25.02.2011 08:03
var
Form1: TForm1;
myfail:file of byte;
a:array of byte;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
assign(myfail,'1.wav');
reset(myfile);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
for i:=1 to 100 do
a[i]:=read(data);
end;

end.
где ощибка?
ругается на assign(myfail,'1.wav');
Автор: Cryogen2003
Дата сообщения: 25.02.2011 08:24
а почему assign? Нужно ведь AssignFile ))))))
Автор: psa1974
Дата сообщения: 25.02.2011 08:31
andrey777k
Во-первых, если бы ты внимательно читал статью, рекомендуемую Frodo_Torbins у тебя бы этой ошибки не было. Во-вторых, F1 тебе в помощь. (Скажу по секрету, что F1 вызывает мощную встроенную справочную подсистему. И например, позволяет почитать подраздел "file management routines". Только никому не говори, ага. А то все ломанутся ее вызывать и что мы тут тогда делать будем...)
Автор: ShIvADeSt
Дата сообщения: 25.02.2011 08:32
andrey777k
Надо использовать AssignFile, далее я бы не рисковал с такими путями к файлу.

Добавлено:

Цитата:
procedure TForm1.Button1Click(Sender: TObject);
begin
for i:=1 to 100 do
a[i]:=read(data);
end;


Что есть data? не нашел такой переменной. У меня есть подозрение, что человек хочет работать с файлами не выучив азов. Использование динамических массив без установления длинны тоже подтверждает догадку.
andrey777k
Начните лучше с азов, чтобы не превращать тему в перепечатывание хелпа


Добавлено:

Цитата:
procedure TForm1.FormCreate(Sender: TObject);
begin
assign(myfail,'1.wav');
reset(myfile);
end;


удачненькое имя переменной myfail - отражает главную проблему
Автор: andrey777k
Дата сообщения: 25.02.2011 09:00
http://audiocoding.ru/article_wav_header.html
Вот что такое дата, так как в типизированном файле есть определенная колонка с нужными мне данными.
(а что надо было переменную назвать Hello World?=))

Добавлено:
var
Form1: TForm1;
t:file of byte;
a:array of byte;
i:integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
assignfile(t,'1.wav');
reset(t);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
for i:=1 to 100 do
a[i]:=read(t,data);
end;

end.
Ругается на data помогите,,я уже неделю мучаюсь,сначала спросил мне дали ссылку на статью где только глаза ломать(тем более я ее сам нашел раньше),...,..,...!

Автор: Cryogen2003
Дата сообщения: 25.02.2011 09:20
andrey777k
data - это по идее должна быть переменная, куда ты будешь читать из файла. В твоем случае data - это переменная с типом byte.

А так, правда, пошел бы почитал специальные сайты с обучением. А так азы паскаля обсуждать - смешно честно говоря
Автор: andrey777k
Дата сообщения: 25.02.2011 09:21

Цитата:
a:array[1..100] of byte;


Автор: ShIvADeSt
Дата сообщения: 25.02.2011 10:02
andrey777k
Вы поймите - у вас ошибка на ошибке

Цитата:
a[i]:=read(t,data);

это даже не ошибка, это непонимание как работает процедура и что она делает. Либо берите любой самоучитель и читайте как работать с типизированными файлами, либо в предложения о работе. Так как данный код не править надо, а полностью переписывать. И заметьте, тут еще даже ни слова нет о переводе байт в биты.
Автор: psa1974
Дата сообщения: 25.02.2011 10:51
andrey777k

Цитата:
сначала спросил мне дали ссылку на статью где только глаза ломать

Если читать статьи по программированию равносильно ломанию глаз, если нет желания разбираться в сути вопроса, докапываться самостоятельно до истины, то мне кажется, что ты занялся не своим делом, программирование - не твой удел. Программирование - это большой труд, это куча потраченного времени и масса информации, с которой надо разбиратся, нахрапом это дело не возьмешь. Это только в сказке программирование можно выучить за 21 день. Думаю, тебе стоит подумать о других направлениях самореализации. Это просто совет.
Автор: Frodo_Torbins
Дата сообщения: 25.02.2011 11:29
andrey777k
На всякий случай еще раз приведу ссылочку: http://delphikingdom.com/lyceum/seminar.asp?id=2 Рекомендую не возвращаться в этот топик, пока не прочтете первые пять статей от туда. Если во время чтения возникнут вопросы, то ответы на них можно поискать тут: http://delphikingdom.com/lyceum/seminar.asp?ID=6
Все то же самое обычно можно найти в книжках по программированию на языке делфи. Если у вас есть какая-нибудь скажем по делфи 7, то обязательно прочтите ее.
Без этих элементарных знаний вы дальше не продвинетесь.
Автор: andrey777k
Дата сообщения: 25.02.2011 13:09
Всем спасибо за помощь
Frodo_Torbins
ShIvADeSt
Cryogen2003
ShIvADeSt
Frodo_Torbins
ShIvADeSt
И унижение
psa1974

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374

Предыдущая тема: MPO File


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.