这篇文章将为大家详细讲解有关Linux中如何使用Octave,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Octave是一款用于数值计算和绘图的开源软件。和Matlab一样,Octave 尤其精于矩阵运算:求解联立方程组、计算矩阵特征值和特征向量等等。

环境准备

首先是安装 octave,在 Ubuntu 终端运行下面的命令添加 Octave PPA,然后安装 Octave 。

sudoapt-add-repositoryppa:octave/stablesudoapt-getupdatesudoapt-getinstalloctave步骤1:打开 Octave

在这一步中我们单击软件图标打开 Octave,可以通过单击下拉式按钮选择工作路径。

使用Octave音频处理(一):对文件进行读写操作使用Octave音频处理(一):对文件进行读写操作
步骤2:音频信息

使用audioinfo命令查看要处理的音频文件的相关信息。

>>info=audioinfo('testing.ogg')

使用Octave音频处理(一):对文件进行读写操作使用Octave音频处理(一):对文件进行读写操作
步骤3:读取音频文件

在本教程中我会使用 ogg 文件来读取这种文件的属性,比如采样、音频类型(stereo 和 mono)、信道数量等。必须声明的一点是教程中使用的所有的命令都是在 Octave 终端窗口中执行的。首先,我们必须要把这个 ogg 文件赋给一个变量。注意:文件必须在 Octave 的工作路径中。

>>file='yourfile.ogg'>>[M,fs]=audioread(file)

这里的 M 是一个一列或两列的矩阵,取决于信道的数量,fs 是采样率。

下面的操作都可以读取音频文件:

>>[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’ 文件,这个文件中包含余弦信号。

使用Octave音频处理(一):对文件进行读写操作使用Octave音频处理(一):对文件进行读写操作

播放这个 ‘cosine.ogg’ 文件就会产生一个 440Hz 的 音调,这个音调正好是乐理中的 ‘A’ 调。如果需要查看保存在文件中的值就必须使用 ‘audioread’ 函数读取文件。在后续的教程中,我们会看到怎样在两个信道中读取一个音频文件。

步骤5:播放音频文件

Octave 有一个默认的音频播放器,可以用这个音频播放器进行测试。使用下面的函数:

>>[y,fs]=audioread('yourfile.ogg');>>player=audioplayer(y,fs,8)scalarstructurecontainingthefields:BitsPerSample=8CurrentSample=0DeviceID=-1NumberOfChannels=1Running=offSampleRate=44100TotalSamples=236473Tag=Type=audioplayerUserData=[](0x0)>>play(player);

关于“Linux中如何使用Octave”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。