成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

科學音頻處理(一):怎樣使用Octave對音頻文件進行讀寫操作

系統 Linux 系統運維
Octave 是一個 Linux 上類似于 Matlab 的軟件,它擁有數量眾多的函數和命令,支持聲音采集、記錄、回放以及音頻信號的數字化處理,用于娛樂應用、研究、醫學以及其它科學領域。本教程中關注的不是安裝和學習使用安裝好的音頻處理軟件,而是從設計和音頻工程的角度理解它是如何工作的。

[[171366]]

Octave 是一個 Linux 上類似于 Matlab 的軟件,它擁有數量眾多的函數和命令,支持聲音采集、記錄、回放以及音頻信號的數字化處理,用于娛樂應用、研究、醫學以及其它科學領域。在本教程中,我們會在 Ubuntu 上使用 Octave 的 4.0.0 版本讀取音頻文件,然后通過生成信號并且播放來模仿在各種情況下對音頻信號的使用。

本教程中關注的不是安裝和學習使用安裝好的音頻處理軟件,而是從設計和音頻工程的角度理解它是如何工作的。

環境準備

首先是安裝 octave,在 Ubuntu 終端運行下面的命令添加 Octave PPA,然后安裝Octave。

  1. sudo apt-add-repository ppa:octave/stable 
  2. sudo apt-get update 
  3. sudo apt-get install octave 

步驟1:打開 Octave

在這一步中我們單擊軟件圖標打開 Octave,可以通過單擊下拉式按鈕選擇工作路徑。

 步驟2:音頻信息

使用audioinfo命令查看要處理的音頻文件的相關信息。 

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

 步驟3:讀取音頻文件

在本教程中我會使用 ogg 文件來讀取這種文件的屬性,比如采樣、音頻類型(stereo 和 mono)、信道數量等。必須聲明的一點是教程中使用的所有的命令都是在 Octave 終端窗口中執行的。首先,我們必須要把這個 ogg 文件賦給一個變量。注意:文件必須在 Octave 的工作路徑中。 

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

這里的 M 是一個一列或兩列的矩陣,取決于信道的數量,fs 是采樣率。

 

 

 下面的操作都可以讀取音頻文件:

  1. >> [y, fs] = audioread (filename, samples) 
  2. >> [y, fs] = audioread (filename, datatype) 
  3. >> [y, fs] = audioread (filename, samples, datatype) 

samples 指定開始幀和結束幀,datatype 指定返回的數據類型。可以為所有變量設置值:

  1. >> samples = [1, fs) 
  2. >> [y, fs] = audioread (filename, samples) 

數據類型:

  1. >> [y,Fs] = audioread(filename,'native'

如果值是“native”,那么它的數據類型就依數據在音頻文件中的存儲情況而定。

步驟4:音頻文件的寫操作

新建一個 ogg 文件:

我們會從一個余弦值創建一個 ogg 文件。采樣率是每秒 44100 次,這個文件最少進行 10 秒的采樣。余弦信號的頻率是 440 Hz。

  1. >> filename='cosine.ogg'
  2. >> fs=44100; 
  3. >> t=0:1/fs:10; 
  4. >> w=2*pi*440*t; 
  5. >> signal=cos(w); 
  6. >> audiowrite(filename, signal, fs); 

這就在工作路徑中創建了一個 'cosine.ogg' 文件,這個文件中包含余弦信號。

 

播放這個 'cosine.ogg' 文件就會產生一個 440Hz 的 音調,這個音調正好是樂理中的 'A' 調。如果需要查看保存在文件中的值就必須使用 'audioread' 函數讀取文件。在后續的教程中,我們會看到怎樣在兩個信道中讀取一個音頻文件。

步驟5:播放音頻文件

Octave 有一個默認的音頻播放器,可以用這個音頻播放器進行測試。使用下面的函數:

  1. >> [y,fs]=audioread('yourfile.ogg'); 
  2. >> player=audioplayer(y, fs, 8) 
  3.   scalar structure containing the fields: 
  4.     BitsPerSample =  8 
  5.     CurrentSample = 0 
  6.     DeviceID = -1 
  7.     NumberOfChannels =  1 
  8.     Running = off 
  9.     SampleRate =  44100 
  10.     TotalSamples =  236473 
  11.     Tag = 
  12.     Type = audioplayer 
  13.     UserData = [](0x0) 
  14. >> play(player); 

在這個教程的續篇,我們會進入音頻處理的高級特性部分,可能會接觸到一些科學和商業應用中的實例。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2016-10-31 19:41:50

LinuxOctave音頻文件

2016-10-31 20:21:05

LinuxOctave音頻文件

2023-01-05 16:51:04

機器學習人工智能

2022-11-13 19:43:37

Linux

2018-12-17 11:00:11

LinuxSoundConver音頻文件格式

2022-08-12 08:38:52

FFmpegLinux命令

2022-04-12 11:07:11

Hi3861鴻蒙操作系統

2023-12-13 09:22:40

python

2009-10-21 10:15:29

VB.NET復制

2023-11-28 14:22:54

Python音頻

2024-11-20 10:00:00

Python文件讀寫

2020-05-15 08:06:37

JavaScriptobject URL對象

2011-08-02 16:58:15

iPhone AVAudioPla 音頻播放

2024-04-23 08:24:05

音頻Android播放

2021-03-10 18:26:49

Tensorflow語音識別音頻處理

2011-12-22 09:54:40

PhoneGap APMedia

2021-03-29 10:56:51

人工智能深度學習

2023-09-07 15:05:57

人工智能音頻助手

2021-03-19 17:59:30

深度學習音頻程序

2015-10-28 13:29:21

音頻源碼audio
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲午夜小视频 | 精品久久久久国产 | caoporn国产精品免费公开 | 在线亚洲免费视频 | 亚欧洲精品在线视频免费观看 | 亚洲国产一区视频 | 在线超碰 | 国产视频福利 | 亚洲视频在线观看 | 黄色毛片免费看 | 操久久 | 嫩草懂你的影院入口 | 国产一区二区三区高清 | 亚洲精品成人av | 国产一区久久精品 | 久久综合九色综合欧美狠狠 | 久久久久黑人 | 99九色| 亚洲第一视频网站 | 国产精品自产拍在线观看蜜 | 欧美色专区 | 国产精品久久久久久久久久久久久 | 久久一二区 | 日日操操 | 操人网站 | 99久久99热这里只有精品 | 成人久草 | 欧美精品一区在线 | 天堂久久网 | 成人免费视频在线观看 | 亚洲免费一 | 日韩一区二区在线播放 | 日本在线免费观看 | 欧美高清一级片 | 欧美精品一区二区三区一线天视频 | 亚洲国产成人久久久 | 婷婷久久五月 | 日韩精品一区二区三区在线播放 | 欧美精品一区二区三区一线天视频 | 天天躁天天操 | 亚洲精品在线播放 |