环境准备html
首先是安装 octave,在 Ubuntu 终端运行下面的命令添加 Octave PPA,而后安装 Octave 。linux
sudo apt-add-repository ppa:octave/stable sudo apt-get update sudo apt-get install octave
步骤1:打开 Octave函数
在这一步中咱们单击软件图标打开 Octave,能够经过单击下拉式按钮选择工做路径。测试
步骤2:音频信息.net
使用audioinfo命令查看要处理的音频文件的相关信息。scala
>> info = audioinfo ('testing.ogg')
步骤3:读取音频文件code
在本教程中我会使用 ogg 文件来读取这种文件的属性,好比采样、音频类型(stereo 和 mono)、信道数量等。必须声明的一点是教程中使用的全部的命令都是在 Octave 终端窗口中执行的。首先,咱们必需要把这个 ogg 文件赋给一个变量。注意:文件必须在 Octave 的工做路径中。htm
>> file='yourfile.ogg' >> [M, fs] = audioread(file)
这里的 M 是一个一列或两列的矩阵,取决于信道的数量,fs 是采样率。教程
下面的操做均可以读取音频文件:get
>> [y, fs] = audioread (filename, samples) >> [y, fs] = audioread (filename, datatype) >> [y, fs] = audioread (filename, samples, datatype)
samples 指定开始帧和结束帧,datatype 指定返回的数据类型。能够为全部变量设置值:
>> samples = [1, fs) >> [y, fs] = audioread (filename, samples)
数据类型:
>> [y,Fs] = audioread(filename,'native')
若是值是“native”,那么它的数据类型就依数据在音频文件中的存储状况而定。
步骤4:音频文件的写操做
新建一个 ogg 文件:
咱们会从一个余弦值建立一个 ogg 文件。采样率是每秒 44100 次,这个文件最少进行 10 秒的采样。余弦信号的频率是 440 Hz。
>> filename='cosine.ogg'; >> fs=44100; >> t=0:1/fs:10; >> w=2*pi*440*t; >> signal=cos(w); >> audiowrite(filename, signal, fs);
这就在工做路径中建立了一个 ‘cosine.ogg’ 文件,这个文件中包含余弦信号。
播放这个 ‘cosine.ogg’ 文件就会产生一个 440Hz 的 音调,这个音调正好是乐理中的 ‘A’ 调。若是须要查看保存在文件中的值就必须使用 ‘audioread’ 函数读取文件。在后续的教程中,咱们会看到怎样在两个信道中读取一个音频文件。
步骤5:播放音频文件
Octave 有一个默认的音频播放器,能够用这个音频播放器进行测试。使用下面的函数:
>> [y,fs]=audioread('yourfile.ogg'); >> player=audioplayer(y, fs, 8) scalar structure containing the fields: BitsPerSample = 8 CurrentSample = 0 DeviceID = -1 NumberOfChannels = 1 Running = off SampleRate = 44100 TotalSamples = 236473 Tag = Type = audioplayer UserData = [](0x0) >> play(player);
在这个教程的续篇,咱们会进入音频处理的高级特性部分,可能会接触到一些科学和商业应用中的实例。