GNU/Linux >> Znalost Linux >  >> Ubuntu

Vědecké zpracování zvuku, část I – Jak číst a zapisovat zvukové soubory s Octave 4.0.0 na Ubuntu

Octave, ekvivalentní software k Matlabu v Linuxu, má řadu funkcí a příkazů, které umožňují získávání, záznam, přehrávání a digitální zpracování zvukových signálů pro zábavní aplikace, výzkum, lékařství nebo jakékoli jiné vědecké oblasti. V tomto tutoriálu použijeme Octave V4.0.0 v Ubuntu a začneme číst ze zvukových souborů prostřednictvím zápisu a přehrávání signálů, abychom emulovali zvuky používané v široké škále činností.

Poznámka že hlavním cílem tohoto tutoriálu není nainstalovat nebo naučit se používat již zavedený software pro zpracování zvuku, ale spíše pochopit, jak funguje z hlediska designu a zvukového inženýrství.

Předpoklady

Prvním krokem je instalace octave. Spuštěním následujících příkazů v terminálu přidejte Octave PPA do Ubuntu a nainstalujte software.

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

Krok 1:Otevření oktávy.

V tomto kroku otevřeme software kliknutím na jeho ikonu, kliknutím na rozevírací nabídku Prohlížeč souborů můžeme změnit pracovní adresář.

Krok 2:Informace o zvuku


Příkaz "audioinfo" nám ukazuje relevantní informace o zvukovém souboru, který budeme zpracovávat.

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


Krok 3:Čtení zvukového souboru


V tomto tutoriálu budu číst a používat soubory ogg, pro které je možné číst charakteristiky, jako je vzorkování , typ zvuku (stereo nebo mono), počet kanálů atd. Měl bych zmínit, že pro účely tohoto návodu všechny použité příkazy budou provedeny v okně terminálu Octave. Nejprve musíme uložit soubor ogg do proměnné. Poznámka:je důležité, že soubor musí být v pracovní cestě Octave

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


Kde M je matice jednoho nebo dvou sloupců, v závislosti na počtu kanálů a fs je vzorkovací frekvence.







Existují některé možnosti, které můžeme použít pro čtení zvukových souborů, jako např. :

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


Kde vzorky určují počáteční a koncový rámec a datový typ určuje typ dat, který se má vrátit. Hodnoty můžeme přiřadit libovolné proměnné:

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


A o datovém typu:

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


Pokud je hodnota 'native', pak typ dat závisí na tom, jak jsou data uložena ve zvukovém souboru.

Krok 4:Zápis zvukového souboru

Vytvoření souboru ogg:

Za tímto účelem vygenerujeme soubor ogg s hodnotami z kosinusu. Vzorkovací frekvence, kterou použiji, je 44100 vzorků za sekundu a soubor bude trvat 10 sekund. Frekvence kosinusového signálu je 440 Hz.

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

Tím se v našem pracovním prostoru vytvoří soubor s názvem 'cosine.ogg', který obsahuje kosinusový signál.



Pokud přehrajeme soubor 'cosine.ogg', bude to reprodukovat 440Hz tón, který je ekvivalentní hudebnímu tónu „A“. Pokud chceme vidět hodnoty uložené v souboru, musíme soubor 'číst' pomocí funkce 'audioread'. V dalším tutoriálu uvidíme, jak zapsat zvukový soubor se dvěma kanály.

Krok 5:Přehrání zvukového souboru


Octave má ve výchozím nastavení audio přehrávač, který můžeme použít pro testovací účely. Jako příklad použijte následující funkce:

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


V dalších částech tutoriálu uvidíme pokročilé funkce zpracování zvuku a možné případy použití pro vědecké a komerční použití.


Ubuntu
  1. Jak otevřít soubory ISO na Ubuntu Linux

  2. Jak nainstalovat soubor deb v Ubuntu (s příklady)

  3. Odstraňte a zlikvidujte soubory správně v Ubuntu pomocí Shred

  1. Jak monitorovat soubory protokolu serveru pomocí Logwatch na Debianu a Ubuntu

  2. Vědecké zpracování zvuku, část III – Jak aplikovat pokročilé efekty matematického zpracování na zvukové soubory s Octave 4.0 na Ubuntu

  3. Vědecké zpracování zvuku, část II – Jak vytvořit základní matematické zpracování signálu ve zvukových souborech pomocí Ubuntu s Octave 4.0

  1. Jak nainstalovat a používat Encryptpad na Ubuntu 16.04

  2. Jak nainstalovat a používat archivátor souborů 7zip na Ubuntu Linux

  3. Jak zacházet se soubory pomocí Scilab na Ubuntu 15.04