如何使用win95的语音压缩

nine99 2000-06-20 05:45:00
请教高手, 重分酬谢
win95的录音机属性中可以对录音进行压缩, 请问在自编的程序中如何使用
这个功能, 最好录音完毕,自动压缩, 请高手指点.

...全文
180 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cloud_soft 2001-01-15
  • 打赏
  • 举报
回复
GUANZHU
ywpg 2001-01-15
  • 打赏
  • 举报
回复
关注
shines77 2001-01-15
  • 打赏
  • 举报
回复
attention
Un1 2000-06-22
  • 打赏
  • 举报
回复
‘初始化:

' Open Input Wave Device, Let WAVE_MAPPER Pick The Best Device...
l = waveInOpen(hWaveIn, WAVE_MAPPER, mWaveInFmt, 0, 0, CALLBACK_NULL)
'l = waveInOpen(hWaveIn, WAVE_MAPPER, mWaveInFmt, AddressOf waveInProc, App.hInstance, CALLBACK_FUNCTION)
If l Then Err.Raise 68, , "不能打开音频输出设备"

l = mWaveInFmt.nAvgBytesPerSec / CAPTURE_RATE * 2
InitWaveHDR mWaveInHDR, l

l = waveInPrepareHeader(hWaveIn, mWaveInHDR, Len(mWaveInHDR)) ' Validate Return Code


'检查

'do not changed any in this function for speed reason
Private Sub CheckInBuf(WaveInHDR As WAVEHDR)
With WaveInHDR
If (.dwFlags And WHDR_DONE) = WHDR_DONE Then

Dim l As Long
l = .dwBytesRecorded
If l > 0 Then

Dim bt() As Byte
ReDim bt(l - 1)

CopyMemory bt(0), ByVal .lpData, l

Dim b As Boolean
b = True

'b = (Year(Date) < 2001)
End If

l = waveInAddBuffer(hWaveIn, WaveInHDR, Len(WaveInHDR)) ' Validate Return Code
If b Then
RaiseEvent Frame(bt)
End If
End If
End With

End Sub


Limu 2000-06-20
  • 打赏
  • 举报
回复
You can use some Windows API functions.the name like wave- or snd-. you can find in a VB tool named API Viewer.
本文档介绍Sphinx4在Windows下的中文训练过程及注意事项,与本文档配套的是我自己的训练实例bergtrain和用到的软件。 本文档编写日期 2013-04-23 1、为什么要训练? sphinx4目前的版本中仅提供了英文等语音识别库。中文的库是PTM或semi类型的,在java版sphinx中无法使用。 2、Sphinx的训练指哪些内容? 在Sphinx中有语言模型、声学模型等概念,如果你不想了解这些,请参考以下内容: a1、中文每个字的标准发音已经有一个较为全面的文件进行了标注 这个文件就是zh_broadcastnews_utf8.dic(下称这类文件为发音字典),在sphinx网站上可以下载,我们也包含了它。 下面是该文件的片断,它用类似拼音的方式标注了每个字或词的发音。 昌 ch ang 昌北 ch ang b ei 昌必 ch ang b i 昌都 ch ang d u 昌赫 ch ang h e a2、需要告诉sphinx我们经常使用的字、词是哪些,它们出现的频率如何 由于开放式语音识别尚难实现,所以sphinx实际上只能较好的处理相对小的语言集合。 因此,针对特定的领域,告诉sphinx该领域的词汇和各词出现的频率将极大提高识别率。 a3、需要告诉sphinx每个字、词的真正读音 发音字典告诉sphinx每个字的标准读音,但面对的说话人往往不会以标准读音来朗读。 因此sphinx需要学习说话人的“口音”。 如果训练时的读者发音比较标准,则sphinx能“举一反三”,识别其他不那么标准的读者的语音。 推荐的做法是训练一些典型的口音:标准男、女声,童音,最后再考虑特定用户的口音。 3、如何准备训练内容所需的原料? 需要准备两大内容:1)文本语料文件,2)语料录音文件。 文本语料文件给出2.a2中需要的内容,在bergtrain的etc文件下的berginput.txt文件就是一个预料文件。 它以行为单位,给出了150个中文句子。 语料录音文件是根据文本语料文件,朗读它的每行/句话,保存到每一个语音文件即可。 语料文件中的语句应该尽量选择领域相关的,在覆盖领域内名词的前提下,覆盖尽可能多的通用词汇。 4、训练环境及注意事项 本文的训练软硬件如下: 硬件:T60P笔记本,机器自带录音设备;操作系统为Win7 32位。 软件:Sphinx cmuclmtk-0.7-win32.zip pocketsphinx-0.8-win32.zip sphinxbase-0.8-win32.zip sphinxtrain-1.0.8-win32.zip sphinx4-1.0beta6-bin.zip,用于编写java版的识别软件所需的库 脚本执行软件 ActivePerl-5.16.3.1603-MSWin32-x86-296746.msi ActivePython-2.7.2.5-win32-x86.msi 录音和处理软件 audacity-win-2.0.3rc1.zip,可进行录音和声音文件处理(如降噪),免费软件 FairStars.zip,可进行批量录音(V3.5绿色版) 文本编辑软件UltraEdit,UltraEdit-32.rar绿色版 注意: 文件格式 语料文件必须使用UltraEdit进行编辑, 在编辑后,使用 文件-转换-ASCII转UTF-8(UNICODE编辑),指定文件中的中文使用utf8编码。 在保存前,设置格式如下: 换行符:UNIX终束符 - LF 指定文件中的回车/换行符为编码0A的换行符 格式:UTF-8 - 无BOM 每个文件的末尾必须有一个回车! 这个回车将在保存时被替换为编码0A的换行符,训练脚本需要这个符号来确认文件的结束。 录音文件 如果你不希望去编辑训练中的配置文件,则在使用FairStars录音时作如下设定: 进入菜单和对话框 选项-显示录音选项-编码-WMA, 设定:采样率(16000Hz)、通道(单声道)、比特率(16Kbps) 5、训练步骤 下面逐步从零开始进行训练 5.1 软件环境的安装 将本文档所在的文件夹解压或拷贝到d:\,即本文档路径是d:\sphinxtrain\Sphinx中文训练教程.txt 1)点击安装ActivePerl-5.16.3.1603-MSWin32-x86-296746.msi和ActivePython-2.7.2.5-win32-x86.msi; 2)解压Sphinx中除sphinx4-1.0beta6-bin.zip外的压缩文件到d:\sphinxtrain下
有很多只有333页 我这个是完整版本 总共666页 序言 14 写作本书的原因 14 目标读者 15 作者编写的其他书籍 15 第一章 CTI通信基础知识 16 1.1 概述 16 1.2 电信技术概念和术语 16 1.2.1 模拟信号和数字信号 16 1.1.2 模拟线路和数字线路 18 1.1.3信令的基本概念 19 1.1.4 信令的分类 20 1.1.4 脉冲拨号和DTMF拨号 21 1.2 计算机语音技术相关标准 21 第二章 常用名词解释 23 2.1 CTI 23 2.2 呼叫处理 23 2.3呼叫处理的功能 24 2.3.1语音的存储转发(Store & Forward) 24 2.3.2识别键盘上的数字 24 2.3.3文语转换(Text-to-Speech) 24 2.3.4语音识别(Voice Recognition) 24 2.3.5电话呼出 25 2.3.6传真的存储与转发(Fax Store and Forward) 25 2.3.7传真合成 25 2.4呼叫处理的主要应用 25 2.4.1自动总机(Automated attendant) 25 2.4.2语音信箱(Voice mail) 25 2.4.3消息传递(Message delivery) 26 2.4.4可闻文本(Audiotex) 26 2.4.5按呼叫次数付费(pay-per-call) 26 2.4.6自动订购系统(Automated order entry) 26 2.4.7呼叫中心(Call center) 27 2.5通信基础术语 27 2.5.1电话线 27 2.5.2拨号音 27 2.5.3电话呼入 28 2.5.4拨号 28 2.5.5呼叫接续 28 2.5.6拍叉簧 29 2.5.7拆线 29 2.6语音卡工作原理 29 2.6.1计算机总线连接 29 2.6.2电话线接口 30 2.6.3语音总线 30 2.6.4操作系统支持 30 2.6.5电脑语音功能 31 2.6.6语音处理功能 32 2.6.7数字化方法 32 2.6.8采样速率 32 2.6.9每样值编码比特数 32 2.6.10自动增益控制(AGC) 32 2.6.11静音压缩SCR 32 2.6.12"特殊效果"处理 33 2.6.13信号音检测 33 2.6.14 DTMF/MF/脉冲拨号是什么 33 2.6.15 Fax集成 35 2.7硬件原理类概念 36 2.7.1处理器 36 2.7.2语音卡与PC机的接口 36 2.7.3 语音卡与电话网的接口 37 2.7.4资源总线 37 2.7.5固件原理 37 2.8 CTI应用程序接口API 38 2.8.1当前流行的API 38 2.8.2 TAPI 38 2.8.3 TSAPI 39 2.8.4 JTAPI 40 2.8.5 S.100 40 2.8.6 各种API分析比较 40 2.9 其它术语 41 2.9.1 PCM 41 2.9.2 ADPCM 41 2.9.3 AGC 41 2.9.4 CLASS 42 2.9.5 CO 42 2.9.6 DSP 42 2.9.7 NGN 42 第三章 数字通信技术基础 42 3.1 数字通信概述 42 3.2 什么是数字中继 44 3.3 E1 帧结构 45 3.4 中国1号数字线路信令 46 3.4.1 E1线路数据的编码格式 46 3.4.2 中国1号信令线路编码含义 46 3.4.3 局间信令 50 3.5 局间多频记发器信号方式 55 3.5.1记发器信号的功能、特点与要求 55 3.5.2 MFP和MFC 56 3.5.3 R2MF信令 57 3.5.4 记发器信号的传送方式 58 3.5.5多频记发器信号的种类及基本含义 60 3.5.6局间记发器信号的发送顺序 66 第四章 Dialogic基础知识 73 4.1 Dialogic公司介绍 73 4.2 Dialogic产品术语解释 73 4.3 Dialogic产品体系结构简介 74 4.4 Dialogic产品分类 75 4.4.1 模拟产品 76 4.5 Dialogic模拟卡编程相关概念和术语 76 4.6 安装Dialogic系统的软件和硬件 77 4.6.1 硬件需求 77 4.6.2 软件需求 78 4.6.3 安装Dialogic模拟卡 78 4.6.4 配置DCM(Dialogic配置管理) 78 4.7 什么是主叫识别 82 4.7.1主叫识别的功能和业务基本要求 82 4.7.2 主叫识别信息数据传送协议 82 4.7.3 数据的定义 83 4.8 Dialogic SDK开发和运行环境 84 第五章 Dialogic系列语音卡简介 85 5.1 低密度模拟语音卡系列 85 5.1.1 PROLINE/2V 2线多功能模拟语音卡 85 5.1.2 Dialogic/4和D/4PCI 半长型4线模拟语音卡 86 5.1.3 D/41H 4线模拟语音卡 87 5.1.4 D/41ESC和D/41EPCI 4线SC总线模拟语音卡 88 5.1.5 VFX/40ESC和VFX/PCI 4线模拟传真语音卡 89 5.1.6 D/160SC-LS 16线SC总线模拟语音卡 91 5.2 高密度数字语音卡系列 93 5.2.1 D/300SC-E1和D/300PCI-E1 30线数字中继语音卡 93 5.2.2 D/600SC-2E1 60线数字中继语音95 5.3 DM3高密度平台系列 97 5.3.1 DM3 IPLink DM3高密度标准化IP语音平台 97 5.3.2 DM3高密度平台PCI cPCI 99 5.3.3 DM/F200及DM/F300传真资源卡 100 5.3.4 PCI QuadSpan系列 101 5.4 座席卡系列 102 5.4.1 MSI/SC-G座席卡 102 5.5 会议卡系列 104 5.5.1 DCB/SC基于DSP的会议卡 104 5.6 高密度ISDN BRI接口卡 105 5.6.1 BRI/80SC和BRI/160SC高密度ISDN BRI接口卡 105 5.7 过机卡 107 5.7.1 SCx过机卡 107 5.7.2 ATM服务器适配卡 108 5.8 GammaLink传真系列 108 5.8.1 GammaFax传真系列卡 108 5.9 企业传真卡系列 110 5.9.1 Cpi/3000CT-E1 30端口高密度传真卡 110 5.10 PBX集成平台 111 5.10.1 D/82JCT-U PBX集成平台(支持语音识别) 111 5.11 资源卡系列 113 5.11.1 SingleSpan-JCT/DualSpan-JCT JCT语音处理卡 113 5.11.2 D/41JCT-LS 4端口PCI模拟语音卡(支持语音识别) 115 5.11.3 D/120JCT-LS 12端口PCI模拟语音卡(支持语音识别) 118 5.12 SS7信令解决方案 120 5.12.1 Dialogic 7号信令方案 120 5.12.2 PCCS6-2E1 7号信令卡 121 5.12.3 DSC131单信令7号信令网关 122 5.12.4 DSC231 备份信令7号信令网关 123 5.13 软件产品 125 5.13.1 CT-Connect 呼叫控制软件 125 5.13.2 Dialogic CT Media开放平台及ICCP 126 第六章 Dialogic模拟卡程序设计 127 6.1 实现一个最简单的模拟卡程序 127 6.1.1 准备开发环境 127 6.1.2 打开Dialogic设备 128 6.1.3 等待电话呼叫 130 6.1.4 摘机应答 130 6.1.5 播放语音文件 130 6.1.6 挂机 131 6.1.7 关闭Dialogic设备 131 6.1.8 退出程序 131 6.1.9 编译和运行 132 6.1.10 提出问题 133 6.2 使用多线程 133 6.2.1 建立一个工作者线程(Worker Thread) 134 6.2.2 修改主函数 134 6.2.3 编译并运行 135 6.2.4 提出问题 136 6.3 使用异步模式 137 6.3.1 使用Dialogic事件通知机制 138 6.3.2 实现状态机 142 6.3.3 编译并运行 148 6.3.4 提出问题 156 6.4 总结 161 6.4.1 Dialogic软件系统架构及开发接口 161 第七章 了解Dialogic SRL 164 7.1 SRL术语表 164 7.2 SRL里有什么 164 7.3 静态连接 165 7.4 运行时链接 165 7.5 SRL事件管理 167 7.6 SRL用户数据管理 168 7.7 标准属性函数 171 7.8 I/O函数终止条件 171 第八章 SRL基本概念及基本编程模式 175 8.1 Dialogic SRL设备概念及基本编程模式 175 8.2 同步编程模式设计及实现 175 8.2.1 呼入应用系统编程框架 176 8.2.2 呼出应用程序编程框架 179 8.3 异步编程模式设计及实现 180 8.3.1 设计一个健壮的有限状态机及驱动函数 181 8.3.2 呼入应用系统的异步编程模型 186 8.3.3 呼出应用系统的异步编程模型 187 8.4 使用SRL扩展异步编程模式 187 8.5 基本SRL编程模式总结及辨析 190 8.5.1 SRL三种基本编程模式的特征 190 8.5.2 SRL三种基本编程模式的优点和弊端 190 8.5.3 SRL三种基本编程模式的选择标准 192 第九章 SRL高级概念及高级编程模式 193 9.1 SRL事件句柄定义及调用机制 193 9.1.1 回调函数定义 193 9.1.2 SRL回调机制 195 9.1.3 使用SRL级句柄服务线程 195 9.1.4 使用应用程序级句柄服务线程 196 9.2 SRL回调同步模式 196 9.2.1 什么是SRL回调同步模式 196 9.2.2 SRL回调同步代码例子 197 9.3 使用SRL回调异步模式 205 9.3.1 什么是SRL回调异步模式 205 9.3.2 SRL回调异步程序例子 205 9.4 使用Windows回调异步模式 209 9.4.1 什么是Windows回调异步模式 209 9.4.2 Windows回调异步程序例子 210 9.5 使用Win32同步机制回调异步模式 218 9.5.1什么是Win32同步机制异步模式 218 9.5.2 Win32同步异步模式例子 219 9.6 SRL高级编程模式总结及辨析 223 9.6.1 各种SRL高级编程模式的优点和弊端 223 9.6.2 高级SRL编程模式选择标准 224 第十章 Dialogic SRL API详解 226 10.1 SRL事件管理函数 226 10.1.1 事件处理函数 226 10.1.2 事件数据取回函数 227 10.1.3 SRL参数函数 227 10.2 标准属性函数 227 10.3 SRL事件管理函数及标准属性函数参考 227 sr_dishdlr() 禁止事件处理句柄 228 sr_enbhdlr() 启用事件句柄函数 230 sr_getboardcnt() 取回指定类型的卡数目 232 sr_GetDllVersion() 取回SRL DLL的版本号 234 sr_getevtdatap() 取回事件关联数据的内存地址 235 sr_getevtdev() 取回发生事件的设备 237 sr_getevtlen() 取回事件关联数据的字节长度 239 sr_getevttype() 取得当前事件的类型 240 sr_getparm() 取回SRL参数 242 sr_libinit() 初始化SRL DLL 243 sr_NotifyEvt() 将事件通知发送到Windows窗口 245 sr_putevt() 将一个事件送到SRL事件队列 248 sr_setparm() 设置SRL参数 250 sr_waitevt() 等待事件发生 254 sr_waitevtEx() 在某些设备上等待事件 256 第十一章 Dialogic语音功能概述 259 11.1 语音资源功能分类 260 11.2 PBXpert功能 260 11.3.2全局信号音产生GTG 261 11.3.3韵律信号音生成CTG 261 11.3.4全局拨号脉冲检测GDPD 263 11.3.5 R2MF信令 263 11.4 放音和录音功能 263 11.4.1 改变录音提示音长度 264 11.4.2 速度和音量控制 264 11.4.3 事务录音 264 11.4.4 WAVE文件偏移量放音 268 11.4.5 压缩式录音 268 11.4.6 回声消除资源 269 11.4.7 GSM和G.726语音编码 269 11.5 来电显示Caller ID 269 11.6 SC总线路由 269 11.7 Syntellect自动总机 269 11.8 模拟显示服务接口ADSI 270 第十二章 Dialogic数字卡编程 271 12.1 概述 271 12.2 D/300SC-E1卡的资源 272 12.2.1 资源分类及管理函数 272 12.2.2 资源的命名 272 12.3 编写一个处理呼入的D/300SC-E1程序 275 12.3.1 准备编程环境 276

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧