音频处理软件哪个好

音频处理软件哪个好,第1张

常用十款音频处理软件推荐

Adobe Audition 2.0 软件

Adobe Audition 的前身为 Cool Edit。2003 年 Adobe 公司收购了 Syntrillium 公司的全部产品都,用于充实其阵容强大的视频处理软件系列。Adobe 在图形图像界的影响可谓尽人皆知,作起音频来自然也不会含糊。而且与其旗下的系列产品相互整合,往来互补,天衣无缝。不愧大家风范。Adobe Audition 功能强大,控制灵活,使用它可以录制、混合、编辑和控制数字音频文件。也可轻松创建音乐、制作广播短片、修复录制缺陷。通过与 Adobe 视频应用程序的智能集成,还可将音频和视频内容结合在一起。使用 Adobe Audition 2.0 软件,您将获得实时的专业级效果。

Adobe Audition是一个非常出色的数字音乐编辑器和MP3制作软件。不少人把它形容为音频“绘画”程序。你可以用声音来“绘”制:音调、歌曲的一部分、声音、弦乐、颤音、噪音或是调整静音。而且它还提供有多种特效为你的作品增色:放大、降低噪音、压缩、扩展、回声、失真、延迟等。你可以同时处理多个文件,轻松地在几个文件中进行剪切、粘贴、合并、重叠声音 *** 作。使用它可以生成的声音有:噪音、低音、静音、电话信号等。该软件还包含有CD播放器。其他功能包括:支持可选的插件;崩溃恢复;支持多文件;自动静音检测和删除;自动节拍查找;录制等。另外,它还可以在AIF、AU、MP3、Raw PCM、SAM、VOC、VOX、WAV等文件格式之间进行转换,并且能够保存为RealAudio格式。

Adobe Audition *** 作界面

GoldWave 5.08 版

GoldWave是一个集声音编辑,播放,录制,和转换的音频工具,体积小巧,功能却不弱。可打开的音频文件相当多,包括WAV, OGG, VOC, IFF, AIF, AFC, AU, SND, MP3,MAT, DWD, SMP, VOX, SDS, AVI, MOV等音频文件格式,你也可以从 CD 或 VCD 或 DVD 或其它视频文件中提取声音。内含丰富的音频处理特效,从一般特效如多普勒、回声、混响、降噪到高级的公式计算(利用公式在理论上可以产生任何你想要的声音),效果多多。5.08 版在处理速度上有了很大提高,而且能够支持以动态压缩保存 MP3 文件。

一个相当棒的数码录音及编辑软件,除了附有许多的效果处理功能外,它还能将编辑好的文件存成.WAV、.AU、.SND、.RAW、.AFC.....等格式,而且若你的CD ROM是SCSI形式,它可以不经由声卡直接抽取CD ROM中的音乐来录制编辑。

别看GoldWave 个头小,可是他的功夫高,给MP3去人声更是一绝,效果比那些专业软件也毫不逊色。

GoldWave *** 作界面

NGWave Audio Editor

NGWave Audio Editor是一个功能强大的音频编辑工具,采用下一代的音频处理技术,使用它,你可以在一个可视化的真实环境中精确快速进行声音的录制,编辑,处理,保存等 *** 作,并可以在所有的 *** 作结束后采用我们革命性创新的音频数据保存格式,将其完整高品质的保存下来!

单击http://www.newhua.com/soft/3631.htm 下载NGWave Audio Editor软件。

NGWave Audio Editor *** 作界面

All Editor

All Editor 是一个专业的多功能的声音编辑和录音工具,有20多种的音效使得你的音乐的效果更加出众!

All Editor 是一款超级强大的录音工具 ,不仅如此,All Editor还是一个专业的音频编辑软件,它提供了多达 20 余种音频效果供你修饰你的音乐,比如淡入淡出、静音的插入与消除、哇音、混响 、高低通滤波、颤音、震音、回声、倒转、反向、失真、合唱、延 迟、音量标准化处理等等。软件还自带了一个多重剪贴板,可用来进行更复杂的复制、粘贴、修剪、混合 *** 作。在 All Editor 中你可以使用两种方式进行录音,边录边存或者是录音完成后再行保存,并且无论是已录制的内容还是导入的音频文件都可以全部或选择性地导出为 wav 、mp3、wma、ogg、vqf 文件格式(如果是保存为mp3 格式,还可以设置其 ID3 标签)。

All Editor *** 作界面

Total Recorder Editor

是High Criteria公司出品的一款优秀的录音软件,其功能强大,支持的音源极为丰富。不仅支持硬件音源,如:麦克风、电话、CD-ROM和Walkman等,还支持软件音源,比如:Winamp、RealPlayer、Media player等,而且它还支持网络音源,如:在线音乐、网络电台和Flash等。除此之外还可以巧妙地利用Total Recorder完成一些不可能完成的任务。总之,“全能录音员”这一称号对Total Recorder来说一点都不过分。音频玩家最关心的还是录音质量,Total Recorder 的工作原理是利用一个虚拟的“声卡”去截取其他程序输出的声音,然后再传输到物理声卡上,整个过程完全是数码录音,因此从理论上来说不会出现任何的失真。 。

Total Recorder Editor *** 作界面

AD Stream Recorder

AD Stream Recorder是一款流媒体录音工具,它可以对实况流媒体进行录音或者可视化分析。与同系列产品 AD Sound Recorder 可谓相辅相成之作。MP3 编码时使用的是 LAME 3.93 的 DLL 版本。它能录制internet主流媒体、Windows媒体播放器播放的电影和音乐。录音和监视过程中可实时显示信号,帮你录制高质量的音频。用此软件进行录音,发现其资源占用极小,界面简洁使用顺手。

AD Stream Recorder *** 作界面

Audio Recorder Pro

Audio Recorder Pro 是一款实用,快速和容易使用的录音工具。它可录制音乐,语音和任何其他声音并保存成MP3或WAV格式,支持从麦克风,Internet,外部输入设备(如CD,LP,音乐磁带,电话等)或者声卡进行录制。允许预设置录音质量以帮助快速设定和管理录音参数;允许定时录制,内置增强的录音引擎,允许在录音前预设定录音设备。

Audio Recorder Pro 可以满足一些喜欢录制音乐的网友,也许你也有对着电脑自d自唱的爱好,不如使用Audio Recorder Pro把它录制下来,当一回网络歌手!Audio Recorder Pro非常的实用。

单击http://www.newhua.com/soft/32715.htm 下载Audio Recorder Pro软件。

Audio Recorder Pro *** 作界面

WaveCN

*** 作方便功能强大的中文录音软件,让我们这些业余票友也享受一下录音的乐趣呢?当然有了,WaveCN就这么是一款国产的免费录音编辑处理软件,相对于其他录音软件,它的优势非常明显,方便易用的中文 *** 作界面,无限次免费使用,软件还提供了包括录制音频,支持多种音频文件格式的打开保存,增加丰富的音效果等功能,充分让你领略录制音乐的简单与轻松。

单击 http://www.newhua.com/soft/1255.htm 下载WaveCN 软件。

WaveCN *** 作界面

Audacity

辑录音器(Audacity)是一个免费的跨平台(包括Linux、Windows、Mac OS X)音频编辑器。你可以使用它来录音,播放,输入输出WAB、AIFF、Ogg Vorbis和MP3文件,并支持大部份常用的工具,如剪裁、贴上、混音、升/降音以及变音特效等功能。

你可以剪切,复制和粘贴(带有无约束的取消),混合音轨,和给录音添加效果。它还有一个内置的封装编辑器,一个用户可自定义的声谱模版和实现音频分析功能的频率分析窗口。

Audacity 让你轻松编辑音乐文件无负担,提供了理想的音乐文件功能自带的声音效果包括回声,更改节拍,减少噪音,而内建的剪辑、复制、混音与特效功能,更可满足一般的编辑需求。它还支持VST和LADSPA 插件效果。

单击http://www.newhua.com/soft/46359.htm 下载Audacity软件。

Audacity *** 作界面

Wavosaur

是一个免费的音频编辑工具.可以编辑音频剪辑,声音设计、控制、记录等等. 绿色且免费,解压后文件不到500K;有的功能极其专业,一般免费软件很少做到这样的;对 VST 插件的良好支持以及可以更换软件背景。

单击http://www.newhua.com/soft/54398.htm 下载Wavosaur软件。

Wavosaur *** 作界面

总的来说,以上十款音频处理软件,虽然其中的很多软件可能都是用户不太熟知的。但其 *** 作都非常的简单,录制出的音乐很有专业的效果,感觉非常的棒。

另外:如果你的麦克总是录入从耳机中传出的伴奏音乐的声音,建议你用普通的大话筒,只要加一个大转小的接头即可直接在电脑上使用,你会发现录出的效果要干净的多。

音频处理软件有很多种,Audacity包含录音等功能,内置60种界面语言。Adobe Audition是一个专业音频编辑和混合软件。Ocenaudio有实时的效果预览,支持段落多重选择。LMMS可以合成声音或音乐剪辑。WavePad可以创建和编辑语音,音乐和其他录音。

【拓展资料】一、音频(Audio)是一个具有多个意义的专业术语名词,通常指人耳可以听到的声音频率在20HZ~20kHz之间的声波,包括噪音等。音频也指存储声音内容的文件,或是在某些方面能作为滤波的振动。音频只是储存在计算机里的声音,说话声、歌声、乐器录制下来,通过数字音乐软件处理或是制作成CD,所有的声音没有改变,因为CD本来就是音频文件的一种类型。如果有计算机再加上相应的音频卡——声卡,可以把所有的声音录制下来,声音的声学特性(如音的高低等)都可以用计算机硬盘文件的方式储存下来。因此,也可以把储存下来的音频文件用一定的音频程序播放,还原以前录下的声音。

二、什么是采样频率?就是采用一段音频,做为样本,因为wav使用的是数码信号,它是用一堆数字来描述原来的模拟信号,所以它要对原来的模拟信号进行分析,我们知道所有的声音都有其波形,数码信号就是在原有的模拟信号波形上每隔一段时间进行一次“取点”,赋予每一个点以一个数值,这就是“采样”,然后把所有的“点”连起来就可以描述模拟信号了,很明显,在一定时间内取的点越多,描述出来的波形就越精确,这个尺度我们就称为“采样频率”。我们最常用的采样频率是44.1kHz,它的意思是每秒取样44100次。之所以使用这个数值是因为经过了反复实验,人们发现这个采样频率最合适,低于这个值就会有较明显的损失,而高于这个值人的耳朵已经很难分辨,而且增大了数字音频所占用的空间。一般为了达到“万分精确”,我们还会使用48kHz甚至96kHz的采样频率,实际上,96kHz采样频率和44.1kHz采样频率的区别绝对不会象44.1kHz和22kHz那样区别如此之大,我们所使用的CD的采样标准就是44.1kHz,目前44.1kHz还是一个最通行的标准,有些人认为96kHz将是未来录音界的趋势。采样频率提高应该是一件好事,但我们真的能听出96kHz采样频率制作的音乐与44.1kHz采样频率制作的音乐的区别吗?不过随着高端音响设备的大众化,我们也许就会在Party时听到更高质量的音乐了。

三、比特率是大家常听说的一个名词,数码录音一般使用16比特、20比特或24比特制作音乐。什么是“比特”?我们知道声音有轻有响,影响声音响度的物理要素是振幅,作为数码录音,必须也要能精确表示乐曲的轻响,所以一定要对波形的振幅有一个精确的描述。“比特(bit)”就是这样一个单位,16比特就是指把波形的振幅划为2^16即65536个等级,根据模拟信号的轻响把它划分到某个等级中去,就可以用数字来表示了。和采样频率一样,比特率越高,越能细致地反映乐曲的轻响变化。20比特就可以产生1048576个等级,表现交响乐这类动态十分大的音乐已经没有什么问题了。刚才提到了一个名词“动态”,它其实指的是一首乐曲最响和最轻的对比能达到多少,我们也常说“动态范围”,单位是dB,而动态范围和我们录音时采用的比特率是紧密结合在一起的,如果我们使用了一个很低的比特率,那么就只有很少的等级可以用来描述音响的强弱,当然就不能听到大幅度的强弱对比了。动态范围和比特率的关系是;比特率每增加1比特,动态范围就增加6dB。所以假如我们使用1比特录音,那么我们的动态范围就只有6dB,这样的音乐是不可能听的。16比特时,动态范围是96dB。这可以满足一般的需求了。20比特时,动态范围是120dB,对比再强烈的交响乐都可以应付自如了,表现音乐的强弱是绰绰有余了。发烧级的录音师还使用24比特,但是和采样精度一样,它不会比20比特有很明显的变化,理论上24比特可以做到144 dB的动态范围,但实际上是很难达到的,因为任何设备都不可避免会产生噪音,至少在现阶段24比特很难达到其预期效果。

SoundTouch音频处理库的使用异常简单,经过简单的编译之后,设置编译环境,以vc为例

,直接在include包含SoundTouch目录下的include路径,接着在lib添加SoundTouch目录下

的lib路径,然后在代码的头文件中添加头文件以及引用的库。如下:根据_DEBUG这个宏,

我们可以进行一些编译预处理,假如是以DEBUG编译就采用debug库,其他的话就采用

release库。他们的区别就是文件名后面是否多了一个“D”。

#include <SoundTouch.h>

#ifdef _DEBUG

#pragma comment(lib, "SoundTouchD.lib")

#else

#pragma comment(lib, "SoundTouch.lib")

#endif

当然你也可以直接在vc的项目工程中直接添加,某些人比较喜欢如此。

最重要的一点还要声明一个命名空间,至于原因,和SoundTouch这个库的声明定义有关,

以下在分析的时候会提到。

using namespace soundtouch

然后就可以直接在自己的代码中定义一个类变量SoundTouch m_SoundTouch

SoundTouch 类的声明包含在SoundTouch.h和SoundTouch.cpp之中,由FIFOProcessor类直

接派生,而FIFOProcessor类又直接从基类FIFOSamplePipe派生。同时声明SoundTouch这个

类包含在命名空间 soundtouch,这就是为什么我们使用这个库的时候需要声明命名空间的

主要原因。感觉有点多余。且仅仅定义了一些常量,诸如版本号,版本ID号等等,这两个

父类都包含在FIFOSamplePipe.h和FIFOSamplePipe.cpp文件中。

不管什么库,如果要使用的话,一般的流程都是先定义然后进行一些必要的初始化,

SoundTouch(以下简称ST)也不例外。ST的初始化也和他的编译一样异常的简单,具体可以

参考他的例子SoundStretch来实现,也可以参考源代码中有关SoundTouch这个类的声明,

现在只关心我们会用到的那部分,可以看到在private中定义了另外两个类指针

RateTransposer*,TDStretch*;

RateTransposer从FIFOProcessor派生,而FIFOProcessor又直接从基类FIFOSamplePipe派

生,TDStretch和RateTransposer类似。由此可见,单单从两个类的名字上看:拉长?传输

速率?不难想象出这个库对声音信号的处理可能就是“拉长”,然后“变速”。难道就是传说

中的不变调变速?事实正是如此。这还不是我们现在关心的话题。

……

private:

/// Rate transposer class instance

class RateTransposer *pRateTransposer

/// Time-stretch class instance

class TDStretch *pTDStretch

/// Virtual pitch parameter. Effective rate &tempo are calculated from

these parameters.

float virtualRate

/// Virtual pitch parameter. Effective rate &tempo are calculated from

these parameters.

float virtualTempo

/// Virtual pitch parameter. Effective rate &tempo are calculated from

these parameters.

float virtualPitch

/// Flag: Has sample rate been set?

BOOL bSrateSet

/// Calculates effective rate &tempo valuescfrom 'virtualRate',

'virtualTempo' and

/// 'virtualPitch' parameters.

void calcEffectiveRateAndTempo()

protected :

/// Number of channels

uint channels

/// Effective 'rate' value calculated from 'virtualRate', 'virtualTempo'

and 'virtualPitch'

float rate

/// Effective 'tempo' value calculated from 'virtualRate', 'virtualTempo'

and 'virtualPitch'

float tempo

/// Sets new rate control value. Normal rate = 1.0, smaller values

/// represent slower rate, larger faster rates.

void setRate(float newRate)

/// Sets new tempo control value. Normal tempo = 1.0, smaller values

/// represent slower tempo, larger faster tempo.

void setTempo(float newTempo)

/// Sets new rate control value as a difference in percents compared

/// to the original rate (-50 .. +100 %)

void setRateChange(float newRate)

/// Sets new tempo control value as a difference in percents compared

/// to the original tempo (-50 .. +100 %)

void setTempoChange(float newTempo)

/// Sets new pitch control value. Original pitch = 1.0, smaller values

/// represent lower pitches, larger values higher pitch.

void setPitch(float newPitch)

/// Sets pitch change in octaves compared to the original pitch

/// (-1.00 .. +1.00)

void setPitchOctaves(float newPitch)

/// Sets pitch change in semi-tones compared to the original pitch

/// (-12 .. +12)

void setPitchSemiTones(int newPitch)

void setPitchSemiTones(float newPitch)

/// Sets the number of channels, 1 = mono, 2 = stereo

void setChannels(uint numChannels)

/// Sets sample rate.

void setSampleRate(uint srate)

/// Changes a setting controlling the processing system behaviour. See the

/// 'SETTING_...' defines for available setting ID's.

/// /return 'TRUE' if the setting was succesfully changed

BOOL setSetting(int settingId, ///<Setting ID number. see SETTING_...

defines.

int value///<New setting value.

)

……

参考ST提供的例子SoundStretch,初始化SoundTouch这个类:

m_SoundTouch.setSampleRate(sampleRate)//设置声音的采样频率

m_SoundTouch.setChannels(channels)//设置声音的声道

m_SoundTouch.setTempoChange(tempoDelta)//这个就是传说中的变速不变调

m_SoundTouch.setPitchSemiTones(pitchDelta)//设置声音的pitch

m_SoundTouch.setRateChange(rateDelta)//设置声音的速率

// quick是一个bool变量,USE_QUICKSEEK具体有什么用我暂时也不太清楚。

m_SoundTouch.setSetting(SETTING_USE_QUICKSEEK, quick)

// noAntiAlias是一个bool变量,USE_AA_FILTER具体有什么用我暂时也不太清楚。

m_SoundTouch.setSetting(SETTING_USE_AA_FILTER, !(noAntiAlias))

// speech也是一个bool变量,初步估计可能是没有音乐只有人声的时候,需要设置一下。

if (speech)

{

// use settings for speech processing

m_SoundTouch.setSetting(SETTING_SEQUENCE_MS, 40)

m_SoundTouch.setSetting(SETTING_SEEKWINDOW_MS, 15)

m_SoundTouch.setSetting(SETTING_OVERLAP_MS, 8)

fprintf(stderr, "Tune processing parameters for speech processing./n")

}

通过那么简单的几个函数调用,现在我们就可以感受一下ST的强大。通过SoundTouch类提

供的函数调用方法:

putSamples(sampleBuffer,nSamples)

第一个参数为一个指向PCM编码的一段音频数据的指针,第二个参数就是要处理多少个

sample也可以理解为多少帧。

需要注意的是,一般数据流都是字节流,也就是说,sample的大小和声道、位的声音参数

有关,假如sampleBuffer指针指向一个 长度为64bytes的一个PCM数据缓冲区,16位2声道

,那么实际上这里只存放了(16*2)/8=4bytes,64/4=1616个sample,这是我们需要注意的

地方。m_SoundTouch.putSamples(sampleBuffer, nSamples)数据是传进去了,可是从哪

里接收处理过的音频数据呢?这个时候我们就要用SoundTouch提供的receiveSamples函数

调用方法。

uint receiveSamples(SAMPLETYPE *outBuffer, ///<Buffer where to copy output

samples.

uint maxSamples///<How many samples to receive at max.

)他也是两个参数,第一个为接收数据的参数,第二个最大可以接收多少sample。

通过这段注释,大概明白receiveSamples这个函数不会在putSamples之后马上返回数据,

另外一方面有可能返回比maxSamples更多的数据,因此需要放在一个do…while(…)的循环里

面把他们都榨干。

// Read ready samples from SoundTouch processor &write them output file.

// NOTES:

// - 'receiveSamples' doesn't necessarily return any samples at all

// during some rounds!

// - On the other hand, during some round 'receiveSamples' may have more

// ready samples than would fit into 'sampleBuffer', and for this reason

// the 'receiveSamples' call is iterated for as many times as it

// outputs samples.

do

{

nSamples = m_SoundTouch.receiveSamples(sampleBuffer, buffSizeSamples)

//把sampleBuffer写入一个文件,或者填充进声卡的缓冲区,播放声音。

} while (nSamples != 0)

今天就先写到这里,比较劳累。

转载


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8109600.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存