百度语音,面向广大开发者永久免费开放语音合成技术。所采用的离在线融合技术,根据当前网络状况,自动判断使用本地引擎或者云端引擎,进行语音合成,再也不用担心流量消耗了!

本Demo将使用官方提供的C#版本RestApi SDK制作一个Winfrom软件,实现以下两个功能。

  • TTS语音合成:可选择语速、音调、音量及发言人
  • ASR语音识别:使用NAudio进行语音录制并识别
    阅读全文 »

GeoIP® 数据库&服务:业界领先的IP智能,MaxMind GeoIP2 服务能识别互联网用户的地点位置与其他特征,应用广泛,包括个性化定制内容、诈欺检测、广告定向、网站流量分析、执行规定、地理目标定位、地理围栏定位 (geo-fencing)以及数字版权管理。

阅读全文 »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
var instance = new Mutex(true, "SingleStart", out bool createdNew); //同步基元变量
if (createdNew)
{
Application.Run(new Form());
instance.ReleaseMutex();
}
else
{
Application.Exit();
}
}
}
阅读全文 »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//声明和需进行跨线程调用的方法相同形参表的委托
public delegate void AddStatusInfoToFormCallback(string str);
private void AddStatusInfoToForm(string str)
{
//检测调用控件的线程和创建控件的线程是否相同
//如果调用控件的线程和创建创建控件的线程不是同一个则为True
if (InvokeRequired)
{
//使用委托调用本方法
var d = new AddStatusInfoToFormCallback(AddStatusInfoToForm);
Invoke(d, str);
}
else
{
//当前线程调用
Controls.Clear();
}
}
阅读全文 »

开始做的时候也遇到了奇葩的情况、创智提供的dll只能在有UI的Winform、WPF上使用,WebForm、WPF、WebService完全没办法使用,Console在加上了[STAThread]的线程Attribute之后也可以成功调用,推测和dll使用MFC编写有关、但是各种引入MFC的dll均无果,一筹莫展之际把问题提到了交流群里,吾乐吧的牛总给出了可行的解决方案—-使用WCF来调用。

有了具体解决方案一切就顺风顺水了,但是完成程序之后又出现了奇葩的问题,部署到服务器也会出现外部组件异常的问题,本机调试可以部署却不行,很明显就是环境的问题了,由于dll为非托管dll,我们无法从错误中得到有效的错误信息,从环境下手尝试解决,虽然最终成功了,但是目前还并不清楚到底是因为什么,这里的经验是MSSOAP、MSXML、WebMatrix一定要装,如果还是不能成功运行可以考虑安装VS环境试试看。期待能有高手给出具体的解决之道。

阅读全文 »

redhat 的更新包只对注册的用户生效,所以我们需要自己手动更改成CentOS 的更新包,CentOS几乎和redhat是一样的,所以无需担心软件包是否可安装,安装之后是否有问题。

阅读全文 »