GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wissenschaftliche Audioverarbeitung, Teil I - Lesen und Schreiben von Audiodateien mit Octave 4.0.0 auf Ubuntu

Octave, die gleichwertige Software zu Matlab in Linux, verfügt über eine Reihe von Funktionen und Befehlen, die die Erfassung, Aufzeichnung, Wiedergabe und digitale Verarbeitung von Audiosignalen für Unterhaltungsanwendungen, Forschung, Medizin oder andere wissenschaftliche Bereiche ermöglichen. In diesem Tutorial verwenden wir Octave V4.0.0 in Ubuntu und beginnen mit dem Lesen von Audiodateien, indem wir Signale schreiben und wiedergeben, um Klänge zu emulieren, die in einer Vielzahl von Aktivitäten verwendet werden.

Hinweis dass das Hauptaugenmerk dieses Tutorials nicht darauf liegt, eine bereits etablierte Audioverarbeitungssoftware zu installieren oder zu verwenden, sondern vielmehr zu verstehen, wie sie aus Sicht des Designs und der Audiotechnik funktioniert.

Voraussetzungen

Der erste Schritt besteht darin, Oktave zu installieren. Führen Sie die folgenden Befehle in einem Terminal aus, um das Octave PPA in Ubuntu hinzuzufügen und die Software zu installieren.

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

Schritt 1:Oktave öffnen.

In diesem Schritt öffnen wir die Software, indem wir auf ihr Symbol klicken, wir können das Arbeitsverzeichnis ändern, indem wir auf das Dropdown-Menü Dateibrowser klicken.

Schritt 2:Audioinfo


Der Befehl "audioinfo" zeigt uns relevante Informationen über die Audiodatei, die wir verarbeiten werden.

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


Schritt 3:Lesen einer Audiodatei


In diesem Tutorial werde ich OGG-Dateien lesen und verwenden, für die es möglich ist, Eigenschaften wie Sampling, Audiotyp (Stereo oder Mono), Anzahl der Kanäle usw. zu lesen. Ich sollte das für die Zwecke dieses Tutorials erwähnen Die verwendeten Befehle werden im Terminalfenster von Octave ausgeführt. Zuerst müssen wir die ogg-Datei in einer Variablen speichern. Hinweis:Wichtig ist, dass sich die Datei im Arbeitspfad von Octave

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


Wobei M eine Matrix aus einer oder zwei Spalten ist, abhängig von der Anzahl der Kanäle, und fs die Abtastfrequenz ist.







Es gibt einige Optionen, die wir zum Lesen von Audiodateien verwenden können, wie z :

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


Wobei Samples Start- und Endframes und Datatype den zurückzugebenden Datentyp angibt. Wir können jeder Variablen Werte zuweisen:

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


Und zum Datentyp:

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


Wenn der Wert 'nativ' ist, hängt der Datentyp davon ab, wie die Daten in der Audiodatei gespeichert sind.

Schritt 4:Schreiben einer Audiodatei

Erstellen der ogg-Datei:

Zu diesem Zweck erzeugen wir eine ogg-Datei mit Werten aus einem Kosinus. Die Abtastfrequenz, die ich verwenden werde, beträgt 44100 Abtastungen pro Sekunde und die Datei dauert 10 Sekunden. Die Frequenz des Kosinussignals beträgt 440 Hz.

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

Dadurch wird in unserem Arbeitsbereich eine Datei namens 'cosinus.ogg' erstellt, die das Kosinussignal enthält.



Wenn wir die 'cosine.ogg'-Datei abspielen, dann reproduziert diese a 440-Hz-Ton, der einem 'A'-Musikton entspricht. Wenn wir die in der Datei gespeicherten Werte sehen wollen, müssen wir die Datei mit der Funktion „audioread“ „lesen“. In einem weiteren Tutorial werden wir sehen, wie man eine Audiodatei mit zwei Kanälen schreibt.

Schritt 5:Abspielen einer Audiodatei


Octave hat standardmäßig einen Audioplayer, den wir zu Testzwecken verwenden können. Verwenden Sie die folgenden Funktionen als Beispiel:

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


In den nächsten Teilen des Tutorials werden wir fortgeschrittene Audioverarbeitungsfunktionen und mögliche Anwendungsfälle für wissenschaftliche und kommerzielle Nutzung sehen.


Ubuntu
  1. So öffnen Sie ISO-Dateien unter Ubuntu Linux

  2. So überwachen Sie Server-Logdateien mit Logwatch auf Debian und Ubuntu

  3. Wissenschaftliche Audioverarbeitung, Teil III – Anwenden von erweiterten mathematischen Verarbeitungseffekten auf Audiodateien mit Octave 4.0 unter Ubuntu

  4. So installieren Sie die Deb-Datei in Ubuntu (mit Beispielen)

  5. Löschen und entsorgen Sie Dateien ordnungsgemäß in Ubuntu mit Shred

So erstellen und bearbeiten Sie PDF-Dateien in Ubuntu

So führen Sie .bin- und .run-Dateien in Ubuntu aus

So sichern Sie Dateien mit Déjà Dup und Duplicity unter Ubuntu 18.04 LTS

So benennen Sie Dateien in Ubuntu 20.04 um

So lesen Sie MOBI-Dateien auf Ubuntu und anderen Linux-Distributionen

Wie kann man eine in Ubuntu erstellte Textdatei mit Windows Notepad kompatibel machen?