分类
程序设计

C#在UWP中实现录音功能

点击量:33

我们在开发Windows客户端程序时,有时需要实现录音的功能,比如使用语音识别时。本文中的代码通过DLL导入调用系统API实现了录制16kHz、16bit位宽的单声道wav格式录音。该代码已用于ASRT语音识别客户端SDK(C# UWP版):

https://github.com/nl8590687/ASRT_SpeechClient_UWP

分类
程序设计

C#基于winmm实现录音功能

点击量:41

我们在开发Windows客户端程序时,有时需要实现录音的功能,比如使用语音识别时。本文中的代码通过DLL导入调用系统API实现了录制16kHz、16bit位宽的单声道wav格式录音。该代码已用于ASRT语音识别客户端SDK(C# WPF桌面版):https://github.com/nl8590687/ASRT_SpeechClient_WPF

分类
后端开发 程序设计

基于动态软件体系结构的插件机制原理(C语言实现)

点击量:89

我们说软件体系结构的时候,常常说的是静态的体系结构。众所周知,静态的体系结构在运行的时候是不会发生结构上的变更的。而每当在结构上有变更的时候,比如给软件增加一个新的功能,新的模块,都需要重新编译相关的组件并部署。由于这个部署常常需要重启软件,这给一些软件的运行维护带来了极大的挑战,比如金融类的软件系统,正常情况下不能停止运行,哪怕数秒时间,否则会产生很多麻烦。而通过动态软件体系结构,使用可以“热插拔”的插件,我们就能够实现“给奔跑的汽车换零件”。

分类
ASRT Python学习笔记 程序设计

Python实现录音和播放功能

点击量:571

我们在需要跟用户使用语音进行交互的场景中,经常需要使用到录音的功能,比如网络语音通话和语音助手等,而完整的从底层实现录音功能往往是相当困难的,通常通过调用相关API来实现。这里我们介绍一种使用Python(3.x)中的PyAudio软件包来实现录音的方法。

分类
数据结构和算法 程序设计

C++ 常用STL库总结

点击量:1492

我们在使用C++开发相关软件、实现一些算法的时候,不可避免的会使用到STL标准库,本文对这个标准库常用的几种数据结构和算法库进行了整理。代码样例来自HowieMen,感谢。

分类
操作系统原理 数据结构和算法 程序设计

C语言基于MPI并行计算矩阵的乘法

点击量:643

矩阵的计算是并行计算里的一个很重要的问题。矩阵是一种网格化的数据,是一组同类型数值的集合,矩阵的出现,使得代数系统更完善,对各种实际问题的求解产生了巨大的作用。但是其庞大的计算量往往令人生畏,稍微大一点的矩阵,计算就变得非常繁琐,不仅仅是人,而且串行计算的程序,也同样会变得非常缓慢。这时我们就需要并行计算来解决这些问题了。

本文使用分治思想,利用主从节点方式,实现了一个并行计算的矩阵相乘程序,并将结果跟串行程序做了对比,计算了其加速比。

分类
Python学习笔记 操作系统原理 程序设计

使用C语言和Python基于MPI并行计算PI的值

点击量:777

圆周率PI是一个很神奇的数字,自古以来,包括数学家在内的很多人都曾使用过各种各样的算法去估算PI的真实值,并且都取得了一定的成就。古巴比伦人使用3.125作为PI的近似值,约公元前1700年的古埃及人则提出PI=3.1604,中国的祖冲之(430-501)则使用355/113作为近似值,使得PI值精确到了7位数。随着计算机的问世,以及科学技术发展的需要,PI的近似值目前精确位数早已突破万亿位。PI值除了有其每一位、每两位、每三位都符合均匀分布的统计规律特性之外,还可以用来检测计算机硬件的可靠性,而且,也可以用来入门并行计算。

分类
程序设计 综合技术

并行计算入门:mpich的安装与测试

点击量:289

在很多应用场景下,我们普遍需要进行并行计算,而不仅仅是并发。举个例子,比如机器学习中,我们常常使用GPU来并行训练神经网络;在例如Hadoop这种大数据计算平台等分布式系统中,不同的计算机之间,程序的执行也是并行的;同一台计算机中,多核处理器的不同CPU内核之间的计算也是并行的,系统可以此来均衡负载以及提高速度。那么,当我们有需要的时候,也可自己通过编写并行程序来进行计算,以实现我们所需要的功能,MPI就是这样的一个框架。

分类
操作系统原理 程序设计

进程间通信的五种方式原理及代码实现

点击量:656

在计算机系统中,进程之间有时需要进行数据的通信,但是不同进程之间的数据存储是相互隔离的,每一个进程只能访问自己占有的数据,这时候,我们就需要使用用于进程间通信的机制了。不过,除了套接字外,进程间通信的前提是两进程必须是父子进程关系,没有这种关系的进程间不能直接进行通信,而是需要利用其共同的父进程进行信息的中转。文本为计算机专业学生和从业者必学的基础知识。

进程间有以下几种通信机制:

分类
ASRT Python学习笔记 智能语音技术 程序设计

Python读取wav格式文件

点击量:10705

我们经常需要处理wav格式的文件,读取其中的声音信号和相关参数,来做一些事情。如果我们使用C++来做,那么需要对文件的底层存储格式有一个透彻的了解才行,而且考虑不周还有可能出Bug;如果使用MatLab来做,虽然只有一行代码就可以读取文件,但是MatLab语言自身的局限性使得写出的代码难以在实际中投入使用。因此,兼顾简介易用和实用性,用Python来做就显得比较好了。