溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Ubuntu下如何使用Octave

發(fā)布時間:2022-01-24 15:08:57 來源:億速云 閱讀:234 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“Ubuntu下如何使用Octave”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

Octave是一種編程語言,旨在解決線性和非線性的數(shù)值計算問題。Octave為GNU項目下的開源軟件,早期版本為命令行交互方式,4.0.0版本發(fā)布基于QT編寫的GUI交互界。

Ubuntu下如何使用Octave

環(huán)境準備

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

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

步驟1:打開 Octave

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

Ubuntu下如何使用Octave

步驟2:音頻信息

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

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

Ubuntu下如何使用Octave

步驟3:讀取音頻文件

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

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

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

Ubuntu下如何使用Octave
Ubuntu下如何使用Octave
Ubuntu下如何使用Octave

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

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

>> [y, fs] = audioread (filename, datatype)

>> [y, fs] = audioread (filename, samples, datatype)

samples 指定開始幀和結(jié)束幀,datatype 指定返回的數(shù)據(jù)類型??梢詾樗凶兞吭O(shè)置值:

>> samples = [1, fs)

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

數(shù)據(jù)類型:

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

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

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

新建一個 ogg 文件:

我們會從一個余弦值創(chuàng)建一個 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);

這就在工作路徑中創(chuàng)建了一個 ‘cosine.ogg’ 文件,這個文件中包含余弦信號。

Ubuntu下如何使用Octave

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

步驟5:播放音頻文件

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

>> [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);

“Ubuntu下如何使用Octave”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI