Octave 是一个 Linux 上类似于 Matlab 的软件,它拥有数量众多的函数和命令,支持声音采集、记录、回放以及音频信号的数字化处理,用于娱乐应用、研究、医学以及其它科学领域。在
创新互联是一家专业提供同德企业网站建设,专注与成都做网站、网站设计、H5页面制作、小程序制作等业务。10年已为同德众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
首先是安装 octave,在 Ubuntu 终端运行下面的命令添加 Octave PPA,然后安装 Octave 。
sudo apt-add-repository ppa:octave/stable
sudo apt-get update
sudo apt-get install octave
在这一步中我们单击软件图标打开 Octave,可以通过单击下拉式按钮选择工作路径。
使用audioinfo命令查看要处理的音频文件的相关信息。
>> info = audioinfo ('testing.ogg')
在本教程中我会使用 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”,那么它的数据类型就依数据在音频文件中的存储情况而定。
新建一个 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’ 函数读取文件。在后续的教程中,我们会看到怎样在两个信道中读取一个音频文件。
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);
在这个教程的续篇,我们会进入音频处理的高级特性部分,可能会接触到一些科学和商业应用中的实例。
网页题目:Linux下使用Octave对文件进行读写操作
网页路径:http://www.mswzjz.com/qtweb/news30/168930.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联