Código de Python - Espacio Hilbert. Suma de dos ondas.

Imágen de perfil

Espacio Hilbert. Suma de dos ondas.gráfica de visualizaciones


Python

Publicado el 28 de Junio del 2024 por Hilario (132 códigos)
128 visualizaciones desde el 28 de Junio del 2024
*********************************************************************************************************

Aula_26_Tecnología.py
******************************

Realizamos en lenguaje python. En un hipotetico espacio de Hilbert. La multiplicacion de dos ondas acusticas, con estos parámetros que os pongo a continuación:

Parámetros de las ondas:
frecuencia1 = 38 # Frecuencia de la primera onda (A4)
frecuencia2 = 36 # Frecuencia de la segunda onda (E5)
duracion = 12.0 # Duración en segundos
fs = 47100 # Frecuencia de muestreo

Mostraremos el resultado final graficamente. Al mismo tiempo deberemos guardar el archivo
resultante de sonido en (Debes de modificarla en tu caso) en esta ruta: /home/margarito/python/Mi_Archivo.wav.
Tambien se ejecutará el archivo de sonido incluyendo el código en el propio programa python.


Resumen del Ejercicio

En este ejercicio, hemos creado un programa en Python que realiza las siguientes tareas:

Definición de Parámetros:

Se definen dos frecuencias (38 Hz y 36 Hz), una duración de 12 segundos y una frecuencia de muestreo de 47100 Hz.

Generación de Ondas:

Se generan dos ondas sinusoidales (onda1 y onda2) con las frecuencias especificadas utilizando numpy.

Multiplicación de Ondas:

Las dos ondas generadas se multiplican para obtener una onda resultante (resultado).

Guardado de la Onda Resultante:

La onda resultante se guarda en un archivo de sonido WAV, usando soundfile.

Visualización Gráfica:

Se muestran gráficas de las dos ondas originales y la onda resultante en una figura con tres subgráficos utilizando matplotlib.

Reproducción del Sonido:

El archivo de sonido resultante se reproduce utilizando sounddevice.

----------------------------------------------------------------
Ejercicio realizado bajo Linux, con Ubuntu 20.04.6 LTS.
Editado con Sublime text. Ejecutado bajo consola Linux.


Para que todo funcione, deberemos instalar sounddevice.
Abre una terminal y ejecuta el siguiente comando para instalar portaudio:


sudo apt-get install portaudio19-dev
Paso 2: Instalar sounddevice usando pip.
Si pip no lo tienes instalado deberás instalarlo.

sudo apt-get install python3-pip
Luego, instala sounddevice:

pip3 install sounddevice

-------------------------------------------
Ejecución del ejercicio, bajo consola linux:
python3 Aula_26_Tecnología.py
Figure_1

Requerimientos

Ejercicio realizado bajo Linux, con Ubuntu 20.04.6 LTS.
Editado con Sublime text. Ejecutado bajo consola Linux.


Para que todo funcione, deberemos instalar sounddevice.
Abre una terminal y ejecuta el siguiente comando para instalar portaudio:


sudo apt-get install portaudio19-dev
Paso 2: Instalar sounddevice usando pip.
Si pip no lo tienes instalado deberás instalarlo.

sudo apt-get install python3-pip
Luego, instala sounddevice:

pip3 install sounddevice

-------------------------------------------
Ejecución del ejercicio, bajo consola linux:
python3 Aula_26_Tecnología.py




V-0.

Publicado el 28 de Junio del 2024gráfica de visualizaciones de la versión: V-0.
128 visualizaciones desde el 28 de Junio del 2024
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#Ejecución bajo consola linux:
#python3 Aula_26_Tecnología.py
 
 
import numpy as np
import matplotlib.pyplot as plt
import soundfile as sf
import sounddevice as sd
 
# Parámetros de las ondas
frecuencia1 = 38 # Frecuencia de la primera onda (A4)
frecuencia2 = 36 # Frecuencia de la segunda onda (E5)
duracion = 12.0     # Duración en segundos
fs = 47100         # Frecuencia de muestreo
 
# Generar las ondas
t = np.linspace(0, duracion, int(fs * duracion), endpoint=False)
onda1 = 0.5 * np.sin(2 * np.pi * frecuencia1 * t)
onda2 = 0.5 * np.sin(2 * np.pi * frecuencia2 * t)
 
# Multiplicar las ondas
resultado = onda1 * onda2
 
# Guardar el resultado en un archivo de sonido
ruta_archivo = '/home/margarito/python/Mi_Archivo.wav'
sf.write(ruta_archivo, resultado, fs)
 
# Mostrar las ondas gráficamente
plt.figure(figsize=(12, 8))
 
# Gráfica de la primera onda
plt.subplot(3, 1, 1)
plt.plot(t, onda1, label='Onda 1 (38 Hz)')
plt.xlabel('Tiempo [s]')
plt.ylabel('Amplitud')
plt.title('Onda 1')
plt.legend()
plt.grid()
 
# Gráfica de la segunda onda
plt.subplot(3, 1, 2)
plt.plot(t, onda2, label='Onda 2 (36 Hz)')
plt.xlabel('Tiempo [s]')
plt.ylabel('Amplitud')
plt.title('Onda 2')
plt.legend()
plt.grid()
 
# Gráfica de la onda resultante
plt.subplot(3, 1, 3)
plt.plot(t, resultado, label='Onda Resultante')
plt.xlabel('Tiempo [s]')
plt.ylabel('Amplitud')
plt.title('Multiplicación de Dos Ondas Acústicas')
plt.legend()
plt.grid()
 
plt.tight_layout()
plt.show()
 
# Reproducir el archivo de sonido resultante
print(f"Reproduciendo archivo de sonido: {ruta_archivo}")
sd.play(resultado, fs)
sd.wait()



Comentarios sobre la versión: V-0. (0)


No hay comentarios
 

Comentar la versión: V-0.

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7521