Cómo generar onda sinusoidal de nota A(La) de 440 Hz con 44.1

May 10 2022
Revivamos un viejo tema y redescubramos el lenguaje universal de la música con la tecnología de hoy. Abramos una pequeña puerta para la Programación de Audio.

Revivamos un viejo tema y redescubramos el lenguaje universal de la música con la tecnología de hoy. Abramos una pequeña puerta para la Programación de Audio.

Foto de Techivation en Unsplash

Hapy Birthday DoReMi generado en Python

Bloque de código:

Descripción del código:

  • Nuestro código de Python para generar "Hapybirthday-DoReMi-MuCe.wav" consta de 10 pasos :
  • El código produce sonido estéreo .
  • Se pueden producir sonidos a diferentes frecuencias para los dos canales .
  • Teóricamente, todos los sonidos basados ​​en piano se pueden producir con los valores apropiados.

paso-2: Definimos una función para crear una Nota. Los recursos relacionados con la fórmula de onda sinusoidal que usaremos en nuestra función se comparten a continuación. Definimos las variables en la fórmula dentro de nuestra función.

# Fórmula de la señal -datos- y(t) = A*sin(2*π*f*t+ϕ) o f(t) = A*sin(ω*t+ϕ)
# Configuración básica de la señal: el sonido puede variar según tipo de dispositivo

— base_tone_freq = 440 # hertz (Hz) — 0.44kHz (Frecuencia de sonido (Hz))-Nota A4(La4)
— note_freq = base_freq * (2^(n/12))
— base_duration = .2 # (Unidad de duración básica en segundos) o longitud = 0,2
— sampleRate = 44100 # muestras por segundo Hz — 44,1 kHz (frecuencia de muestreo)-Otras frecuencias de muestreo de audio: 48 kHz, 88,2 kHz, 96 kHz, etc.
— samples = base_duration*sampleRate

Foto de Muhammed ÇELİK de Jupyter Notebook — Hapy-birthday-DoReMi-Python-MuCe.wav

# Produce en el segundo archivo de audio
— t = np.linspace(0, time, time*sampleRate) # puntos de tiempo
— A = np.iinfo(np.int16).max # Volumen (Amplitud) — la medida del volumen (el máximo es 32768 )-(np.iinfo(np.int16).max)) o el valor máximo

La frecuencia de muestreo de audio más común es 44,1 kHz, muestras por segundo. Este no es un número arbitrario. Los humanos pueden escuchar frecuencias entre 20 Hz y 20 kHz.

La mayoría de las personas pierden la capacidad de escuchar frecuencias altas a lo largo de sus vidas y solo pueden escuchar frecuencias de hasta 15 kHz–18 kHz. Sin embargo, esta regla de "20 a 20" todavía se acepta como el rango estándar para todo lo que podíamos escuchar.

La computadora debería poder recrear ondas con frecuencias de hasta 20 kHz para preservar todo lo que podemos escuchar. Por lo tanto, una frecuencia de muestreo de 40 kHz técnicamente debería ser suficiente.

paso 3: definimos las letras de las notas y las frecuencias a través de 'ScaleFreqs.csv' para usar. Los enlaces están disponibles a continuación.

Paso 4: Definimos la hoja de composición de muestra. Puede escribir las notas que desee en este campo, debe haber un tiempo al lado.

Sintaxis para dos notas:'''Note-time(Space)Note-time'''

paso 5: generamos todos los tonos a partir de una composición definida

paso 6: convertimos los datos de las notas en una sola matriz

paso 7: convertimos una matriz simple en doble para sonido estéreo

paso 8: Hacemos que la matriz doble esté disponible para el registro

paso-9: Guardamos el archivo de sonido: “Feliz-Cumpleaños-DoReMi-Python-MuCe.wav” en la Carpeta Local -carpeta de trabajo-.

paso-10 Analiza las características de tones_wave_stereo

Foto de Muhammed ÇELİK de Jupyter Notebook — Hapy-birthday-DoReMi-Python-MuCe.wav

¿Cuáles son algunos términos técnicos y de información técnica?

1–Definiendo notas musicales[¹]
2–Definiendo frecuencia musical[²]
3–Definiendo fórmula de señal sinusoidal[³]
4–Definiendo lenguaje de programación Python
5–Definiendo Jupyter Notebook

1–Definición de notas musicales[¹]

¿ Por qué la música occidental divide la octava en 12 notas diferentes? ¿Por qué no 13, 19 o 24 notas? Para una pregunta que suena tan simple, la respuesta es en realidad una maraña de historia, física y preferencia humana. ¡Prepárate para un poco de teoría musical seria! — gracias por la explicación David Bennett Piano

2–Definición de la frecuencia de la música[²]

— El archivo 'ScaleFreqs.csv' se ha modificado para uso general. El enlace oficial está abajo.

Enlace oficial ScaleFreqs.xls (live.com)
Frecuencias de notas musicales — Igualdad de temperatura. vs Meantone (mtu.edu)
Fórmula para la tabla de frecuencias (mtu.edu)

Escala de Pitágoras

Alrededor del 500 a. C., Pitágoras estudió la escala musical y las proporciones entre las longitudes de las cuerdas vibrantes necesarias para producirlas. Dado que la longitud de la cuerda (para la misma tensión) depende de 1/frecuencia, esas proporciones también proporcionan una relación entre las frecuencias de las notas. Desarrolló lo que puede ser la primera escala basada completamente en las matemáticas que resultó al considerar intervalos de octava (un factor de 2 en frecuencia) e intervalos de quintas (un factor de 3/2 en frecuencia). El procedimiento se describe en el libro de Jeans . La escala resultante divide la octava con intervalos de “Tonos” (una relación de 9/8) y “Hemitonos” (una relación de 256/243). Aquí hay una tabla para una escala C basada en este esquema.

frecuencia_base= 440,00
frecuencia_nota = frecuencia_base * (2^(n/12))

— La3 a La4

— A3 220,00 — A#3 233,08 — B3 246,94 — C4 261,63 — C#4 277,18
— D4 293,66 — D#4 311,13 — E4 329,63 — F4 349, 23 — Fa#4 369,99
— G4 392,00 — Sol#4 415,30 — A4 440,00

Ecuaciones para la tabla de frecuencias

La fórmula básica para las frecuencias de las notas de la escala temperada está dada por
fn = f0 * (a)n
donde
f0 = la frecuencia de una nota fija que debe definirse. Una opción común es establecer la A por encima de la C media (A4) en f0 = 440 Hz.
n = el número de semitonos que te alejan de la nota fija. Si estás en una nota más alta, n es positivo. Si está en una nota más baja, n es negativa.
fn = la frecuencia de la nota n medios pasos de distancia.
a = (2)1/12 = la raíz doce de 2 = el número que multiplicado por sí mismo 12 veces es igual a 2 = 1,059463094359…

La longitud de onda del sonido de las notas se obtiene de
Wn = c/fn,
donde W es la longitud de onda y c es la velocidad del sonido. La velocidad del sonido depende de la temperatura, pero es de aproximadamente 345 m/s a “temperatura ambiente”.

Ejemplos usando A4 = 440 Hz:

C5 = el C una octava por encima del C medio. Esto es 3 semitonos por encima de A4, por lo que la frecuencia es
f3 = 440 * (1,059463..)3 = 523,3 Hz
Si su calculadora no tiene la capacidad de elevar a potencias, utilice el hecho de que
(1.059463..)3 = (1.059463..)*(1.059463..)*(1.059463..)
Es decir, lo multiplicas por sí mismo 3 veces.

El Do central está 9 semitonos por debajo de A4 y la frecuencia es:
f -9 = 440 * (1.059463..)-9 = 261.6 Hz
Si no tiene poderes en su calculadora, recuerde que el signo negativo en el poder significa que dividir en lugar de multiplicar. Para este ejemplo, divide por (1.059463..) 9 veces.

Este cálculo se realiza fácilmente utilizando una hoja de cálculo (hoja de cálculo de Excel).
Si su navegador está bloqueando las descargas de xls, use esta versión y reemplace la extensión ".txt" con ".xls" antes de usar.

Preguntas/Comentarios a: [email protected]

3–Definición de la fórmula de la señal sinusoidal[³]

Su forma más básica en función del tiempo (t) es:

y(t) = A*sin(2*π*f*t+φ) = A*sin(ω*t+φ)
donde:
— A, amplitud, la desviación máxima de la función desde cero.
— f, frecuencia ordinaria, el número de oscilaciones (ciclos) que ocurren cada segundo de tiempo.
— ω = 2πf, frecuencia angular, la tasa de cambio del argumento de la función en unidades de radianes por segundo
— φ , fase, especifica (en radianes) dónde en su ciclo la oscilación está en t = 0.

Cuando φ no es cero, la forma de onda completa parece estar desplazada en el tiempo por la cantidad de φ/ω segundos. Un valor negativo representa un retraso y un valor positivo representa un avance.

4–Definiendo el lenguaje de programación Python
5–Definiendo Jupyter Notebook

1– Definición de notas musicales[¹]
2–Definición de frecuencia musical[²]
3– Definición de fórmula de señal sinusoidal[³]

Recursos para Introducción a la programación científica con Python (Página: 690 Título: A.2 Programación con sonido ) , pero no pude ejecutar el código allí, puede consultar el desbordamiento de pila para obtener más información. —https://stackoverflow.com/

Que tengan un buen día, gente.

Acabo de empezar a escribir en Medium. si es posible, puedes seguir mi cuenta mediana.

gracias por el apoyo y dar tiempo.

© Copyright 2021 - 2022 | unogogo.com | All Rights Reserved