В процессе создания голосового морского боя через распознание речи System/Microsoft и озвучивание ходов компьютера, я предположил, что самой сложной частью окажется (1) лексика русского (на английском SR), (2) грамматика (порядок слов: “А-5” или “5-А”) и, возможно, (3) нюансы настройки микрофона. Оказалось, что в разных версиях и типах системы всё по-разному, включая отсутствие даже английского движка на русской локали в w8, не говоря о комплектации нужной “говорилки” (Text-to-Speech). Другими словами, фактически только на w10 появилась относительно нормальная оффлайн (без интернета) поддержка распознания голоса и говорилки на русском языке.
Есть ли сравнительно универсальные (или большинство версий от ХР до w10) примеры на stand-alone в PABC.NEТ или же это фичи предыдущих ОС, особо без вариантов?
Ну, я бы на вашем месте пытался бы сделать своё распознавание речи. Если я правильно понимаю как работают нейронные сети - из за того что вам нужно ловить только слова “один”…“восемь” и “A”…“Ж”, нейронная сеть натренированная распознавать только их (ну и + понимать когда вы говорите не_1_из_них) - будет на много точнее работать, и будет нуждаться в меньшем кол-ве нейронов.
Как вариант, хотя я застрял ещё на этапе выбора (Microsoft/System) SR и TTS, потому что есть одноязычные версии или где локаль (язык по умолчанию) жёстко ограничивает/отключает распознание или озвучку, не позволяя US/British или вне культуры
Здравствуйте ребята. Подскажите пожалуйста функцию округления. Например, Var x1:= …; x1:=int(x1*1000)/1000. Т.Е. округления с указанием количество десятичных разрядов. В этом примере 3.
begin
var f: file of integer;
var s := 'files\file48i.dat';
Assign(f, s);
Rewrite(f);
foreach var x in Range(0, 9) do Write(f, x);
FileSize(f).Println;//10
Close(f);
var f2: file of real;
Assign(f2, s);
Reset(f2);
FileSize(f2).Println;//5 почему?
Close(f2)
end.
И наоборот, если f: file of real;, а f2: file of integer; то FileSize(f2) в 2 раза больше компонент выдает. Почему нет ошибки при связывании разных типов?
Ну вот есть бинарный файл. Как узнать, что там находится? Не в Паскале, вообще? Открываете и ищете в шестнадцатиричном коде знакомые сигнатуры. Потом пытаетесь понять что-то. Эвристика, так сказать. А больше никак. Если знаете, что файл типизированный - можете смоделировать эту эвристику программно.
Никак. Так же как в файле с иконками нельзя понять что там, если не знать что вам нужно достать из него иконки.
Зато если вы знаете что файл fail.dat создала ваша программа - вы знаете что там.
А если вам нужно записывать какую то доп. информацию, к примеру о типе - делайте свой собственный заголовок. Ну или используйте какую нибудь сериализацию, которая сохраняет данные о типах.
Помогите пож. как быть, чтобы в элементах управления textbox и masktexbox ввели только числовые данные (целые, действительные, положит. и отрицат, и т.д.)
{$reference system.windows.forms.dll}
{$reference System.Drawing.dll}
uses System.Windows.Forms;
uses System.Drawing;
begin
var f := new Form;
var tb := new TextBox;
f.Controls.Add(tb);
tb.KeyPress += (o,e)->
begin
e.Handled := not (
e.KeyChar.IsDigit or//Цифры все разрешены
((e.KeyChar = '.') and not tb.Text.Contains('.')) or//Так же можно ставить точку, но только если это первая точка
(e.KeyChar = #8)//И ещё можно стирать последний знак (#8 это знак бекспейса)
);
end;
Application.Run(f);
end.
procedure Main.TextBox_TextChanged(sender: Object; e: EventArgs);
begin
var ix:real; //заглушка или целевая переменная
...
if not TryStrToFloat(TextBox.Text, ix) then TextBox1.Text:=''; //сброс, вернуть ix или удалить последний символ и т.д.
...
end;
Да, спасибо. похоже на Visual C#. А для отрицат. чисел добавил в фильтре поиска знак “-”
begin
e.Handled := not (
e.KeyChar.IsDigit or//Цифры все разрешены
((e.KeyChar = ‘.’) and not tb.Text.Contains(’.’)) or//Так же можно ставить точку, но только если это первая точка
(e.KeyChar = #8)//И ещё можно стирать последний знак (#8 это знак бекспейса)
or ((e.KeyChar = ‘-’) and not tb.Text.Contains(’-’)));
end;
Для того чтоб код выглядел нормально - его надо выделять, вот так:
```
код
```
Тогда получается так:
код
Знак ` находится за Ё, в англ. раскладке.
Обратите внимание, на то что на строчках с ``` не должно быть ничего кроме их самих. Иначе выделение ломается. Ну, вы можете сами поэкспериментировать, благодаря предпросмотру справа.
Для того, чтобы выявить узкие места для оптимизации структур данных и алгоритмом, нужен модуль или аналог утилиты Profiler, который может подсчитывать какие процедуры/функции/переменные вызываются чаще всего. Есть ли така возможность для PABC.NEТ?