Вверх ↑
Главный модератор
Ответов: 2999
Рейтинг: 396
#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