viernes, 26 de mayo de 2017

David ha terminado una sesión de una carrera runtástica de 2,03 km en 17m 27s https://www.runtastic.com/sport-sessions/592807df0c95013d6be6622c?sharing_token=5928081ad0e9e3e86800464e

miércoles, 17 de febrero de 2016

Como obtener las características básicas de un archivo de audio digitalizado

Un archivo de audio digitalizado posee ciertos parámetros de interés para su procesamiento. La mayoría de las librerías asociadas a lenguajes que se utilizan para DSP tienen comandos e instrucciones especificas para obtener dichos datos. En GNU Octave / Matlab nosotros podemos visualizar dichos parámetros usando el comando audioinfo el cual nos dará información tal como tasa de muestreo, cantidad de muestras, número de canales, etc. La sintaxis propia para utilizar este comando es la siguiente:

>> info= audioinfo('archivo.ogg');

Lo que se obtiene es lo siguiente:

Info=
Filename: 'S:\'archivo.ogg' CompressionMethod:'Uncompressed NumChannels: 1
SampleRate: 8192
TotalSamples: 73113
Duration: 8.9249
Title: []
Comment: []
Artist: []
BitsPerSample: 16

Con esta información previa ya tendremos una clara idea de como esta estructurado nuestro archivo digitalizado y nos prepara para el siguiente paso. En otras entradas futuras trataremos el caso de la lectura de la información de archivos de audio usando otros lenguajes de programación.

martes, 16 de febrero de 2016

Leer/Escribir archivos de audio digitalizado en Matlab/Octave

Octave, el equivalente en software para Matlab en Linux, tiene una serie de funciones y comandos que permiten la adquisición, grabación, reproducción y posterior procesamiento de señales de audio que a su vez tienen  muchas aplicaciones de entretenimiento, investigación, médicos, o cualquier otra área de la ciencia que haga uso de estas señales. En esta entrada vamos a utilizar GNU Octave v4.0 en Ubuntu Studio y comenzará con la lectura y escritura de archivos de audio.

Tenga en cuenta que el principal objetivo de este tema  no es aprender a usar un software de procesamiento de audio ya establecido, sino más bien de entender cómo funciona desde el punto de vista matemático, del diseño y la ingeniería de audio.


Paso 1: Ejecutando GNU Octave, hacemos click en el icono ubicado en el menu/educacion/octave





Paso 2: Ubicarse en 'workspace' donde estan guardados los archivos de audio, scripts, etc.

Paso 3: Leer un arcivo de audio a través del comando 'audioread' siguiendo la sintaxis:

>> [y, fs]=audioread('archivo.ogg');

Donde:

y = señal;
fs = frecuencia de muestreo; 

note que utilizamos la extension .ogg que es la mas indicada para trabajar con octave, tanto en linux como en windows


note que en el recuadro workspace nos podemos encontrar los parametros de cada una de las variables tales como el tipo de variable, la dimension, los valores, etc.


Una vez leido el archivo podemos hacer cualquier tipo de operacion matematica con la señal y. También podemos graficarla:


Para esto podemos hacer click derecho sobre la variable a graficar y hacer plot(y)








Paso 4: Escribiendo un archivo de audio: para esto se utilizara el comando audiowrite de la siguiente manera


>> audiowrite('nombredearchivo.ogg', procesamiento, fs);


Donde:


nombredearchivo.ogg = archivo sobre el cual vamos a escribir, si este no existe se creará en el directorio configurado anteriormente, es importante incluir la extensión del archivo.


procesamiento = cualqueir tipo de operación matemática o señal que se desee escribir sobre el archivo.


fs = frecuencia de muestreo (puede variarla a su gusto)




lunes, 15 de febrero de 2016

Efectos digitales

Efecto Tremolo Sinusoidal (Funcion .m para Matlab/Octave)


=============================================
function [x]=tremolo(f,fs,x)

%Tremolo Algorithm function using sinusoidal modulating signal
%The suggested modulating frequency should be between 1 & 4 Hz
% Coded by Ing. David E. Duarte G., Feb 15, 2016
% email: deduarte1@uc.edu.ve denrique.duarte@gmail.com

l=length(x);
t=0:1/fs:(l-1)/fs;
t=t(:);
w=2*pi*f*t;
x=sin(w).*x;

Donde

f: Frecuencia de modulación.
fs: Frecuencia de Muestreo.
x: Señal de audio
=============================================

Dentro de Matlab/Octave debe ser invocado de la siguiente manera:


>> [y,fs]=audioread('yourfilename.ogg');
>> audiowrite('yourfiletremolo.ogg', tremolo(4, fs, y), fs);

Nota: el archivo .m debe ser guardado en el mismo workspace actual.

Bienvenido al Blog