iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >linux中如何使用Octave对音频文件进行读写操作
  • 406
分享到

linux中如何使用Octave对音频文件进行读写操作

2023-06-16 15:06:19 406人浏览 泡泡鱼
摘要

这篇文章主要介绍了linux中如何使用Octave对音频文件进行读写操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Octave 是一个 Linux 上类似于 Matlab

这篇文章主要介绍了linux中如何使用Octave对音频文件进行读写操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Octave 是一个 Linux 上类似于 Matlab  的软件,它拥有数量众多的函数和命令,支持声音采集、记录、回放以及音频信号的数字化处理,用于娱乐应用、研究、医学以及其它科学领域。在本教程中,我们会在  ubuntu 上使用 Octave 的 4.0.0 版本读取音频文件,然后通过生成信号并且播放来模仿在各种情况下对音频信号的使用。

环境准备

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

sudo apt-add-repository ppa:octave/stable sudo apt-get update sudo apt-get install octave

步骤1:打开 Octave

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

linux中如何使用Octave对音频文件进行读写操作

步骤2:音频信息

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

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

linux中如何使用Octave对音频文件进行读写操作

步骤3:读取音频文件

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

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

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

linux中如何使用Octave对音频文件进行读写操作

 linux中如何使用Octave对音频文件进行读写操作

linux中如何使用Octave对音频文件进行读写操作

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

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

linux中如何使用Octave对音频文件进行读写操作

播放这个 '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);

感谢你能够认真阅读完这篇文章,希望小编分享的“linux中如何使用Octave对音频文件进行读写操作”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网操作系统频道,更多相关知识等着你来学习!

--结束END--

本文标题: linux中如何使用Octave对音频文件进行读写操作

本文链接: https://www.lsjlt.com/news/284187.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • linux中如何使用Octave对音频文件进行读写操作
    这篇文章主要介绍了linux中如何使用Octave对音频文件进行读写操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Octave 是一个 Linux 上类似于 Matlab...
    99+
    2023-06-16
  • Linux下如何使用Octave对文件进行读写操作
    小编给大家分享一下Linux下如何使用Octave对文件进行读写操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Octave 是一个 Linux 上类似于 Ma...
    99+
    2023-06-27
  • Python中怎么对docx文件进行读写操作
    这期内容当中小编将会给大家带来有关Python中怎么对docx文件进行读写操作,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。演示文本为了方便理解,我们以 python-docx.docx 文件为例,演示如...
    99+
    2023-06-16
  • nodejs中怎么对json文件进行读写操作
    nodejs中怎么对json文件进行读写操作,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。nodejs 读json文件var&...
    99+
    2022-10-19
  • C#中怎么对ini文件进行读写操作
    本篇文章为大家展示了C#中怎么对ini文件进行读写操作,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C#读写ini文件其实并不是普通的文本文件.它有自己的结构.由若干段落(SECTION)组成,在每...
    99+
    2023-06-18
  • 如何在Python中使用Numpy进行文件读写操作?
    当我们在使用Python进行科学计算时,Numpy是一个非常重要的工具。它提供了大量的数学函数和数组操作方法,可以让我们更高效地进行数据分析和处理。在本文中,我们将介绍如何使用Numpy进行文件读写操作,并提供一些示例代码。 文件读写操作...
    99+
    2023-06-01
    numpy django 文件
  • 如何在Python中进行文件读写操作
    如何在Python中进行文件读写操作文件是我们存储和处理数据的重要工具之一。在Python中,通过文件读写操作可以实现数据的输入和输出,方便我们对数据进行分析、处理和存储。本文将介绍如何在Python中进行文件读写操作,并提供具体的代码示例...
    99+
    2023-10-27
    文件读取:file_read 文件写入:file_write 文件操作:file_operation
  • 如何进行C++ Builder中的文件读写操作
    这期内容当中小编将会给大家带来有关如何进行C++ Builder中的文件读写操作,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在C++中进行编程时,代码文件的操作是一个经常遇到的问题,在C++ Build...
    99+
    2023-06-17
  • C#中如何使用文件IO和流操作进行数据读写
    C#中如何使用文件IO和流操作进行数据读写,需要具体代码示例在C#编程中,文件IO和流操作是常用的技术,用于读取和写入文件的数据。无论是处理文本文件、二进制文件,还是读取网络流数据,我们都可以通过文件IO和流操作来实现。文件IO和流操作提供...
    99+
    2023-10-22
    C#文件IO操作 C#流操作 数据读写技术
  • 如何在 Python 中进行文件读写操作?详细解析!
    Python 是一门强大的编程语言,它不仅可以用于数据分析、机器学习等领域,还可以用来处理文件读写操作。在本文中,我们将详细介绍如何在 Python 中进行文件读写操作,并且提供一些有用的代码示例。 文件的读取操作 在 Python 中,我...
    99+
    2023-06-28
    关键字 编程算法 文件
  • 如何在R语言中对文本文件进行读写
    如何在R语言中对文本文件进行读写?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。具体如下:read.table(file,sep,hesder)#file 文件路径#s...
    99+
    2023-06-08
  • python中如何对文件进行操作
    这篇文章主要介绍python中如何对文件进行操作,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一.文件基本操作1.1 文件打开和关闭open(‘文件名称','打开模式')模式:r(只读,指针再...
    99+
    2023-06-15
  • 如何在Python中对文件进行操作
    目录前言1.open()函数2.读文件3.写文件4.通过 with 来读写文件前言 在Python中,我们可以通过一些内置函数来操作电脑上的文件,并对文件进行读写,这种读写操作是很常...
    99+
    2022-11-11
  • C++ qt如何使用jsoncpp json进行读写操作
    这篇文章将为大家详细讲解有关C++ qt如何使用jsoncpp json进行读写操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。JsonCpp的使用项目需要c++下使用...
    99+
    2023-06-21
  • C#中如何使用文件IO和流操作进行数据读写及解决方法
    C#中如何使用文件IO和流操作进行数据读写及解决方法在开发过程中,我们常常需要进行文件的读写操作。C#提供了丰富的文件IO和流操作,使得数据的读写变得更加灵活和高效。本文将探讨C#中如何使用文件IO和流操作进行数据读写,并提供具体的代码示例...
    99+
    2023-10-22
    文件IO:C#中的文件IO操作
  • 聊聊如何利用纯C语言对EXCEL进行读写操作
    如何利用纯C语言对EXCEL进行读写操作?下面本篇文章给大家介绍一下通过纯C语言进行EXCEL读写操作的方法,希望对大家有所帮助!在之前需要使用C语言读取Excel文件内容的功能,查阅了很多资料,大部分是通过ODBC或者过OLE/COM对E...
    99+
    2022-07-07
    Excel C语言
  • 如何使用C++进行文件操作?
    如何使用C++进行文件操作文件操作是编程中非常重要的一部分。在C++中,我们可以利用文件操作来读取和写入文件,以对文件进行处理和管理。本文将介绍如何使用C++进行文件操作的基本知识和常用函数。C++提供了一个fstream库,它包含了各种用...
    99+
    2023-11-02
    C++ 文件操作 使用。
  • 如何在 ASP 网站中使用 http shell 对象进行文件操作?
    ASP 是一种常用的 Web 开发技术,它可以帮助我们快速地开发出功能强大的网站。在 ASP 中,我们经常需要对文件进行操作,例如读取或写入文件。为了方便地进行文件操作,ASP 提供了 Http Shell 对象,它可以让我们在 ASP ...
    99+
    2023-06-02
    http shell 对象
  • Linux 中如何使用 Java 对象进行重定向操作?
    在Linux中,Java对象的重定向操作是非常常见的。重定向操作是将输出从一个文件描述符或一个命令重定向到另一个文件描述符或命令的过程。在Java中,我们可以使用System类的setOut方法来重定向输出流。 以下是如何在Linux中使用...
    99+
    2023-10-10
    重定向 linux 对象
  • Spring Boot 中如何使用 Python 进行文件操作?
    随着数据处理和分析的需求不断增加,Python 成为了一种非常流行的编程语言。但是,很多开发者仍然喜欢使用 Java 或 Spring Boot 进行开发。那么,如何在 Spring Boot 中使用 Python 进行文件操作呢?本文将...
    99+
    2023-09-04
    文件 关键字 spring
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作