C#音频开发之winmm.dll函数汇总

C#开发音频--WinMM.dll 函数汇总 auxGetDevCaps                  查询指定的辅助输出设备以确定其性能auxGetNumDevs                  检取系统中存在的辅助输出设备的数量auxGetVolume                   返回指定的辅助输出设备的当前卷设备auxOutMessage                  向指定的辅助输出设备发送一条消息auxSetVol 阅读详情

C#开发音频--WinMM.dll 函数汇总 收藏

auxGetDevCaps                  查询指定的辅助输出设备以确定其性能
auxGetNumDevs                  检取系统中存在的辅助输出设备的数量
auxGetVolume                   返回指定的辅助输出设备的当前卷设备
auxOutMessage                  向指定的辅助输出设备发送一条消息
auxSetVolume                   在指定的辅助输出设备中设置卷
CloseDirver                    关闭指定的可安装驱动器
DefDriverProc                  为任何不由可安装驱动器处理的消息提供的缺省处理
Drivercallback                 调用一个回调函数,发送一条消息给窗口或将一个线程的阻塞解除
DrvGetModuleHandle             返回包含指定可安装驱动器模块的实例句柄
DrvsendMessage                 把指定的消息发送给可安装驱动器
GetDriverModuleHandle          返回包含指定可安装驱动器模块的实例句柄
joyGetDevCaps                  查询指定的游戏杆设备以确定其性能
joyGetNumDevs                  返回系统支持的游戏杆设备的数量
joyGetPos                      查询指定的游戏杆设备的位置和活动性
joyGetPosEx                    查询一个游戏杆设备的位置和它的按扭状态
joyGetThreshold                查询指定的游戏杆设备的当前移动阈值
joyReleaseCapture              释放由JoySetCapture函数设置的在指定游戏杆设备上的捕获
joySetCapture                  发送一个游戏杆消息到指定的窗口
joySetThreshold                设置指定的游戏杆设备的移动阈值
mciGetCreatorTask              为指定的MCI设备检取其创建的任务
mciGetDeviceID                 返回和打开设备名相匹配的设备标识符
mciGetErrorString              检取描述指定媒介控制接口错误代码的字符串
mciGetYieldProc                返回和媒介控制接口的WAIT标志相关的回调函数的地址
mciSendCommand                 向指定的媒介控制接口设备发送一条命令
mciSendString                  向指定的媒介控制接口设备发送一个字符串
mciSetYieldProc                设置一个过程地址,在MCI设备因指定了WAIT标志而等待一个命令完成时,该过程被周期性调用
midiConnect                    将指定的MIDI输入设备连接到输出设备
midiDisconnect                 断开MIDI输入设备和输出设备的连接
midiInAddBuffer                向指定的音乐仪器数字接口的输入设备增加一个缓冲区
midiInClose                    关闭指定的音乐仪器数字接口的输入设备
midiInGetDveCaps               查询指定的音乐仪器数字接口的输入设备,以确定其性能
midiInGetErrorText             检取有关音乐仪器数字接口的输入设备指定错误的文本说明
midiInGetID                    获得一个音乐一起数字接口的输入设备的标识符
midiInGetNumDevs               检取系统中音乐仪器数字接口的输入设备的数量
midiInMessage                  向指定的音乐仪器数字接口的输入设备驱动器发送一条消息
midiInOpen                     打开指定的音乐仪器数字接口的输入设备
midiInPrepareHeader            为音乐仪器数字接口的输入设备准备一个缓冲区
midiInReset                    在给定的MIDI输入设备上输入,并将所有挂起的输入缓冲区标记为已执行的
midiInStart                    启动在指定的音乐仪器数字接口的输入设备上的输入
midiInStop                     停止在给定的音乐仪器数字接口的输入设备上的输入
midiInUnprepareHeader          消除由midiInPrepareHeader函数完成的准备
midiOutCacheDrumPatches        请求内部的一个MIDI合成设备预装指定的基于键的击打音色集
midiOutCachePatches            请求内部的音乐仪器数字接口的合成设备预装指定的音色集
midiOutClose                   关闭指定的音乐仪器数字接口的输出设备
midiOutGetDevCaps              查询指定的音乐仪器数字接口的输出设备,以确定其性能
midiOutGetErrorText            检取有关MIDI输出设备指定采取的文本说明
midiOutGetID                   检取指定的MIDI输出设备的标识符
midiOutGetNumDevs              检取系统中存在的MIDI输出设备的数量
midiOutGetVolume               返回一个MIDI输出设备的当前卷设置
midiOutLongMsg                 向指定的MIDI输出设备发送一条系统专用的MIDI消息
midiOutMessage                 向一MIDI输出设备驱动器发送一条消息
midiOutOpen                    打开指定的MIDI输出设备进行回放
midiOutPrepareHeader           为MIDI输出设备准备一个缓冲区
midiOutReset                   为指定的MIDI输出设备关闭所有MIDI通道上的所有标志
midiOutSetVolume               设置一个MIDI输出设备的卷
midiOutShortMsg                向指定的MIDI输出设备发送一条短MIDI消息
midiOutUnprepareHeader         清除由midiOutPrepareHeader函数完成的准备
midiStreamClose                关闭一个打开的MIDI流
midiStreamOpen                 为输出,打开一个MIDI流
midiStreamOut                  在MIDI输出设备上播放或排队一个MIDI数据流
midiStreamPause                暂停一个MIDI流的播放
midiStreamPosition             在一个MIDI流中检取当前位置
midiStreamProperty             设置或检取与MIDI输出设备相关MIDI数据流的特性
midiStreamRestart              重新启动一个暂停的MIDI流
midiStreamStop                 关掉指定MIDI输出设备的所有MIDI通道
mixerClose                     关闭指定的混频器
mixerGetControlDetails         检取和一个声频指线路相关的单一控件的细节
mixerGetDevCaps                查询指定的混频器以确定其性能
mixerGetID                     获取指定混频器的标识符
mixerGetLineContrils           检取和一个声频线路相关的一个或多个控件
mixerGetLineInfo               检取混频器有关特有线路的信息
mixerGetNumDevs                返回系统中存在的混频器的数量
mixerMessage                   把一个定制混频器驱动器消息直接发送给混频器驱动器
mixerOpen                      打开指定的混频器,在应用程序关闭该句柄前保证该设备不被移走
mixerSetControlDetails         设置和一个声频指线路相关的单一控件的细节
mmioAsvance                    填充一个文件的IO缓冲区
mmioAscend                     取出一个RIFF文件块
mmioClose                      关闭有mmioOpen打开的文件
mmioCreateChunk                创建由mmioOpen函数打开的RIFF文件中的一个块
mmioDescend                    进入由mmioOpen函数打开的RIFF文件的块中,并查找一个块
mmioFlush                      把文件缓冲区的数据写入磁盘中
mmioGetInfo                    检取有关由mmioOpen函数创建的RIFF文件的信息
mmioInstallIOProcA             装入或删除一个自定义的IO过程
mmioOpen                       为输入输出打开一个文件
mmioRead                       从由mmioOpen函数打开的文件中读取指定字节数的数据
mmioRename                     重新命名指定的文件
mmioSeek                       改变由mmioOpen函数打开的文件中的当前指针位置
mmioSendMessage                向与指定文件相联系的IO过程发送一条消息
mmioSetBuffer                  允许或禁止文件缓冲区的IO,或改变这个缓冲区,或改变这个缓冲区的大小
mmioSetInfo                    更新从被打开文件中检取的信息
mmioStringToFOURCC             把一个以NULL结束的字符串转换成一个4字符代码
mmioWrite                      向由mmioOpen函数打开的文件中写入指定字节数的数据
mmsystemGetVersion             返回多媒体扩展系统软件的当前版本号
OpenDriver                     打开一个可安装驱动器实例,并用缺省设置或指定值初始化该实例
PlaySound                      播放一个波形声音
SendDriveMessage               向指定的可安装驱动器发送一条消息
SndPlaySound                   播放一个由文件名或由登记的[sound]段的入口指定的波形声音
timeBeginPeriod                设置应用程序或驱动程序使用的最小定时器分辨率
timeEndPeriod                  清除应用程序或驱动程序使用的最小定时器分辨率
timeGetDevCaps                 查询定时器设备以确定其性能
timeGetSystemTime              检取从WINDOWS开始已逝去的毫秒数
timeGetTime                    检取从WINDOWS开始已逝去的毫秒数,此函数比上一条函数开销小
timeKillEvent                  毁掉指定的定时器回调事件
timeSetEvent                   设置一个定时器回调事件
waveInAddBuffer                向波形输入设备添加一个输入缓冲区
WaveInClose                    关闭指定的波形输入设置
waveInGetDevCaps               查询指定的波形输入设备以确定其性能
waveInGetErrorText             检取由指定的错误代码标识的文本说明
waveInGetID                    获取指定的波形输入设备的标识符
waveInGetNumDevs               返回系统中存在的波形输入设备的数量
waveInGetPosition              检取指定波形输入设备的当前位置
waveInMessage                  发送一条消息给波形输入设备的驱动器
waveInOpen                     为录音而打开一个波形输入设备
waveInPrepareHeader            为波形输入准备一个输入缓冲区
waveInReset                    停止给定的波形输入设备的输入,且将当前位置清零
waveInStart                    启动在指定的波形输入设备的输入
waveInStop                     停止在指定的波形输入设备上的输入
waveInUnprepareHeader          清除由waveInPrepareHeader函数实现的准备
waveOutBreakLoop               中断给定的波形输出设备上一个循环,并允许播放驱动器列表中的下一个块
waveOutClose                   关闭指定的波形输出设备
waveOutGetDevCaps              查询一个指定的波形输出设备以确定其性能
waveOutGetErrorText            检取由指定的错误代码标识的文本说明
waveOutGetID                   检取指定的波形输出设备的标识符
waveOutGetNumDevs              检取系统中存在的波形输出设备的数量
waveOutGetPitch                查询一个波形输出设备的当前音调设置
waveOutGetPlaybackRate         查询一个波形输出设备当前播放的速度
waveOutGetPosition             检取指定波形输出设备的当前播放位置
waveOutGetVolume               查询指定波形输出设备的当前音量设置
waveOutMessage                 发送一条消息给一个波形输出设备的驱动器
waveOutOpen                    为播放打开一个波形输出设备
waveOutPause                   暂停指定波形输出设备上的播放
waveOutPrepareHeader           为播放准备一个波形缓冲区
waveOutRestart                 重新启动一个被暂停的波形输出设备
waveOutSetPitch                设置一个波形输出设备的音调
waveOutSetPlaybackRate         设置指定波形输出设备的速度
waveOutSetVolume               设置指定的波形输出设备的音量
waveOutUnprepareHeader         清除由waveOutPrepareHeader函数实现的准备
waveOutWrite                   向指定的波形输出设备发送一个数据块

C#实战:如何用winmm.dll打造毫秒级高精度定时器(附完整代码) 本文详细介绍了在C#中利用winmm.dll实现毫秒级高精度定时器的完整方案。针对.NET内置定时器精度不足的问题,通过调用timeSetEvent等原生API,提供了超越系统时钟中断周期的精准定时能力。文章包含核心原理剖析、完整的封装类代码以及音视频处理、游戏开发等场景下的实战应用与性能调优指南。 阅读详情

相关推荐

C#高精度定时器实战:用winmm.dll实现毫秒级定时任务(附完整代码)

本文详细介绍了如何在C#中利用winmm.dll实现高精度定时器,突破.NET框架15毫秒的限制,达到毫秒级定时任务。通过解析timeSetEvent和timeKillEvent核心API,提供完整的封装类代码,适用于音视频处理、工业控制等对时间精度要求苛刻的场景。

weixin_30632089的博客 374

winmm.dll文件丢失导致程序无法运行问题

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个winmm.dll文件(挑选合适的版本文件)把它放入到程序或系统目录中,当我们执行某一个.exe程序时,相应的DLL文件就会被调用,因此将缺失的文件放回到原目录之后就能打开你的软件或游戏了.那么出现winmm.dll丢失要怎么解决?

2301_76755223的博客 2068

WinMM.dll:C#毫秒级高精度定时器实战指南

在实时控制、工业采集和音视频同步等场景中,传统.NET定时器(如System.Threading.Timer、Task.Delay)受限于Windows系统时钟粒度(默认15.625ms)、线程调度延迟及GC干扰,难以满足≤1ms的精度需求。WinMM.dll通过调用timeSetEvent绑定硬件级高精度计数器(HPET/TSC),绕过用户态调度,实现真正毫秒级稳定触发。其核心价值在于低开销、内核级中断响应与跨运行时稳定性,特别适用于PLC通信、心电图采样、BPM节拍控制等对时间敏感的应用。本文详解其原理

weixin_32667955的博客 177

winmm.dll文件被Windows安全中心自动删除解决办法

winmm.dll 被 windows 安全中心自动删除的解决办法

zy175的博客 8538

C# WinForm音乐播放器实战项目

Windows多媒体库(WINMM.DLL)是Windows操作系统提供的一个用于处理音频和视频的底层API集合。它提供了一组丰富的接口,允许开发者实现音频的播放、录制和控制等功能。由于它作为Windows系统的一部分,因此无需额外安装,可以直接在应用程序中引用和使用。WINMM.DLL广泛应用于游戏开发、多媒体应用程序以及需要音频控制的软件中。在现代用户界面中,滑动条(Slider)是一种常见的控件,用于提供一种直观的方式来选择一个范围内的值,尤其是在调节音量、亮度或选择时间点等场景中。

weixin_35749786的博客 1185

每天一个优秀提示词学习收藏 - 文本创作篇(二)

宝子们,今天不藏私啦!我把这段时间四处搜罗、潜心钻研出来的文本创作 Prompt 提示词大礼包双手奉上,这可都是能让你的 AI 创作水平原地起飞的干货!走过路过不要错过,赶紧码住,开启你的 AI 创作进阶之旅吧!

2401

【已解决】winmm.dll被报病毒的解决方案

安装typora时的winmm.dll被报病毒,关闭防火墙可以,但是重启电脑会再次报病毒。在windows安全中心的如图路径,找到该报错并设置允许即可。

未名编程 9459

别再只调电位器了!用单片机PWM控制LM317输出电压,精度和玩法都多了

本文探讨了如何利用单片机PWM控制LM317输出电压,替代传统的电位器调节方案。通过PWM信号的有源滤波和运放处理,实现了更高精度(±5mV)、更好温度稳定性(0.01%/°C)的数控稳压电源设计,支持远程控制和可编程曲线输出,为经典电路注入数字化智能。

weixin_29164497的博客 357

解决系统提示winmm.dll找不到丢失问题

在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包文件不完整造成,原因可能是某些系统防护软件将重要的DLL文件识别为可疑,阻止并放入了隔离单里,还有一些常见的DLL文件缺少是因为系统没有安装齐全的微软运行库,还有部分情况是因为系统更新升级补丁造成的系统内部文件损坏。

2401_89691573的博客 1141

FAST_LIO_ROS2 可以用gazebo仿真吗?

摘要:FAST_LIO_ROS2可与Gazebo仿真环境兼容,通过订阅Gazebo模拟的激光雷达和IMU数据实现SLAM建图。已有开源项目(如pb_rm_simulation)验证了该方案,支持导航模式切换与真实机器人移植。关键步骤包括环境配置、传感器话题匹配及参数调试,需注意版本兼容性与数据噪声处理。相关教程提供了从环境搭建到三维建图的完整流程。

专注 激光SLAM, 目标检测, 欢迎关注, 分享交流! 1138

可调电源的电路设计

可调电源在电路调试中经常用到,可调电源分为两种2-5v(非0点可调)和0-5v(低至0点可调)可调两种。 对于第一种非0点电压的可调范围,其主要是由于开关电源或LDO芯片输出的最小电压为一个固定电压值,非0范围。因此通过调节开关电源或LDO端的反馈电阻的设计模型,其电压可调范围都与芯片的参考电压有关。 基于开关电源的可调电压设计电路 因芯片U2的输出参考电压VSENSE管脚为1.22v。因此,通过调节可调电阻R8的数值,其芯片输出的最低电压一定不小于1.22v。当然此种方案是手动可调输出电压的设计,如

weixin_42257266的博客 9731

深入解析winmm.dll丢失:从原因到四种解决方案,彻底修复系统错误

本文是关于修复winmm.dll丢失错误的终极指南。内容涵盖:winmm.dll是什么,winmm.dll丢失的原因分析,以及三种winmm.dll的修复方案,包括使用sfc /scannow命令自动修复、重装依赖程序和手动下载替换winmm.dll。适用于所有Windows用户。

2401_89926894的博客 2251

MinerU PDF解析工具:从安装配置到本地部署与API调用的全流程指南

MinerU是由上海人工智能实验室开源的高质量PDF解析工具,可将包含图片、公式、表格的复杂PDF转换为Markdown和JSON格式。安装前需准备Python 3.10-3.13环境,推荐使用8核CPU和32GB内存。支持通过HuggingFace或ModelScope下载模型,国内用户建议使用ModelScope源加速下载。配置文件中可设置本地模型路径,支持多种语言识别和两种解析后端(Pipeline和VLM)。输出包含可视化文件、内容文件和中间结果文件,并提供了完整的Python API调用示例。

算法工程师 2027

C#开发音频--Winmm.dll 函数汇总

auxGetDevCaps                  查询指定的辅助输出设备以确定其性能auxGetNumDevs                  检取系统中存在的辅助输出设备的数量auxGetVolume                   返回指定的辅助输出设备的当前卷设备auxOutMessage                  向指定的辅助输出设备发送一条消息auxSetVol

小菜蝶 .net DotNet 401

【软件系统架构】系列六:系统工程

系统工程是一种跨学科方法论,用于分析、设计、集成和管理复杂系统的全生命周期。其核心特点包括系统性思维、全周期管理、跨学科协作和需求导向。主流采用V模型生命周期,涵盖需求分析、系统设计、实现、测试验证及运维退役等阶段。核心工作方法包括需求工程、系统建模、接口设计、风险管理等。系统工程与项目管理协同,分别侧重技术实现和进度资源管理。应用领域覆盖航天军工、智能制造、智慧城市等。未来将向AI融合、数字孪生、模型驱动工程等方向发展,为复杂系统开发提供系统化协作范式。

moton2017的博客 2257

基于AI的智能开发环境—Trae在Web开发中的应用实战与性能评估【Trae项目实战】

Trae 是一款与 AI 深度集成的开发工具,提供智能问答、代码自动补全和基于 Agent 的 AI 自动编程能力,极大提升开发效率。它具备完备的 IDE 功能,如代码编写、项目管理和源代码管理等,同时还具备强大的 AI 助手,能够提供智能问答、实时代码建议、代码片段生成等服务。开发者可以通过自然语言与 AI 协作,从 0 到 1 开发项目,AI 会根据需求自动生成代码或创建文件。

一键难忘的博客 3万+

C#调用Winmm.dll 的MciSendString无法保存音频文件解决方案

Winmm.dll保存文件失败问题分析与解决方法 最近在调用Winmm.dll的MciSendString save函数保存音频时,发现怎么保存都没有用。 这是保存的相关代码 mciSendString("stop movie", "", 0, 0); int mc_Res= mciSendString("save movie X://x//xxxx//xxxx/xxxx/xxxx.wav...

jinfengdk1995的博客 861

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C# 调用 winmm.dll 播放 midi 文件

C# 直接调用 OpenFileDialog,打开文件夹,选择*.mid文件,并播放。

belldeep的专栏 742

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

C#调用winmm播放音乐(.wav文件)

最近做的C#播放音乐(.wav文件)的小程序: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System

散落满地的幸福 2774

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

c# 使用windows自带winmm.dll 播放音频

今天帮同事完成一个C#应用程式,用户需要在点击完成后发出指定声音。我们使用windows 自带的winmm.dll,这样就不用到处找库了,利有系统播放音频功能完成开发。 下面是完整的核心代码: 1 using System.Runtime.InteropServices; //DllImport的命名空间 2 [DllImport("winmm.dll")]privatestatic...

weixin_33847182的博客 721

C#调用winmm.dll播放声音_中国创造

C#调用winmm.dll播放声音2006-08-12 08:52下面的 C# 代码示例演示如何在 Windows 平台上使用平台调用服务来播放波形声音文件。 示例 此代码示例使用 DllImport 将 winmm.dll 的 PlaySound 方法入口点作为 Form1 PlaySound() 导入。该示例具有一个带有一个按钮的简单 Windows 窗体。单击该按钮可打开标准 Win

qiuqiu173的专栏 2593

C控制Windows音频输出设备资源文件介绍:轻松掌握音频控制技巧

C#控制Windows音频输出设备资源文件介绍:轻松掌握音频控制技巧 去发现同类优质开源项目:https://gitcode.com/ C#控制Windows音频输出设备资源文件,让音频设备控制变得更简单。 项目介绍 在现代软件开发中,音频控制是一个常见的需求。今天要介绍的是一个开源的C#编写的资源文件,它为开发者提供了一个简单直观的方式来控制Windows系统中的音频输出设备。这个资源文件不仅仅...

gitblog_06774的博客 826

C# 调用API函数实现播放MP3音频

C#调用windows底层的API函数实现播放mp3音频 文件是:引用kernel32.dll和winmm.dll文件 dll名称:引用mciSendString构成媒体播放类 有任何不懂的博客评论,超过2小时私聊QQ:2773938492 ...

欢少的成长之路的博客 1102
上一篇: 一些网站的webservice接口
下一篇: SQL SERVER 2008添加删除列(新建列必须设默认值或为NULL)
睿智天成
博客等级 码龄17年 51粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值