Re: Como Hacer Un Reproductor De Musica En Python

0 views
Skip to first unread message
Message has been deleted

Pamula Harrison

unread,
Jul 12, 2024, 9:36:47 PM7/12/24
to frusdochandli

Voy a hablar sobre msica y Python. Ambas cosas me apasionan pero de la teora de lo primero, la msica, no tengo ni idea y de lo segundo, Python, ms bien poco, por lo que si cometo algn error espero me disculpis.

Viendo lo anterior he derivado una frmula para calcular las frecuencias de las notas. En esta frmula hay que considerar el DO como un 1 y el SI como un 12 (y en medio el resto de semitonos). Tambin hay que saber la octava que usamos y puede ir de 0 a 8.

como hacer un reproductor de musica en python


Descargar archivo https://tinurll.com/2yPeQp



Una onda sonora es una onda longitudinal que transmite lo que se asocia con sonido. Si se propaga en un medio elstico y continuo genera una variacin local de presin o densidad, que se transmite en forma de onda esfrica peridica o cuasiperidica. Mecnicamente las ondas sonoras son un tipo de onda elstica.

En la anterior figura se puede ver un ejemplo de onda y vuelve a aparecer la frecuencia. En este contexto la frecuencia indica la cantidad de ciclos o pulsos por unidad de tiempo. Una frecuencia de 440 Hz indica que la onda tendr 440 crestas y 440 valles durante cada segundo, es decir, 440 ciclos o pulsos.

El hercio (Hz) es la unidad que expresa la cantidad de vibraciones que emite una fuente sonora por unidad de tiempo (frecuencia). Se considera que el odo humano puede percibir ondas sonoras de frecuencias entre los 20 y los 20 000 Hz, si bien tambin se consideran rangos entre 16 Hz (aproximadamente la nota ms grave de un rgano de iglesia: do0 = 16,25 Hz) y 16 000 Hz (o 16 kHz). Las ondas que poseen una frecuencia inferior a la audible se denominan infrasnicas y las superiores ultrasnicas.

Para esta parte os va a hacer falta instalar una biblioteca que se llama sounddevice. que podis instalar usando conda o pip de la siguiente forma, siempre desde la lnea de comandos y siempre recomiendo usar un entorno virtual:

En lo anterior el frame rate es el nmero de valores que uso para definir cada paso, duration es el tiempo que sonar (en este caso lo defino en milisegundos, por tanto, un segundo). t ser el nmero de pasos temporales que vamos a usar para definir nuestra onda. En frequency meto el valor que sale de la frmula para LA4, 440 Hz y data ser la amplitud de la onda. Si dibujo lo anterior usando matplotlib ver algo as:

Ya que habis llegado hasta aqu y hemos ido juntando ingredientes podemos tocar alguna cosa. Vamos a tocar primero los doce semitonos de la cuarta octava con cada semitono sonando un cuarto de segundo:

La partitura empieza con la clave de sol que nos da la referencia de que el SOL est en la segunda lnea (leyendo desde abajo). Tambin empieza con \(_4^4\) que nos indica que tenemos 4 partes de tiempo y cada parte tiene la duracin de una negra. Luego vienen las notas. Por ejemplo, en el primer comps tenemos LA4 negra, LA4 negra, LA4 negra, FA4+DO5 (corcheas). En cdigo python, con las funciones tal como las hemos definido sera:

Si alguien tiene tiempo estos das de confinamiento y saca la partitura completa (la de ms arriba) o cualquier otra y la convierte a Python que me la mande y la incluyo aqu (citando a tu persona, claro) ?

Y hasta aqu he llegado con todo esto que me ha llevado das y das de leer y aprender cosas para no meter la pata de forma muy grosera. Espero que no haya cometido errores muy garrafales. Repito, la msica me apasiona pero soy un 0 a la izquierda en todo lo que es la teora de la misma.

Hola! me ha parecido muy impresionante este tema, yo estudie msica y justo estoy comenzando a aprender python as que ver msica y python en un proyecto se me hace sorprendente, crees que exista la posibilidad de que pueda ver el repo de tu cdigo?

Me gust mucho tu programa, complet la cancin con un rango de velocidad ms lento ya que en la velocidad de 500 al ejecutar la semicorchea y tresillo no se distinga el sonido, adems la transporte en la tonalidad original Gm.

Hola! Increble el artculo, y como podemos combinar msica con programacin! Tengo una pregunta, conocen alguna libreria de machine learning de python con la cual se puede hacer msica? Soy msico y estoy fuertemente aprendiendo python y matemticas para involucrarme en el mundo de la Inteligencia Artificial, Machine Learning, Redes neuronales etc. He estado investigado, pero no encuentro una librera para el desarrollo de msica con IA, conocen alguna? Un saludo!

Una onda de msica es algo continuo y lo que hacemos para guardarla es trocearla en muchos trozos para que al disponerlos rpidamente parezca continuo (como en los dibujos animados). 44100 significa que tomamos la onda en un segundo de duracin y la troceamos en 44100 trocitos y apuntamos (numricamente) el valor de cada trozo. As con cada segundo del audio. Cuanto ms alto es el valor, mejor calidad tendr la audicin pero tambin ocupa ms espacio al guardar la informacin. 44100 es el estndar para una audicin aceptable.

ola! Se puede hacer de alguna manera sonar ms de dos frecuencias diferentes a la vez en este programa al unsono? Es que estoy haciendo un trabajo tomando como referencia este artculo y no consigo hacerlo. Espero tu respuesta!

Estoy intentando, cuando defines beep, a poner mas argumentos, en vez de nota=int octava=int duracion= int solo, aado nota2=int, octava2= int y duracion2=int aadiendo debajo su respectivo t2,data2,frequency2, pero eso no funciona. Simplemente necesito hacer que suenen 2 sonidos a la vez para poder hacer acordes y no se ni siquiera si es posible con sounddevice, pero solo si supieras como es posible de hacer me solucionaras el problema y me ayudaras a sacar un diez en la asignatura de la carrera!
Gracias por tu atencin.

Gracias por tus valiosos comentarios y tu codigo, muy interesante. Ahora bien, hay que darle vueltas para lo que quiero hacer, esto es, que yo cante alguna cancion y el sonido o notas musicales, con duracion, etc, las incluya en los arreglos que tu defines, luego que produzca la partitura. Alguna idea de como hacer todo esto? Gracias, Douglas Lopez- Caracas/Venezuela

Es sabido por todos los lectores recurrentes que tengo un idilio con la CLI, y suelo traerles herramientas que se despliegan en ese mundillo. Pues PyRadio, es otra de esas herramientas, escrita en el lenguaje python, siendo su principal funcionalidad ser un reproductor de radios por internet.

El developer, recomienda que la mejor manera de instalar PyRadio es a travs de un paquete de distribucin, si existiera (en AUR podras encontrarlo, si eres $user de Archlinux o sus derivadas). Dado que la ltima versin (actual) corrige muchos errores, prefiero clonar el repositorio de GitHub del proyecto y compilar el software. La aplicacin requiere lo siguiente, para su correcta compilacion:

Para ejecutarlo simplemente necesitas tu terminal y lanzar el comando pyradio, abriendo una interfaz curses similar a la imagen inferior, si quieres que arranque de forma automatica agrega el argumento --play

Puedes conocer ms usando el comodn ? el cual genera un dilogo de ayuda til para comenzar y donde encontraras diferentes controles para la ventana principal, la ventana de listas de reproduccin y la ventana de temas.

PyRadio viene con una extensa lista de estaciones de transmisin por Internet. Pero quera agregar a la lista mis estaciones de radio pblicas y universitarias favoritas, as como algunas listas de reproduccin de msica en lnea. Puedes encontrar las URL de transmisin en los sitios web de sus estaciones de radio favoritas o navegando en directorios de estaciones en lnea como Shoutcast. Debers ingresar al archivo de la lista de reproduccin de transmisin de estacines, una URL que termina en .pls. Tambin puede ingresar enlaces directos a la transmisin de archivos de audio, como MP3.

Como mencione en los requerimientos, la herramienta necesita un reproductor multimedia instalado en el sistema. Como puede ver en la imagen de arriba, mi reproductor seleccionado es mpv, y lo prefiero, ya que a diferencia de vlc, usa su nivel de volumen guardado para reproducir contenido multimedia.

Tambien posee 6 temas preconfigurados disponibles. Presionando t logras mostrar los temas disponibles. Mientras que con c, puedes ingresar al apartado de configuracin, con el que puedes personalizar mucho y ms.

PyRadio funciona bien y es un reproductor de radio por Internet competente. Ya llevo bastante tiempo con l y no puedo quejarme de nada, si eres nuevo en esto de aplicaciones CLI, pues debo decirte que no lleva mucho tiempo familiarizarse con los keybindings, solo es cuestion de ganas. Y ya que el software se mantiene en un desarrollo activo, siempre con la ltima versin se vienen un montn de mejoras.

Escribir programas (o programar) es una actividad muy creativa y gratificante. Puedes escribir programas por muchas razones, que pueden ir desde mantenerte activo resolviendo un problema de anlisis de datos complejo hasta hacerlo por pura diversin ayudando a otros a resolver un enigma. Este libro asume que todo el mundo necesita saber programar, y que una vez que aprendas a programar ya encontrars qu quieres hacer con esas habilidades recin adquiridas.

Los programadores suelen aadir un sistema operativo y un conjunto de aplicaciones al hardware y as nos proporcionan un Asistente Digital Personal que es bastante til y capaz de ayudarnos a realizar una gran variedad de tareas.

Por ejemplo, mira los primeros tres prrafos de este captulos y dime cul es la palabra que ms se repite, y cuntas veces se ha utilizado. Aunque seas capaz de leer y comprender las palabras en pocos segundos, contarlas te resultar casi doloroso, porque la mente humana no fue diseada para resolver ese tipo de problemas. Para una computadora es justo al revs, leer y comprender texto de un trozo de papel le sera difcil, pero contar las palabras y decirte cuntas veces se ha repetido la ms utilizada le resulta muy sencillo:

A pesar de que este libro no va dirigido a los programadores profesionales, la programacin a nivel profesional puede ser un trabajo muy gratificante, tanto a nivel financiero como personal. Crear programas tiles, elegantes e inteligentes para que los usen otros, es una actividad muy creativa. Tu computadora o Asistente Digital Personal (PDA), normalmente contiene muchos programas diferentes pertenecientes a distintos grupos de programadores, cada uno de ellos compitiendo por tu atencin e inters. Todos ellos hacen su mejor esfuerzo por adaptarse a tus necesidades y proporcionarte una experiencia de usuario satisfactoria. En ocasiones, cuando elijes un software determinado, sus programadores son directamente recompensados gracias a tu eleccin.

d3342ee215
Reply all
Reply to author
Forward
0 new messages