- 浏览: 700558 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
shappy1978:
自己踩死自己了,我还是有远见的嘛
该死的微软,该死的IE -
calosteward:
I know Zxing and shopsavvy, bot ...
[trans]COMPARISON OF MOBILE BARCODE SCANNERS -
qq690388648:
唉……四年前的Bug,现在还没改,Apache也有不足的地方啊 ...
POI解析Word表格备忘 -
shappy1978:
Now I get to say that every met ...
Jailbreak Detection on iOS -
hebeixiaolei:
你好,我想问一下,用poi如何往word文档里插入超链接呀!
POI读取Word文档总结
http://www.cocoachina.com/bbs/read.php?tid-42355-page-e-fpage-45.html
最近要搞一个合成一个钢琴的application, 虽然在google code 找到了 一个叫mobilesynth的例子,但是总是和心里想的那种钢琴声音相差距离,请问个位大大,有没有一些合成模拟声音的例子呢?
有经验的大大可以讨论下吗
之前在论坛上看过一个类似的程序,名字叫FingerPiano,你可以试一下里面的音频文件。
http://www.cocoachina.com/bbs/read.php?tid-15712-keyword-FingerPiano.html
//*************************************************** too professional too expensive
要做合成声音的话有个音频引擎支持iPhone OS,叫FMOD, 功能强大音频/MIDI都可以. 免费使用,但如果你的app单价卖5美金以上它就要收费。
但iOS 4.2貌似会增加Core MIDI,不知道包不包括合成器,要是官方SDK原生支持就最好了。
FMOD简介
fmod Ex 声音系统是为游戏开发者准备的革命性音频引擎。目前最新版本是FMOD Ex,算作是FMOD 4吧。你也可以在FMOD的官网上下载到FMOD 3。如今采用了FMOD作为音频引擎的游戏包括Far Cry(孤岛惊魂)、Tom Clancy's Ghost Recon(幽灵行动),甚至著名的World Of Warcraft(魔兽争霸)。(发现这些游戏名翻译的真好⋯⋯)
Part I 支持平台
五花八门的音效Feature当然不用说了,令我眼前一亮的还有它对多个平台的支持。在FMod Ex附带的文档中,列举了10个平台:
Microsoft Windows series.
Microsoft Windows series 64bit. (AMD64)
Linux
Linux 64bit. (AMD64)
Macintosh. OS8 / 9 / X and OSX for x86.
Sony PlayStation 2
Microsoft Xbox
Nintendo Gamecube
Sony Playstation Portable.
Microsoft Xbox 360.
基本上能想到的这里都齐了。引用FMod的原话——“No other game audio library can claim to match anywhere near that many platforms!(没有一个游戏音频库敢于宣布自己能够完美支持这么多平台啦!)”不过有一点我觉得好笑,在这之后FMod的文档是这么写的:
fmod Ex also has support for the following platforms coming soon.
PlayStation 3.
Nintendo Revolution.
但是官网上直接就把他们列为第11、12个平台了⋯⋯算了咱也不要太咬文嚼字。
Part II 使用许可(License)
只要不是用于商业用途就可以免费使用FMod/*其实这是个很聪明的做法*/,但如果是商业用途则有不同的付费方式。就如FMod-DmWiki上的评论所说——“FMod has a more complicated licensing structure than other API's due to its professional nature.(介于FMod的专业特性,FMod比其他API应用拥有更为复杂的许可证制度)”。
假如你的最终应用程序售价低于每份5美元,那么需要支付“$100 per title, per platform”,也就是说,无论你的程序卖出多少份,只需要针对每个平台支付100美金。然而随着开发者的专业化程度提高,所需支付的FMod版权费也跟着上升。别忘了,100美金只是针对5美元的小Case,一般的大型游戏需要为使用Fmod支付1000到4000美金“per platform, per title”的费用。实际上,假如你决定使用FMod Ex作为你的大型应用的音频引擎,无论平台是什么,都要支付4000美金。
另外有一点你要知道,无论购买了什么样的License,你的应用中总有一个地方要注明FMod的版权信息。
Part III 特性(Feature List)
fmod Ex提供的特性列表很长,大部分我直接翻译过来了。
简化了API
以前我们可能会针对采样、流或者CD音频使用不同的API,但是现在这一切都被一个“Sound”函数所取代。任何形式的声音,例如mod、midi、wav等都可以被这个API平滑地调用。
虚拟频道(Virtual Channels)
虚拟频道允许在有限的软硬件条件下使用数以千计的声道。声音可以根据3D距离和彼此优先级进行切换。
插件设计(Plug-in System)
新的音频格式、输出模式和编码器都将以DLL文件提供给用户下载和添加到系统中。其中也包括了对VST(Virtual Studio Technology)效果器和Winamp DSP(Digital Singnal Processor)插件的支持。//就是说,它的扩展性很好
数字CD回放(Digital CD Playback)
数字CDDA回放时允许使用DSP特效(dsp effects)、频谱分析(spectrum analysis)和音轨抓取(ripping)等,就好像回放一个PCM(Pulse Code Modulation:脉码调制录音,模拟信号——脉冲——数字信号1、0)文件一样。
同时支持多个声卡
初始化多个“System”对象就行了。
支持多路输出(Multi-speaker output)
如今Fmod已经完全成为一个多声道混音器(a full multichannel mixer)。2D声音可以用5.1甚至7.1的形式播放。声音可以交换彼此分配到的声道,举个例子,一个3D立体声的左右声道可以相互交换、混音或是全都通过左扬声器播放出来。Fmod可以实现这一特性是由于它支持pan matrices(低音矩阵?泛矩阵?)。任何输入声音频道都可以被重定向到任意输出扬声器,并且支持紧接着的这个百分比层,因此可以说没有一个绝对的扬声器分配方案。这句话我不是很理解,原文是:The way this is available is FMOD supports pan matrices. Any input sound channel can be redirected to any output speaker, and on top of this percentages/fractional levels are supported, so there are no absolute speaker assignments.
为了满足高端音效设备,FMod借助ASIO(Audio Stream Input Output,音频设备零延迟)功能,目前已支持多达16个输出通道的完全多通话线路输出(multichannel output)。
支持多路输入(Multi-speaker input)
例如Fmod支持多波段wav(multichannel wavs)、ogg和FSB文件的5.1音乐播放。
支持低延迟录音
FMOD Ex 如今支持相当低延迟的录音,通过一种新型录音引擎来进行这些处理和输出。通过ASIO实现的“录音->DSP->回放”延迟可以降低到1-3ms。这对于录音的实时处理和回放都有莫大好处。
增强网络特性
网络音频流。包括自定义网络流编码,它能够无缝支持Shout and Broadcast、Icecast(网络流式广播服务器/网络电台服务器)和HTTP流。
下载能力。Fmod中支持网络文件的组件有另一个功能就是支持下载。甚至可以从互联网上装载静音采样(static samples)。
语音交谈。在以后的版本中,将为网络实时语音会话提供服务器到客户端语音聊天支持。
支持文件类型
FMOD目前支持很多音频文件格式。
DLS - (DownLoadable Sound format可作为midi回放,也可以单独使用。)
M3U - (playlist, 播放列表格式,记录了许多到其他音频文件的链接。使用FMOD EX的标记API获取文件。)
ASX - (同上)
WAX - (同上)
PLS - (同上)
AIFF - (Audio Interchange File Format)
ASF - (Advanced Streaming format,同时也支持视频流中的音频轨迹。)
FLAC - (Lossless compression codec,无损压缩编解码器)
FSB - (用FSBank和FMOD设计工具生成的FMOD采样库:FMOD Sample Bank)
IT - (Impulse tracker sequenced mod format. FMOD Ex also fully supports resonant filters in .IT files, and the per channel or per instrument echo effect send, that can be enabled in ModPlug Tracker. This is cross platform effect support and does not require DirectX like other libraries do.)
MOD - (Protracker / Fasttracker and others sequenced mod format)
MP2 - (MPEG I/II Layer 2)
MP3 - (MPEG I/II Layer 3, including VBR support)
OGG - (Ogg Vorbis format)
RAW - (Raw file format support. 用户可以指定频道数量、bitdepth和所用格式等。)
S3M - (ScreamTracker 3 sequenced mod format)
WAV - (Microsoft Wave files, inlcluding compressed wavs. PCM, MP3 and IMA ADPCM compressed wav files are supported across all platforms in FMOD Ex, and other compression formats are supported via windows codecs on that platform).
WMA - (Windows Media Audio format)
XM - (FastTracker 2 sequenced format)
VAG - (PS2 / PSP only)
XMA - (Xbox 360 only)
因为Fmod支持新文件格式的插件,所以可以认为Fmod能够支持的文件格式是无限的。注意,FMOD Ex不支持ACC,因为ACC所需的唯一引用文件是GPL,但FMOD Ex中没有GPL保护代码。为了支持这种格式,用户需要自行添加插件。
声音写输出
所有的输出都可以写入wav文件。如果使用编码插件,它还能够实时地编码为mp3或者其他文件格式。
采样精确寻址
多数系统寻址时采用密集块分界线,例如mp3解码时每次采样块大小为1152。而FMOD Ex支持精确的采样寻址和译码,比如说你可以一下子准确地找到采样偏移1000000的位置进行解码,也可以精确地对音频的1个采样(?,原文是:1 sample of audio)进行解码。
增强的流引擎
一种新型的低延迟流解码器能够在运行时将解码负担分散开去,而不是doing it in chunks (cpu spikes!)/*看不懂⋯⋯*/。这意味着游戏将拥有更平滑的帧频。
增强的采样格式支持
包括对24位、32位整型和32位IEEE浮点采样支持,还有对超立体声的支持(more than stereo support)。Wav、ogg或者用户自创的超立体声采样可以获得相应支持。8个声道以上的声音都可以自然地播放。
增强的混音引擎
增强了输出声道支持
多数系统仅支持混音输出到单声道(mono)或是立体声(stereo)。FMOD Ex允许混音输出到任意数量的声道。例如,6声道输出(带低音)可以用5.1或是杜比数码(Dolby digital,多通道音频格式)方式进行3D音效实时输出。立体声和5.1都被优化为特殊快速通道格式(special case fast-path)。
基于混音引擎的完全DSP网络数据流
新的混音程序分隔开重采样、混音和特效库(resample/mix/effects stages)。它是个基于多输入/输出DSP引擎的异常复杂节点。它支持子混音、*****音和更高级的发声者定位和选择操作。
高质量混音
All mixing is floating point with full 32bit interpolation.
它所支持的重采样模式包括:
o No interpolation(无样条)
o Linear interpolation(线性样条)
o Cubic interpolation(三次样条)
o 5 point spline interpolation!(5点样条插值)
All resampling is done with true 32bit precision using a 32bit fractional, it is not downscaled or compromised in any way.
音量倾斜(Volume ramping)
音量倾斜作为一个标准存在系统中。立体音量倾斜支持在无“click”杂音的情况下自然调节。(Cubic volume ramps may be supported for crisper volume changes without clicks.)
增强的3D音效
支持每个声音的对数和线性rolloff模型。
几何API. 音频实现中一个革命性的进步是FMOD Ex对用户几何引擎的支持。因此几何场景可以加入到FMOD中,而FMOD可以自动计算用户在世界中行动时遇到的障碍和闭塞(obstraction/occlusion)。
支持多个监听,包括为了分隔场景引入的多个3D监听。
真实音速(Real speed of sound)将调节远方的声音传到你耳中的延迟时间。它可以根据用户喜好进行开关。(即将实现)
为软件混合的3D声音提供ITD(Inter-aural Time Delay,耳间时间延迟)(例如左声道和右声道的声音将各自延迟以制造空间感)
立体声采样或者多声道采样可以在3D中定位,它们的组成声道也可以在3D空间中定位,并由用户自行配置。
自定义回放延迟
可以使用“setDelay”函数设定声音将在启动后多长时间才开始播放(samples or ms)。可以在初始化和启动声道的时候调用它。
MIDI支持
FMOD Ex拥有它自己的软件midi回放功能,因此midi回放是跨平台工作的。
Patch sets / DLS banks have to currently be provided with the song, or FMOD Ex will take advantage of any found in the operating system.
Stitching / sentencing (无缝接合?)
Seamless stitching, for sounds allows one sound to end then another starts immediately afterwards without gaps. This is great for commentary or interactive music.
基于特效的软件(Built in software based special effects.)
FMOD Ex提供了一整套特效,并且可以用于任何FMOD所支持的操作系统。下列是默认提供的一些特效,更多的效果可以通过插件来添加。
Oscillators(振荡器)- sine, square, saw up, saw down, triangle and noise wave oscillators.
2 Low-pass(低通滤波器) with resonance filters.
High-pass with resonance.
2 Echo filters.
Flange.
Distortion.(扭曲)
Normalizer. (标准化)
Parametric EQ.
Realtime pitch shifter (changes pitch not playback speed)
Chorus. (合唱)
Reverb. (混响)
频道组和子混音(Channel groups and submixing)
频道组可以创建多声道组并把声道分配到这些组。因此各种命令可以传递给整个组,例如音量控制、弱音(mute)、频率、暂停等。你可以使用频道组来控制主音量,多频道组可以用于多主音量控制,因此对于游戏中GUI相关音量的控制,或是采用了特效的音乐都很有帮助。这一特性使得允许音频层次控制拥有良好的扩展性(flexibility)。
子混音可以针对某个频道组进行特效处理,而不影响其他频道。这个优势可以大大降低CPU的使用率,或是在一些声音使用了DSP效果的时候,隔离出其他声音来。(keeping some sounds dry)
增强的回叫信号(callback)支持
为回放设计了“latency adjusted”和“real-time”标记。这样你就可以在混音或是audible的时候调用回放。这两者是不同的,取决于混音缓冲区大小决定的时间长度。(This means you can get a callback at mix time, or audible time)
sample accurate user timer callbacks (ms or sample based) for global or per channel
Part IV 使用FMOD的优缺点
优点:
免费: 如果你不打算用你的游戏或程序来赚钱,那么FMod是免费的。
卓越的支持: FMod布告版上的资源很多,提出的问题也能很快得到解答。
专业开发工具: FMod作为一个专业产品被使用了好多年,因此它的库文件是稳定和成熟的。
文件支持: FMod提供了对所有通用音频文件的良好支持。这意味着你可以方便地添加声音文件到你的应用中,而不需要考虑手工解码的问题。
缺点:
许可证费用: 随着FMod的使用程度增加,所需支付的许可证费用也飞速增长。在使用FMod以前要仔细考虑好你需要为使用这个产品支付多少许可证费用。
只有官方版本: FMod不是开源软件,这意味着对一个开发者来说,你只能等待下一个SDK的发行来修正现有产品的Bug。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lara_dong/archive/2005/12/15/552713.aspx
发表评论
-
Xib Enhanced by XCode8
2016-12-05 17:02 718I have a solution: Open stor ... -
Script to Build Universal Lib
2016-11-30 11:06 712https://www.raywenderlich.com/ ... -
Fortify Scan
2016-11-21 18:53 1293sourceanalyzer -b buidl_id -Xm ... -
Inside Code Signing
2016-11-17 14:44 599Mac OS Version 10.0 Cheeta 1 ... -
Cross Compile Script of Tesseract
2016-11-14 18:51 900The script on internet is both ... -
Homebrew saying Xcode is outdated
2016-10-28 18:44 556http://stackoverflow.com/ques ... -
iOS开发--适配iOS 10以及Xcode 8
2016-10-17 15:35 590http://www.cocoachina.com/ios/ ... -
install app to simulator
2016-09-26 16:44 1009前言 刚刚接触iOS的时候,我就一直很好奇,模拟器上面能不 ... -
issues in XCode 8
2016-09-26 16:37 641http://www.cocoachina.com/bbs/ ... -
XCode Plugin
2016-07-15 18:43 704* cmd+shift+9 //manage plugi ... -
Speedup Coding in XCode
2016-07-15 17:52 518www.cocoachina.com/ios/201607 ... -
Wifi API in iOS
2016-07-15 10:31 455查漏补缺集是自己曾经做过相关的功能,但是重做相关功能或者 ... -
About Hockey App
2016-07-04 11:38 495* free acc can only has 2 app, ... -
Appium Device Test
2016-06-29 17:18 385* set udid, device name won't ... -
[Trans] Integration between OC and JS
2016-06-28 18:47 493iOS 开发中,我们时不时的需要加载一些 Web ... -
Jenkins iOS Automation Comment
2016-06-24 16:47 575* SDK null will by default bui ... -
Salabash Test Comment
2016-06-08 19:29 410* Device test need to enable U ... -
Calabash
2016-06-02 18:24 704//calabash-cucumber for ios ... -
BDD Setup
2016-05-20 15:04 532—brew /usr/bin/ruby -e " ... -
Setup Git
2016-04-01 19:23 562http://www.tomdalling.com/blo ...
相关推荐
本文将详细探讨Java中的声音处理方法,包括读取、播放、保存和操作音频文件。 首先,Java提供了`javax.sound.sampled`包,这个包包含了处理声音所需的类和接口。声音处理主要涉及以下核心组件: 1. **AudioSystem*...
《基于MATLAB的声音处理程序与GUI交互界面》 在信息技术高速发展的今天,数字信号处理(Digital Signal Processing,简称DSP)已成为音频处理领域的核心技术之一。MATLAB作为一种强大的数值计算和数据分析工具,...
在MATLAB中进行声音处理是一项常见的任务,尤其适用于科研、工程和教学领域。这个名为"MATLAB.zip"的压缩包包含了一个与MATLAB声音处理相关的项目,主要关注声音信号的采集和初步分析。以下是关于这些主题的详细知识...
声音频率频谱分析是信号处理领域的一个重要主题,特别是在音频工程和数字信号处理中。MATLAB作为一种强大的数学计算和可视化工具,被广泛用于声音信号的分析和处理。本资料包旨在帮助用户理解声音信号的基本特性,...
本文将深入探讨使用MATLAB进行声音处理的相关知识点。 首先,"readcnx.m"文件很可能是用于读取声音文件的MATLAB脚本。在MATLAB中,读取声音文件通常涉及到函数如`audioread`,它可以读取各种音频格式,如WAV、AIFF...
在MATLAB中构建声音处理系统是一项综合性的任务,涉及到音频信号的输入与输出、信号处理以及用户界面设计等多个方面。本系统"matlab声音处理系统"是一个基于MATLAB的图形用户界面(GUI)程序,其核心功能包括录音、...
在Delphi编程环境中,将文本转换为声音并进行播放是一个涉及多方面技术的过程。这个过程主要涉及以下几个关键知识点: 1. **TTS (Text-to-Speech) 技术**:文本转语音(TTS)是一种计算机技术,它允许程序将文字...
在本文中,我们将深入探讨如何使用MATLAB进行声音处理,特别是数字信号处理的实践应用。MATLAB是一款强大的数学计算和数据分析软件,对于音频信号的处理提供了丰富的工具箱和函数。 首先,我们需要理解声音信号的...
matlab实现声音转换 Matlab 是一种常用的数学和数据分析工具,在音频信号处理领域中有着...通过 Matlab 实现音频信号处理,我们可以实现音频信号的采集、处理和播放,并且可以实现声音的转换,例如男声和女声的转换。
声音处理源码是计算机科学领域中的一个重要组成部分,特别是在多媒体应用、游戏开发以及音频软件设计中。这个主题涵盖了一系列的技术和算法,用于捕获、编辑、分析、合成和播放声音信号。在本文中,我们将深入探讨...
在Python编程语言中,处理声音是一项常见的任务,尤其在...通过`test.py`中的示例代码,你可以学习如何利用这些工具来实现自己的声音处理需求。在实践中不断探索,你会发现Python在声音处理方面有着广阔的应用前景。
接下来,我们将详细分析并总结这段代码中的关键知识点以及与声音处理相关的技术背景。 ### 关键知识点 #### 1. MATLAB GUI(图形用户界面) MATLAB 提供了创建 GUI 的工具——GUIDE(Graphical User Interface ...
《MFC图文声音转换系统详解》 MFC(Microsoft Foundation Classes)是微软提供的一套C++类库,用于简化Windows应用程序开发。它基于Windows API,提供了面向对象的封装,使得开发者能够更高效地构建用户界面和应用...
而今天我们要探讨的主题是“小程序录音转声音波形图”,这是一个涉及到音频处理、可视化和小程序开发的综合性技术话题。 首先,我们需要了解小程序录音的基本原理。小程序提供了一套API,允许用户在小程序内部进行...
总的来说,这个课程设计涵盖了声音信号处理的基本流程和技术,包括声音的录制、频谱分析、滤波器设计和噪声处理,这些都是声音处理领域中的核心概念。通过实践,学生不仅能理解和掌握理论知识,还能提高实际操作技能...
声音信号采集是声音处理的第一步,通常通过麦克风等设备捕捉环境或设备产生的声波,并将其转换为电信号。在MATLAB中,可以使用`audiorecorder`函数来实时采集声音信号,设置采样率、位深度和通道数等参数,得到数字...
在Java编程环境中,声音处理是一项常见的任务,尤其在多媒体应用、游戏开发或者语音识别系统中。本教程将深入探讨如何使用Java实现声音的获取、存储和播放。我们将主要关注Java Sound API,这是一个强大的库,提供了...
【标题】"wave_preprocessor_demo.zip_DEMO_声音处理" 提供的是一个声音处理软件的演示版本,旨在帮助初学者了解和学习声音处理的基本概念和技术。这个压缩包包含了一个名为 "wave.exe" 的可执行文件,它很可能是一...
在“LabVIEW声音处理”这个主题中,我们将深入探讨如何利用LabVIEW来处理声音信号,包括声音的读取、处理以及保存文件等关键步骤。 一、声音数据的读取 在LabVIEW中,声音数据的读取通常通过“波形图表”或“波形...