Вверх ↑
Главный модератор
Ответов: 2997
Рейтинг: 395
#1: 2019-02-04 12:01:01 ЛС | профиль | цитата
  Опубликовано обновление программы. Сделан элемент базового пакета HCSpeech. Предоставляет доступ к функциям установленного модуля синтеза речи. В частности, позволяет сохранять текст в wave file с заданными установками звука (частота дискретизации, разрядность, количество каналов):
Examples

Проект Core:
Add(hcTplForm,2953706,224,70)
{
StartPosition=4
link(onCreate,5:doInline,[])
Point(doCaption)
}
Add(hcTplButton,2,322,70)
{
Left=16
Top=45
Caption="Speech"
link(onClick,6:doInline,[])
AddHint(-2,36,40,13,Caption)
}
Add(hcTplEdit,3,378,21)
{
Left=77
Top=46
Width=188
Anchor=13
Text="ahoj"
}
Add(hcTplComboBox,4,322,21)
{
Left=77
Top=19
Width=188
Anchor=13
Point(doSelectedIndex)
Point(Items)
Point(SelectedItem)
}
Add(hcInline,5,273,70)
{
Code=#58:// Сигнатура метода: public object doInline(object[] args)|0:|65:var items = (args[0] as TData).data as ComboBox.ObjectCollection;|0:|46:SpeechSynthesizer s = new SpeechSynthesizer();|0:|52:foreach (InstalledVoice v in s.GetInstalledVoices())|32: items.Add(v.VoiceInfo.Name);|0:|9:return 0;|
Arguments=1
ReferencedAssemblies=#10:System.dll|24:System.Windows.Forms.dll|105:C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Speech\v4.0_4.0.0.0__31bf3856ad364e35\System.Speech.dll|21:C:\HiAsm.NET\MSDK.dll|
Imports=#6:System|20:System.Windows.Forms|23:System.Speech.Synthesis|5:HiAsm|
DebugInfo=0
link(onResult,4:doSelectedIndex,[(316,76)(316,34)])
link(onError,11:doWork2,[(316,83)(316,125)])
link(Arg1,4:Items,[(279,65)(328,65)])
}
Add(hcInline,6,371,70)
{
Code=#58:// Сигнатура метода: public object doInline(object[] args)|0:|46:SpeechSynthesizer s = new SpeechSynthesizer();|49:string voicename = (args[0] as TData).toStr();|49:string text = (args[1] as TData).toStr();|34:s.SetOutputToDefaultAudioDevice();|25:s.SelectVoice(voicename);|19:s.SpeakAsync(text);|0:|12:return null;|
Arguments=2
ReferencedAssemblies=#10:System.dll|105:C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Speech\v4.0_4.0.0.0__31bf3856ad364e35\System.Speech.dll|21:C:\HiAsm.NET\MSDK.dll|
Imports=#6:System|23:System.Speech.Synthesis|5:HiAsm|
DebugInfo=0
link(onError,11:doWork1,[(417,83)])
link(Arg1,4:SelectedItem,[(377,66)(335,66)])
link(Arg2,20:Var2,[])
}
Add(hcMessage,7,434,119)
{
Caption="Error"
Icon=1
}
Add(HubEx,11,413,119)
{
link(onEvent,7:doMessage,[])
}
Add(hcSpeech,8,119,84)
{
link(onSpeakStarted,18:doWork2,[])
link(onSpeakCompleted,18:doWork3,[(163,104)])
link(Text,13:Text,[])
Point(doSpeakAsync)
Point(doPause)
Point(doResume)
Point(State)
}
Add(hcTplButton,9,63,63)
{
Left=16
Top=231
Anchor=6
Caption="Speech"
link(onClick,8:doSpeakAsync,[(107,69)(107,97)])
AddHint(-50,6,40,13,Caption)
}
Add(hcTplButton,10,63,98)
{
Left=77
Top=231
Anchor=6
Caption="Pause"
link(onClick,8:doPause,[])
AddHint(-43,6,34,13,Caption)
}
Add(hcTplButton,12,63,133)
{
Left=138
Top=231
Anchor=6
Caption="Resume"
link(onClick,8:doResume,[(108,139)(108,111)])
AddHint(-54,5,44,13,Caption)
}
Add(hcTplEdit,13,119,35)
{
Left=16
Top=97
Width=249
Height=122
Anchor=15
Text="Конструктор программ позволяет каждому пользователю ПК начать программировать без знания каких бы то ни было языков высокого уровня сразу же после установки среды. Создать программу в HiAsm так же просто, как собрать фигурку из деталей лего - достаточно выбрать необходимый набор компонентов и соединить их друг с другом в цельную конструкцию.\r\n"
Multiline=0
}
Add(hcTplLabel,14,273,21)
{
Left=21
Top=21
Caption="Voice:"
Alignment=5
}
Add(hcSpeech,15,476,70)
{
Output=1
SampleRate=8000
link(Text,20:Var3,[(482,61)])
link(Filename,19:Text,[])
}
Add(hcTplButton,16,434,70)
{
Left=16
Top=71
Caption="Save"
link(onClick,15:doSpeak,[])
AddHint(-2,-30,28,13,Caption)
}
Add(hcTplEdit,19,483,21)
{
Left=77
Top=72
Width=188
Anchor=13
Text="c:\test.wav"
}
Add(GetDataEx,20,378,56)
{
link(Data,3:Text,[])
}
Add(DoData,17,175,84)
{
link(onEventData,2953706:doCaption,[])
link(Data,8:State,[(181,70)(168,70)(168,126)(132,126)])
}
Add(HubEx,18,159,84)
{
link(onEvent,17:doData,[])
}
Проект Windows Forms:
Add(EntryPoint,2953706,231,91)
{
StartPosition=1
link(onCreate,5:doInline,[])
Point(doText)
}
Add(hcTplButton,2,329,91)
{
Left=16
Top=45
Caption="Speech"
link(onClick,6:doInline,[])
AddHint(-2,36,40,13,Caption)
}
Add(hcTplEdit,3,385,42)
{
Left=77
Top=46
Width=188
Anchor=13
Text="ahoj"
Multiline=0
}
Add(hcTplComboBox,4,329,42)
{
Left=77
Top=19
Width=188
Anchor=13
Point(doSelectedIndex)
Point(Items)
Point(SelectedItem)
}
Add(hcInline,5,280,91)
{
Code=#58:// Сигнатура метода: public object doInline(object[] args)|0:|49:var items = args[0] as ComboBox.ObjectCollection;|0:|46:SpeechSynthesizer s = new SpeechSynthesizer();|0:|52:foreach (InstalledVoice v in s.GetInstalledVoices())|32: items.Add(v.VoiceInfo.Name);|0:|9:return 0;|
Arguments=1
ReferencedAssemblies=#10:System.dll|24:System.Windows.Forms.dll|105:C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Speech\v4.0_4.0.0.0__31bf3856ad364e35\System.Speech.dll|21:C:\HiAsm.NET\MSDK.dll|
Imports=#6:System|20:System.Windows.Forms|23:System.Speech.Synthesis|5:HiAsm|
DebugInfo=0
link(onResult,4:doSelectedIndex,[(323,97)(323,55)])
link(onError,11:doWork2,[(323,104)(323,146)])
link(Arg1,4:Items,[(286,86)(335,86)])
}
Add(hcInline,6,378,91)
{
Code=#58:// Сигнатура метода: public object doInline(object[] args)|0:|46:SpeechSynthesizer s = new SpeechSynthesizer();|40:string voicename = args[0] as string;|40:string text = args[1] as string;|34:s.SetOutputToDefaultAudioDevice();|25:s.SelectVoice(voicename);|19:s.SpeakAsync(text);|0:|12:return null;|
Arguments=2
ReferencedAssemblies=#10:System.dll|105:C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Speech\v4.0_4.0.0.0__31bf3856ad364e35\System.Speech.dll|21:C:\HiAsm.NET\MSDK.dll|
Imports=#6:System|23:System.Speech.Synthesis|5:HiAsm|
DebugInfo=0
link(onError,11:doWork1,[(424,104)])
link(Arg1,4:SelectedItem,[(384,87)(342,87)])
link(Arg2,20:Var2,[])
}
Add(hcMessage,7,441,140)
{
Caption="Error"
Icon=1
}
Add(HubEx,11,420,140)
{
link(onEvent,7:doMessage,[])
}
Add(hcSpeech,8,119,91)
{
link(onSpeakStarted,22:doWork2,[])
link(onSpeakCompleted,22:doWork3,[(165,111)])
link(Text,13:Text,[])
Point(doSpeakAsync)
Point(doPause)
Point(doResume)
Point(State)
}
Add(hcTplButton,9,63,70)
{
Left=16
Top=231
Anchor=6
Caption="Speech"
link(onClick,8:doSpeakAsync,[(107,76)(107,104)])
AddHint(-50,6,40,13,Caption)
}
Add(hcTplButton,10,63,105)
{
Left=77
Top=231
Anchor=6
Caption="Pause"
link(onClick,8:doPause,[])
AddHint(-43,6,34,13,Caption)
}
Add(hcTplButton,12,63,140)
{
Left=138
Top=231
Anchor=6
Caption="Resume"
link(onClick,8:doResume,[(108,146)(108,118)])
AddHint(-54,5,44,13,Caption)
}
Add(hcTplEdit,13,119,42)
{
Left=16
Top=97
Width=249
Height=122
Anchor=15
Text="Конструктор программ позволяет каждому пользователю ПК начать программировать без знания каких бы то ни было языков высокого уровня сразу же после установки среды. Создать программу в HiAsm так же просто, как собрать фигурку из деталей лего - достаточно выбрать необходимый набор компонентов и соединить их друг с другом в цельную конструкцию.\r\n"
Multiline=0
}
Add(hcTplLabel,14,280,42)
{
Left=21
Top=21
Caption="Voice:"
Alignment=5
}
Add(hcSpeech,15,483,91)
{
Output=1
SampleRate=8000
link(Text,20:Var3,[(489,82)])
link(Filename,19:Text,[])
}
Add(hcTplButton,16,441,91)
{
Left=16
Top=71
Caption="Save"
link(onClick,15:doSpeak,[])
AddHint(-2,-30,28,13,Caption)
}
Add(hcTplEdit,19,490,42)
{
Left=77
Top=72
Width=188
Anchor=13
Text="c:\test.wav"
}
Add(GetDataEx,20,385,77)
{
link(Data,3:Text,[])
}
Add(DoData,18,182,91)
{
link(onEventData,2953706:doText,[])
link(Data,8:State,[(188,77)(172,77)(172,133)(132,133)])
}
Add(HubEx,22,161,91)
{
link(onEvent,18:doData,[])
}
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Редактировалось 2 раз(а), последний 2020-01-02 20:43:46