没有合适的资源?快使用搜索试试~ 我知道了~
声音设计工具包软件版本075的永久链接和操作要求
当前代码版本此代码版本使用的代码/存储库的永久链接使用的代码版本控制系统使用的软件代码语言、工具和服务编译要求、操作环境依赖性(如有)开发人员文档/手册问题支持电子邮件075https://github.com/ElsevierSoftwareX/SOFTX-D-16-00016www.example.comgitC编译:Gnu Make.环境:Cyclinghttps://github.com/SkAT-VG/SDT/releases/download/075/SDT_APIdoc-075.stefanobaldan@iuav.it当前软件版本指向此版本可执行文件的永久链接计算平台/操作系统安装要求依赖性如果可用,请链接到用户手册-如果正式出版,请在参考列表问题支持电子邮件075https://github.com/SkAT-VG/SDT/releases/download/075/SDT-075.zipwww.example.comLinux、OS X、MicrosoftWindows无没有一stefanobaldan@iuav.itSoftwareX 6(2017)255原始软件出版物声音设计工具包Stefano Baldana,*,Stefano Delle Monachea,Davide Rocchessoa,ba建筑与艺术系,威尼斯Iuav大学,Dorsoduro 2206,30123,威尼斯,意大利b数学与计算机科学系,巴勒莫大学,Via Archirafi 34,90123,巴勒莫,意大利ar t i cl e i nf o文章历史记录:2016年1月18日收到2016年11月14日收到修订版2017年6月9日接受保留字:声波交互设计声音合成程序音频a b st ra ct声音设计工具包是一个物理上知情的声音合成模型的集合,专门为声波交互设计的实践和研究而该集合基于日常声音事件的分层的、感知上建立的分类,并且通过强调声音作为过程而不是产品的作用的过程音频算法来实现这些模型很容易控制声音事件的物理描述被有意简化,以强调最感知相关的音色特征,并减少计算要求。©2017作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据软件元数据* 通讯作者。电子邮件地址:stefanobaldan@iuav.it(S. Baldan),sdellemonache@iuav.it(S.Delle Monache),roc@iuav.it(D. Rocchesso)。http://dx.doi.org/10.1016/j.softx.2017.06.0031. 动机和意义声音设计工具包(SDT)是一个软件包,提供了一组感知建立的声音模型,用于交互式生成各种基本和复杂的声学现象,如固体物体之间的相互作用,涉及液体或气体的相互作用,以及机器。SDT可以作为一个虚拟的2352-7110/©2017作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx256S. Baldan等人/SoftwareX 6(2017)255福利箱,充满了丰富的调色板的虚拟噪音制造商,随时可供声音设计师素描和原型声波互动行为[1]。该工具包的工具是基于物理学的程序音频模型[2],根据第一原理设计,并展示有物理意义的参数。自然的应用框架可以在多感官交互系统的声音设计中找到游戏),其中SDT的草图和原型特征来自于十多年的声音合成和设计研究[3]。声音模型的最初集合是在欧盟项目Sounding Object(SOb)中开发的,作为Pure Data(一种广泛使用的开源视觉语言)的一组外部(插件)和补丁多年来,声音交互设计的许多探索推动了声音模型和控制层集合的发展,这些模型和控制层将超越音乐隐喻,并响应设计思维和实践的要求[1]。整个软件包被移植到Max环境中,这是一种由Cycling '74开发的商业可视化编程语言在正在进行的欧盟项目的研究活动范围内,SkAT-VG(使用发声和手势绘制音频技术),3SDT软件架构已被深入修订,声音模型的调色板进一步扩展。收集,已经包括影响,摩擦和衍生过程,如起皱,滚动和反弹,已扩大与家庭的空气动力相互作用(连续湍流,爆炸),液体和机器(内燃机,直流电机)。其目的是有一个调色板的发声对象,以涵盖相关的声学现象的混合,因为它们是在声音设计的主要应用。该框架是根据日常听力的生态学方法开发的,并被组织以反映当前对日常声音的感知和分类的知识[5,6]。事实上,基本假设是人类听到的是声音事件而不是声音本身,能够从他们的日常听觉经验中提取关于他们周围环境的有意义的信息[7]。SDT合成器利用物理通知的程序音频算法[2],其从声音产生事件的简化计算描述生成声音,而不是依赖于基于样本的技术和波表操纵。这种简化有助于实现双重目标:1)为普通计算机和嵌入式系统上的实时应用提供负担得起的环境,以及2)卡通化,即通过简化的听觉表示(即,[ 8]《易经》中的“通”字是指“通”字,即“通”字例如,由水中气泡产生的音调和虽然高度简化,但该模型仍然受到物理学的影响,但在更高的抽象层次上:数字振荡器的共振频率和衰减时间取决于模拟气泡的半径,因为它会发生在相应的现实世界现象中。因此,卡通化的气泡模型可以由物理相关参数控制,同时保留和夸大气泡的关键特征1 http://puredata.info网站。2 http://cycling74.com网站。3 http://skat-vg.eu网站。原创音乐[9]这种方法强调声音作为一种行为的作用,作为一个过程,而不是一个产品。当然,SDT并不是唯一一个可用于程序声音合成和设计的软件包。Andy Farnell的杰出作品[2],作为纯数据补丁的集合,与SDT分享了通过设计行为和过程来合成声音的相同哲学。Farnell提出了一个松散的模型组织,完全用纯数据可视化语言表达,因此依赖于托管环境。Pruvost及其同事最近提出了一个程序音频框架,用于固体相互作用的基于物理的声音合成[10]。与SDT类似,该系统利用动作-对象范例进行连续控制和声音合成,但促进感知相关性而不是物理准确性。此外,实时音频生成由游戏引擎驱动。然而,该软件包尚未向公众发布。法国Audiogaming4开发了一个有趣的专有的捆绑包提供了广泛的调色板的环境程序音频插件单元。5他们的声音合成器使用物理声音建模和波表处理的混合方法特别是,该软件包已经过优化,可以与游戏引擎的音频中间件解决方案配合使用最后,还有用于音频信号处理和算法合成的开源库,其中包括基于物理的声音合成模块,最广为人知的是STK [11]。这是面向音乐合成和音频处理软件的开发它绝对缺乏SDT的分类组织,它更适合计算机音乐程序员而不是声音设计师。已经提出了几种策略和技术,使合成声音的高维空间更容易交互式探索,并直接在人机界面中利用虽然已经付出了相当大的努力来暴露对人类有意义的模型参数,但所谓的映射层留在SDT的外围,并且本文中不描述用于将手势映射到声音的策略。2. 软件描述2.1. 软件构架系统架构采用模块化、层次化结构,分为三层:1. 一个以ANSI C编码的核心库,具有很少和广泛支持的依赖关系,为所有实现的声音模型,声音处理器和音频特征提取器提供干净和精简的2. 一组用于Max(版本6或更高版本)和Pure Data的包装器,通过外部提供对大多数SDT框架功能的访问3. 一个Max补丁和帮助文件的集合,为整个框架提供了一个SDT的核心组件是按照面向对象编程的每个组件都由一个不透明的数据结构组成,定义为一个类型并存储对象的内部状态(作为一个类),以及对该数据类型进行操作的函数集合(作为对象方法)。报头4 http://www.audiogaming.net/网站。5 http://lesound.io/网站。S. Baldan等人/SoftwareX 6(2017)255257∼∼∼ ↔↔API的文件包含对类型定义的引用,但不包含对数据结构的字段的引用,并且只包含对那些应该是公共的函数的引用核心组件可以在所有支持的操作系统(Mac OS X 的框架,Windows 的DLL, Linux的共享对象)下编译为共享库核心库的面向对象结构与Max和Pure Data的软件开发工具包的结构密切要在Max或Pure Data对象中嵌入SDT对象,只需在外部对象的数据结构中嵌入SDT数据类型,并在外部对象的方法中调用相应的SDT方法外部也被编译为所有可用平台的动态链接模块这些外部元素被组合成补丁,这些补丁是定义数据流的可视化程序,以从给定的输入中获得所需的输出外部被放置在画布上,并显示为暴露其各自的入口和出口组的框通过虚拟电缆连接入口和出口,外部设备可以交换和处理数据,生成所需的程序[4]。在不同的环境中重用相同的核心对象是考虑到可移植性而做出的选择,并且允许跨不同的平台和操作系统的一致性虽然与Max的集成是最受支持的,但核心库公开的C API可以在各种上下文中单独使用一般来说,软件架构强调声音模型的延展性和模块化,作为设计更复杂机器和机械交互的声音的基础。例 如 , 摩 擦 和 刮 擦 声 音 是 通 过 将 摩 擦 模 型 控 制 器[sdt.scraping]施加到模态谐振器[sdt.modal],与另一个对象[sdt.inertial]摩擦耦合[sdt.friction ]来实现的。此外,还包括复合声音模型的几个示例补丁,例如复印机,鞭打和冰箱嗡嗡声。例如,通过耦合电动机和摩擦力的模型来实现挡风玻璃刮水器声音[13]。SDT源代码可通过专用的Git repos- itory6获得,并在GNU通用公共许可证下授权。编译过程依赖于GNU Make,7,并为每个特定平台提供自定义Makefiles2.2. 软件功能图1显示了声音设计工具包中可用的合成模型的组织。它是一个自下而上的声音模型层次结构,其中第一级提供了具有相应Max外部的基本算法,适用于生成大量简单声音事件。第二个层次突出了时间模式化的事件(具有相应的Max外部),基本纹理和过程,这些可以直接从低级模型的时间控制中导出。根据因果相似性的标准,将可用的声音模型分为四个此外,灰色箭头描述了声音模型与小框中的音色族之间的直接依赖关系音色族的概念被定义为一个或多个模型的特定配置,描述声音的感知相关类别,在相互作用以及时间和音色属性方面明确区分[14]。6 https://github.com/SkAT-VG/SDT.git网站。7 https://www.gnu.org/software/make/网站。基本的固体相互作用。基本的固体相互作用算法共享一个共同的模块化结构“谐振器-相互作用器-谐振器”,表示两个谐振对象之间的相互作用。这是通过连接外部因素来实现的,例如[sdt.inertial][sdt.impact][sdt.modal].尽管对象模型可以以不同的方式运行,并通过不同的算法实现,但它们都必须公开一个或多个拾取点。每个拾取点给出关于位移和速度的信息,并且也可以用于向谐振器施加外力谐振器根据来自交互器和/或外部源的输入力可以随时从一个或多个拾取点读取物体位移和速度可用的谐振器型号有:惯性质量:模拟一个简单的惯性点质量,主要用作模态谐振器的激励器;模态谐振器:一组平行质量弹簧阻尼器机械振荡器的物理模型交互器算法读取恰好两个拾取点的状态,每个拾取点用于每个交互谐振器,并且相应地施加力可用的交互器包括:冲击:通过从总压缩计算接触力来模拟非线性冲击,即两个接触点之间的相对位移[15];摩擦:通过从两个接触点之间的相对速度计算摩擦力来模拟非线性摩擦[16]。上述非线性、连续时间系统的数值模拟需要适当的离散化策略。特别地,如果不适当地处理,非线性项会导致数值和稳定性问题。传统的谐振器离散化与双线性变换,隐式近似方法产生即时相互依赖的谐振器状态和相互作用力。这导致了离散时间方程中的无延迟、不可计算的循环,需要通过牛顿-拉夫森近似来求解当前谐振器使用脉冲不变性方法,这是一种显式离散化策略,不会导致无延迟环路,从而实现更简单、更有效和更灵活的实现[17]。复合固体相互作用。 许多复杂的声音纹理可以建模为随机系列的微观影响[8,9]。不同的时间和振幅分布的影响给不同的和独特的音色签名所产生的纹理。SDT提供了三种复合固体相互作用算法,其输出用作单次碰撞模型的控制信号。模型化的相互作用包括滚动、起皱/破碎和刮擦的声音类别。液体的声音。在水和其他液体中产生声发射的主要原因是气泡中的气体,而不是液体本身。一群独立的球形气泡的声学行为是众所周知的,并且这种气泡通过由随机算法更新的指数衰减正弦振荡器的复音组来模拟[18]。持续的服从。流动的气体实际上是安静的,直到它们遇到一个障碍物,迫使它们偏离,产生湍流。在SDT中,湍流行为通过过滤噪声来模拟模拟了三种不同类型的湍流,每种都有不同的过滤策略:固体表面引起的噪声,空腔引起的啸叫和薄物体引起的卡门涡流····258S. Baldan等人/SoftwareX 6(2017)255∼Fig. 1. 声音模型的SDT分类。自下而上的层次结构表示低级别模型与时间模式化纹理和过程之间的依赖关系,用于四类声音:固体,液体,气体和机器。爆炸爆炸的特征是一个强大的冲击波引起的爆炸风,伴随着突然的正压力峰值,随后是负膨胀尾部。SDT算法用Friedlander波形模拟爆炸,该波形非常接近这种行为。由于现实世界的爆炸从来都不是完美的脉冲,散射和其他类型的湍流由反馈延迟网络混响器呈现[19]。机械. 机器声音的主要音色方面是引擎的存在,根据其占空比产生音调。声音设计工具包提供了以下模型:内燃机:四个周期性波形,代表每个燃烧室的运动部件(进气阀和排气阀,活塞,燃料点火),模拟发动机缸体。然后,这些波形被用作一组互连数字波导的输入信号或反馈增益调节器,这些数字波导对构成排气系统的管道进行建模[20];电动机:正弦分音的总和呈现由转子和连接的齿轮产生的音调。转子分音也被用作滤波噪声的振幅包络,以模拟电机电刷在换向器环上这些分音的频率调制模拟转子平衡和机械应力的缺陷一个梳状滤波器再现chas- sis共振,而连续过滤噪音模仿空气噪音来自旋转部件和冷却风扇。处理和分析。该工具包还包括一套声音处理算法(如音高变换和混响),已被利用来丰富基本声音模型的空间和环境属性。例如,反馈延迟网络混响单元已被用于在摩擦/刮擦声音建模[19]中消除和传播微纹理。几个音频特征提取器(基频估计器、音高清晰度、信号幅度、过零率、频谱的统计矩、onset)也被开发来支持声音合成模型的音频信号控制,例如通过发声。这些特性在第4节描述的miMic开发中得到了应用。3. 说明性实例在其Max版本中,SDT已被组织为包,即具有指定结构的文件夹,旨在捆绑对象,媒体,修补程序和分发资源,通常安装在Max/Packages文件夹中。声音模型的调色板,可作为最大外部,可在SDT概述补丁从最大额外菜单。根据交互原语的类型(即, 振动固体,液体,气体)和图中所示的依赖关系的层次结构。1.一、从同一菜单中,SkAT-VG概述补丁提供了复合声音模型的示例音色家族)。每个外部都提供了一个帮助补丁,一个自我解释的GUI,输入,输出,属性和参数的详细描述,以及一些基本的浏览器。图图2示出了冲击声模型的帮助补丁,即根据在[sdt.impact]交互器中设置的碰撞的特性,一个[sdt.inertial]谐振器和一个[sdt.modal]谐振器之间的非线性冲击。UI控件允许调整:撞击物体的质量、作用力和初速度;被撞击物体共振模式的频率、振幅和衰减时间• 冲击的刚度、耗散能量和接触形状图中的例子。图2示出了金属声音,仅用设置在500 Hz、509Hz和795 Hz的三种共振模式产生。通过将全局衰减因子减小到0.02的值,金属撞击将变为木制敲击。将质量值更改为0.1,同时将全局频率因子更改为0.7,将影响木制撞击对象的感知大小。通过将频率因子值设置为4,产生的冲击会让人想起陶瓷的声音····S. Baldan等人/SoftwareX 6(2017)255259图二、碰撞声音模型的帮助补丁,描述一个惯性和一个模态对象之间的非线性碰撞。通过一些更改(红色值),可以实现各种各样的发声对象和材料。(关于此图例中颜色的参考解释,请读者参考本文的网络版本4. 影响SDT的发展伴随着声音媒介交互和设计的研究该工具包已被用于一组基本的设计练习中,围绕交互中听觉感知的广泛探索,如节奏切片,连续拧动中的机械连接,听觉模式设计中的控制听觉层次结构,以及利用动作-声音循环中的感官矛盾SDT的实验已经促进了由一些声音动作砖组成的词典构成的基本设计语言的系统化关于具身性的现代理论争论的是内在表征的本质,因为先前经历的感知-行动的形式是用声音设计的术语来说,人们可以说,我们的声音意象的极限是我们的经验。事实上,最近关于声音模仿的感知、声音事件的识别和分类的实验突出了物理声音产生的基本机制的主要作用,例如冲击、摩擦、气体湍流、流体和旋转机制[5]。类似地,发声的生理机械产生可以根据湍流、肌弹性振动、冲击和发声来分析如2.2节所述,声音模型的SDT分类及其设计原理发生在十字路口S'I Fosse Suono 8(如果我是声音)是声乐素描的艺术概念证明,展示了十六个自我音频肖像的集合,以(i)它们的原始非语言声乐版本,(ii)SDT翻译版本,(iii)使用所记录的发声的该装置是与音响设计师Andrea Cera合作实现的。这些概念在miMic的开发中得到了进一步的探索,9这是一种由惯性传感器增强的麦克风,用于语音和手势素描[23]。在这个应用程序中,SDT是用来合成声音草图,通过发声和手势。在设计环境中评估SDT的有效性是一项困难和耗时的工作,需要进行设计练习和分析。为此目的组织了几个设计研讨会,设计师行为的分析正在通过讲习班和其他传播活动,在音响设计师和艺术家中推广使用该软件值得注意的是Robin Meier在艺术实现中使用SDT声音模型。10SDT也被广泛用于声音交互设计社区的设计研究和教育目的。新的软件架构使SDT易于在声音建模、数值离散化和信号处理方面进行实验这些研究的轨迹。 声音设计的含义是,实际上,创作声音是利用一个简化的,新兴的,基本的物理基础现象词汇,可以进一步安排和概述潜在的无限变化[21]。在这8 http://www.skatvg.eu/SIFosse/S’i’ Fosse Suono (2015) –9https://vimeo.com/142351022。10 Fossil Records(2015)-http://robinmeier.net/? p=2049。260S. Baldan等人/SoftwareX 6(2017)255核心SDT库公开的API已在Doxygen中进行了广泛的文档记录,以便于在不久的将来将SDT功能集成到不同的应用程序中。5. 结论声音设计工具包是一个开源的,跨平台的软件扩展,作为声音感知,合成和设计的跨学科研究的工作台。它提供了一系列基于声音产生现象的物理描述的声音模型,并以对人类有意义的分类法进行组织由于健全的模型不需要编制程序,而只需通过不断的操作就能发挥作用,今后的工作将着眼于促进从业人员使用特殊和差别待遇致谢Stefano Papetti是SDT遗留代码的主要开发人员。我们感谢欧盟委员会第七个研究框架计划内的未来和新兴技术(FET)计划的财政支持,FET开放资助号为:618067。引用[1] 放大图片作者:J.声波交互设计探索工具包。在:第五届音频会议的会议记录:一 个 关 于 与 声 音 交 互 的 New York , NY , USA : ACM; 2010.p. 1 : 1http://dx.doi.org/10.1145/1859799.1859800网站。[2] 法内尔河 设计声音Cambridge ,MA:MitPress; 2010.[3] 罗凯索湾在欧洲探测物体 新原声带2014;4(2):157-64.[4] CiprianiA,Giri M. 电子音乐和声音设计:理论与实践与最大和MSP。罗马,意大利:Contemponet;2010年。[5] LemaitreG,Dessein A,Susini P,Aura K. 声乐模仿与声音事件的识别。EcolPsychol2011;23(4):267-307.[6] [10]胡瓦·O,勒迈特雷·G,米斯达里斯·N,苏西尼·P,乌尔达皮耶塔·I.环境音范畴 的 词 法 分 析 J Exp Psychol Appl 2012;18 ( 1 ) : 52. 得 双 曲 正 切 值 .doi.org/10.1037/a0026240网站。[7] GaverWW. 我 们 在 世 界 上 听 到 了 什 么 听觉事件感知的 生 态 学 方 法 。 EcolPsychol1993;5(1):1-29.[8] RocchessoD , BresinR , FernströmM. 会 发 声 的 物 体 。 IEEEMultimedia2003;10(2):42-52.[9] RathM , RocchessoD. 从 一 个 滚 动 的 球 连 续 的 声 音 反 馈 。IEEEMultimedia2005;12(2):60-9.[10] 杨文龙,李晓梅.基于感知的交互声音合成的变形固体交互.在:SIGGRAPH Asia 2015技术简报。New York,NY,USA:ACM; 2015. 17:1-4。http://dx.doi.org/10.1145/2820903.2820914网站。[11] Cook PR,Scavone G.综合工具包(STK)。收录于:国际计算机音乐会议论文集; 1999年. p. 164比6[12] Csapo A,Wersenyi G.人机界面中的听觉表征概述ACM Comput Surv 2013;46(2):19:1-23. http://dx.doi.org/10.1145/2543581.[13] [10]杨文辉,李文辉.自动生成声音草图的系统,可交付项目SkAT-VG。威尼斯Iuav大学; 2015 URLhttp://skatvg.iuav.it/? page_id=388.[14] Lemaitre G,Voisin F,Scurto H,Houix O,Susini P,Misdariis N,BevilacquaF.一个大型的声乐和手势模仿,项目SkAT-VG的交付。Ircam Institut deRecherche et Coordination Acoustique/Musique; 2015 URL http://skatvg.iuav.it/?page_id=388.[15] 杨伟杰,王伟杰,王伟杰.非线性碰撞模型的数值方法:与封闭形式修正的比较研究。IEEE TransAudioSpeech Lang Process2011;19(7):2146-58.[16] 杨伟,王伟,王伟. 刚体相互作用与摩擦声产生的交互模拟。 IEEE跨语音音频处理2005;13(5):1073-81.[17] 赞邦湾在交互式虚拟场景中精确合成3D物体碰撞的声音。thesis)。维罗纳,意大利:维罗纳大学;2012年。[18] Doel KVD. 液 体 声 音 的 物 理 模 型 ACM Trans Appl Percept 2005;2 ( 4 ) :534http://dx.doi.org/10.1145/1101530.1101554网站。[19] Rocchesso D,Baldan S,Dell.莫纳奇湾混响仍然在业务:加厚和传播基于物理的声音建模微观纹理。第18届数字音频效果国际会议; 2015年。 p. 12比8[20] [10]杨文,杨文,杨文.用于虚拟和增强环境的物理通知汽车发动机声音合成输入:程序第二届虚拟环境声音交互VR研讨会法国:阿尔勒; 2015年。第1-6页。http://dx.doi.org/10.1109/SIVE.2015.7361287网站。[21] DelleMonache S,Rocchesso D. 包豪斯通过设计进行研究的遗产:基本声音交互设计案例。 InternatJ. Des 2014;8(3):139-54。[22] Rocchesso D,Polotti P,Delle Monache S.设计连续声波干扰。Int J Des2009;3(3):13-25.[23] 放大图片作者:RocchessoD,Mauro DA,Delle Monache S.麦克风:像铅笔一样的麦克风TEI '16会议记录:第十届有形、嵌入和体现互动国际会议。ACM;2016. 第357- 364页。[24] Erkut C,Rocchesso D,Monache SD,Serafin S.合作声音设计案例。在:第九届北欧人机交互会议的会议记录,NordiCHI '16。New York,NY,USA:ACM; 2016. http://dx.doi.org/10.1145/2971485.2996472. 83:1-83:6。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- OptiX传输试题与SDH基础知识
- C++Builder函数详解与应用
- Linux shell (bash) 文件与字符串比较运算符详解
- Adam Gawne-Cain解读英文版WKT格式与常见投影标准
- dos命令详解:基础操作与网络测试必备
- Windows 蓝屏代码解析与处理指南
- PSoC CY8C24533在电动自行车控制器设计中的应用
- PHP整合FCKeditor网页编辑器教程
- Java Swing计算器源码示例:初学者入门教程
- Eclipse平台上的可视化开发:使用VEP与SWT
- 软件工程CASE工具实践指南
- AIX LVM详解:网络存储架构与管理
- 递归算法解析:文件系统、XML与树图
- 使用Struts2与MySQL构建Web登录验证教程
- PHP5 CLI模式:用PHP编写Shell脚本教程
- MyBatis与Spring完美整合:1.0.0-RC3详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功