commit 300e11e4ba0313df77ddff7adf96de989cdbfc33
parent 99aa067a1fd45526654295d53a3c5525a0a56d61
Author: Vittorioux <158307279+Vittorioux@users.noreply.github.com>
Date: Tue, 10 Sep 2024 15:26:07 -0300
Some minor fixes.
Diffstat:
1 file changed, 43 insertions(+), 42 deletions(-)
diff --git a/primera_parte/tpe_primera_parte.ipynb b/primera_parte/tpe_primera_parte.ipynb
@@ -9,24 +9,25 @@
"id": "dbae172a-eb1c-4168-8151-9bb0f9e57cc2"
},
"source": [
+ "# Señales y Sistemas (86.05/66.74/TB065) - TPE\n",
"# Primera Parte: Dominio de Tiempo\n",
"\n",
- "En esta primera parte del trabajo practico se pide graficar dos señales de\n",
- "audio en formato 'WAV' en el dominio de tiempo, luego, para una de ellas\n",
- "identificar diferentes notas musicales y calcular la frecuencia fundamental, finalmente\n",
- "para la señal de audio restante identificar las diferencias entre instrumentos de\n",
- "percusión y armónicos\n",
+ "En esta primera parte del trabajo práctico se pide graficar dos señales de\n",
+ "audio en formato 'WAV' en el dominio de tiempo; luego, para una de ellas\n",
+ "identificar diferentes notas musicales y calcular la frecuencia fundamental; finalmente,\n",
+ "para la señal de audio restante, identificar las diferencias entre instrumentos de\n",
+ "percusión e instrumentos armónicos.\n",
"\n",
- "Para la realizacion de los graficos se utiliza el lenguaje de programación\n",
+ "Para la realización de los gráficos se utiliza el lenguaje de programación\n",
"[python](https://www.python.org) junto con las librerias\n",
"[scipy](https://docs.scipy.org/doc/scipy/index.html),\n",
"[matplotlib](https://matplotlib.org/) y\n",
- "[numpy](https://numpy.org/doc/stable/index.html)\n",
+ "[numpy](https://numpy.org/doc/stable/index.html).\n",
"\n",
"## Obtención y Muestra de Archivos\n",
"\n",
- "Empezamos importando las librerias mencionadas previamente en un nuevo script\n",
- "de python"
+ "Empezamos importando las librerías mencionadas previamente en un nuevo script\n",
+ "de python."
]
},
{
@@ -42,7 +43,7 @@
"id": "z9pM8YwT3577"
},
"id": "z9pM8YwT3577",
- "execution_count": 1,
+ "execution_count": 2,
"outputs": []
},
{
@@ -56,23 +57,23 @@
],
"metadata": {
"id": "RKO3W0G-4jbb",
- "outputId": "d4860a78-c785-40fa-cd56-a83e3d5913a0",
+ "outputId": "279a75e5-003c-43a0-ef28-b23b6da4de67",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"id": "RKO3W0G-4jbb",
- "execution_count": 2,
+ "execution_count": 3,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
- "('Zombie.wav', <http.client.HTTPMessage at 0x7d96c04e8d60>)"
+ "('Zombie.wav', <http.client.HTTPMessage at 0x7efa91459150>)"
]
},
"metadata": {},
- "execution_count": 2
+ "execution_count": 3
}
]
},
@@ -83,20 +84,20 @@
"id": "bd8671f2-4d85-4aec-beee-d01d25e42e4e"
},
"source": [
- "De la libreria [scipy](https://docs.scipy.org/doc/scipy/index.html)\n",
- "solo se importa la funcion\n",
+ "De la librería [scipy](https://docs.scipy.org/doc/scipy/index.html)\n",
+ "solo se importa la función\n",
"[wavfile](https://docs.scipy.org/doc/scipy/reference/io.html#module-scipy.io.wavfile),\n",
- "ya que solo se utiliza esa función de esa libreria\n",
+ "ya que de esa librería solo utilizamos la misma.\n",
"\n",
"Continuamos leyendo el contenido del primer archivo de nombre `InASentimentalMood.wav`,\n",
- "para eso se utiliza la funcion `wavfile.read()` de la libreria `scipy`.\n",
+ "para lo cual utiliza la función `wavfile.read()` de la librería [scipy](https://docs.scipy.org/doc/scipy/index.html).\n",
"Esta función devuelve los datos y la tasa de muestreo del archivo en formato WAV\n",
- "cuyo nombre recibe como argumento"
+ "cuyo nombre recibe como argumento."
]
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 4,
"id": "db46a059-a799-42d4-9eaa-afe1ad530c9f",
"metadata": {
"id": "db46a059-a799-42d4-9eaa-afe1ad530c9f"
@@ -114,12 +115,12 @@
},
"source": [
"Normalizamos los datos leidos del archivo dividiendo por el valor máximo que toma\n",
- "la señal"
+ "la señal. De esta forma, acotamos la amplitud de la misma entre -1 y 1."
]
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 5,
"id": "b346bbb6-d7d3-4e6f-a44b-461510c52c5f",
"metadata": {
"id": "b346bbb6-d7d3-4e6f-a44b-461510c52c5f"
@@ -136,17 +137,17 @@
"id": "1a234f91-aa8c-48c4-bd13-7878104842e3"
},
"source": [
- "Para poder graficar los datos se necesita saber a que tiempo corresponde cada valor de la\n",
- "señal, para eso se utiliza el método [arange](https://numpy.org/doc/stable/reference/generated/numpy.arange.html#numpy-arange)\n",
- "de la libreria [numpy](https://numpy.org/doc/stable/index.html), este método\n",
- "devuelve un arreglo de numeros equidistantes del largo que recibe como parametro,\n",
+ "Para poder graficar los datos se necesita saber a qué tiempo corresponde cada valor de la\n",
+ "señal; para eso, se utiliza el método [arange](https://numpy.org/doc/stable/reference/generated/numpy.arange.html#numpy-arange)\n",
+ "de la libreria [numpy](https://numpy.org/doc/stable/index.html). Este método\n",
+ "devuelve un arreglo de números equidistantes del largo que recibe como parametro,\n",
"en este caso del largo de los datos leídos del archivo. Para convertirlo a segundos\n",
- "se divide por la tasa de muestreo, la cual tambien se obtiene cuando se lee el archivo"
+ "se divide por la tasa de muestreo, la cual también se obtiene cuando se lee el archivo."
]
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 6,
"id": "ee3fe588-5919-4e0f-8f6b-d2dbeba0af35",
"metadata": {
"id": "ee3fe588-5919-4e0f-8f6b-d2dbeba0af35"
@@ -164,17 +165,17 @@
"id": "eff070fb-d011-4b87-8c14-f4fba48b4ce4"
},
"source": [
- "Con todos los datos ya procesados se utilizan los métodos del objeto pyplot de la\n",
- "librería matplotlib para obtener un gráfico"
+ "Con todos los datos ya procesados, se utilizan los métodos del objeto pyplot de la\n",
+ "librería [matplotlib](https://matplotlib.org/) para obtener un gráfico."
]
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 7,
"id": "3d95e5a6-4c46-4dc3-bf8e-1ba82af6eb1d",
"metadata": {
"id": "3d95e5a6-4c46-4dc3-bf8e-1ba82af6eb1d",
- "outputId": "daf034f3-9f36-45b2-a054-d5027d873a29",
+ "outputId": "9cd02045-9b0f-42b7-fd2b-dead2cbab92f",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 599
@@ -214,12 +215,12 @@
"source": [
"Para el segundo archivo, se repite exactamente el mismo procedimiento,\n",
"solo que en este caso cambia el nombre del archivo del cual se obtienen los\n",
- "datos, en este caso siendo `Zombie.wav`"
+ "datos, en este caso siendo `Zombie.wav`."
]
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": null,
"id": "94dd2cf5-ff36-45ec-9593-80ecec73c414",
"metadata": {
"id": "94dd2cf5-ff36-45ec-9593-80ecec73c414",
@@ -272,15 +273,15 @@
"source": [
"## Identificación de Notas Musicales\n",
"\n",
- "Para identificar las diferentes notas musicales del primer archivo (`InASentimentalMood.wav`)\n",
- "analizamos visualmente el grafico, reduciendo la escala de tiempo a un pequeño intervalo en zonas\n",
- "aleatorias de la figura, como se muestra en la Figura 3 a continuación, en la cual se toma\n",
- "el intervalo de tiempo `[26.50, 25.55]`"
+ "Para identificar las diferentes notas musicales del primer archivo (`InASentimentalMood.wav`),\n",
+ "analizamos visualmente el gráfico, reduciendo la escala de tiempo a un pequeño intervalo en zonas\n",
+ "específicas de la figura, como se muestra en la Figura 3 a continuación, en la cual se toma\n",
+ "el intervalo de tiempo `[26.50, 26.55]`."
]
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": null,
"id": "00ee7caa-47c8-43bc-8d56-2e5cf1fac363",
"metadata": {
"id": "00ee7caa-47c8-43bc-8d56-2e5cf1fac363",
@@ -337,14 +338,14 @@
"source": [
"## Diferencias entre Instrumentos de Percusión y Armónicos\n",
"\n",
- "De manera analoga al analisis realizado para la figura 3, se analiza la figura 2, correspondiente\n",
+ "De manera análoga al análisis realizado para la Figura 3, se analiza la Figura 2, correspondiente\n",
"al segundo archivo, queriendo hallar diferencias notables entre los intrumentos de\n",
- "percusión y armónicos"
+ "percusión y los armónicos."
]
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": null,
"id": "dfc2b4b4-7d3a-4da5-8b22-45d224050493",
"metadata": {
"id": "dfc2b4b4-7d3a-4da5-8b22-45d224050493",