GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Traitement audio scientifique, partie I - Comment lire et écrire des fichiers audio avec Octave 4.0.0 sur Ubuntu

Octave, le logiciel équivalent de Matlab sous Linux, possède un certain nombre de fonctions et de commandes qui permettent l'acquisition, l'enregistrement, la lecture et le traitement numérique de signaux audio pour des applications de divertissement, de recherche, médicales ou tout autre domaine scientifique. Dans ce didacticiel, nous utiliserons Octave V4.0.0 dans Ubuntu et commencerons à lire des fichiers audio en écrivant et en jouant des signaux pour émuler les sons utilisés dans un large éventail d'activités.

Remarque que l'objectif principal de ce didacticiel n'est pas d'installer ou d'apprendre à utiliser un logiciel de traitement audio déjà établi, mais plutôt de comprendre comment il fonctionne du point de vue de la conception et de l'ingénierie audio.

Prérequis

La première étape consiste à installer octave. Exécutez les commandes suivantes dans un terminal pour ajouter Octave PPA dans Ubuntu et installer le logiciel.

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

Étape 1 :Octave d'ouverture.

Dans cette étape, nous ouvrons le logiciel en cliquant sur son icône, nous pouvons changer le répertoire de travail en cliquant sur le menu déroulant Navigateur de fichiers.

Étape 2 :Informations audio


La commande "audioinfo" nous montre des informations pertinentes sur le fichier audio que nous allons traiter.

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


Étape 3 :Lire un fichier audio


Dans ce tutoriel, je vais lire et utiliser des fichiers ogg pour lesquels il est possible de lire des caractéristiques comme l'échantillonnage, le type audio (stéréo ou mono), le nombre de canaux, etc. Je dois mentionner que pour les besoins de ce tutoriel, tous les commandes utilisées seront exécutées dans la fenêtre du terminal d'Octave. Tout d'abord, nous devons enregistrer le fichier ogg dans une variable. Remarque :il est important que le fichier soit dans le chemin de travail d'Octave

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


Où M est une matrice à une ou deux colonnes, selon le nombre de canaux et fs est la fréquence d'échantillonnage.







Il existe certaines options que nous pouvons utiliser pour lire des fichiers audio, telles que :

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


Où samples spécifie les images de début et de fin et datatype spécifie le type de données à renvoyer. Nous pouvons attribuer des valeurs à n'importe quelle variable :

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


Et à propos du type de données :

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


Si la valeur est "native", le type de données dépend de la façon dont les données sont stockées dans le fichier audio.

Étape 4 :Écrire un fichier audio

Création du fichier ogg :

Pour cela, nous allons générer un fichier ogg avec des valeurs issues d'un cosinus. La fréquence d'échantillonnage que j'utiliserai est de 44100 échantillons par seconde et le fichier durera 10 secondes. La fréquence du signal cosinus est de 440 Hz.

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

Cela crée un fichier nommé 'cosine.ogg' dans notre espace de travail qui contient le signal cosinus.



Si nous lisons le fichier 'cosine.ogg', cela reproduira un Tonalité de 440 Hz qui équivaut à une tonalité musicale « A ». Si nous voulons voir les valeurs enregistrées dans le fichier, nous devons "lire" le fichier avec la fonction "audioread". Dans un prochain tutoriel, nous verrons comment écrire un fichier audio avec deux canaux.

Étape 5 :Lecture d'un fichier audio


Octave, par défaut, a un lecteur audio que nous pouvons utiliser à des fins de test. Utilisez les fonctions suivantes comme exemple :

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


Dans les prochaines parties du didacticiel, nous verrons des fonctionnalités avancées de traitement audio et des cas d'utilisation possibles à des fins scientifiques et commerciales.


Ubuntu
  1. Comment ouvrir des fichiers ISO sur Ubuntu Linux

  2. Comment surveiller les fichiers journaux du serveur avec Logwatch sur Debian et Ubuntu

  3. Traitement audio scientifique, partie III - Comment appliquer des effets de traitement mathématique avancés sur des fichiers audio avec Octave 4.0 sur Ubuntu

  4. Comment installer le fichier deb dans Ubuntu (avec exemples)

  5. Supprimer et éliminer correctement les fichiers dans Ubuntu avec Shred

Comment créer et éditer des fichiers PDF dans Ubuntu

Comment exécuter des fichiers .bin et .run dans Ubuntu

Comment sauvegarder des fichiers avec Déjà Dup et Duplicity sur Ubuntu 18.04 LTS

Comment renommer des fichiers dans Ubuntu 20.04

Comment lire les fichiers MOBI sur Ubuntu et d'autres distributions Linux

Comment rendre un fichier texte créé dans Ubuntu compatible avec le bloc-notes Windows ?