Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Problema Reproduciendo Midis Con La Librería PyGame. Timidity
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Problema Reproduciendo Midis Con La Librería PyGame. Timidity 
 
Buenas!.

Copio y pego el mensaje enviado a Vuott, es que sé que a Vuott le gusta el tema de los midis.


Tu sabes que uso Python y me gusta "un poco" el tema de los videojuegos, crear pequeños ejemplos de estos. Muy sencillos.
Hace unos días he retomado el tema de la librería Pygame para Python. En realidad intento llevar cosas a gambas y comprender como
funciona en un lenguaje para llevarlo a otro.

En principio la librería Pygame es un "traductor" de SDL1. Estaba viendo el tema de reproducir sonidos usando la librería Pygame.
Hace bastante que me funcionaba sin problema reproducir archivos midis usando la librería PyGame. Llevo mucho tiempo sin volver a usarlos.

De buenas a primera ya no reproduce midis.Era el único formato que se le resistía estos días.
Pero debe ser más bien algún problema de la librería pygame, algún cambio que ha tenido.

Primero no encontraba el archivo timidity.cfg en /etc. Realmente se encuentra en /etc/timidity/
Eso lo solucioné creando un enlace simbólico.

Pero ahora surgió otro problema, un error sintáctico cuando intentaba abrir la canción midi.
Tu sabes que en timidity.cfg se tiene que configurar los bancos de instrumentos. En este caso son sound font 2, o sf2
En mi caso:

Estos son los bancos de instrumentos:

Citar:

-rw-r--r-- 1 root root 142M feb 24  2008 FluidR3_GM.sf2
-rw-r--r-- 1 root root 3,1M feb 24  2008 FluidR3_GS.sf2
-rw-r--r-- 1 root root 5,7M jun 17  2015 TimGM6mb.sf2


Y en el timidity.cfg los localiza de esta forma:

Citar:

...
# By default, try to use the instrument patches from freepats:
# source /etc/timidity/freepats.cfg
soundfont /usr/share/sounds/sf2/FluidR3_GM.sf2


No he activado esta parte:

Citar:

# alternatively, you can use the fluid-soundfont:
#source /etc/timidity/fluidr3_gm.cfg
#source /etc/timidity/fluidr3_gs.cfg


Al final acabé compilando de cero la librería Pygame.

https://www.pygame.org/wiki/CompileUbuntu?parent=

La página olvidaba añadir alguna dependencia. La añadí manualmente.
Cuando fui a comprobar que todos los ejemplos de test de la librería funcionaban, vi error en el "mixer",
cuando fue a usar "midis".

Spoiler: [ Mostrar ]


Al crear la compilación a mano, automáticamente la versión de la librería pygame se ha puesto en la versión 2 y está usando sdl2.

Pero yo no paré ahí. Un ex-cónsul romano no se rinde tan fácilmente sin presentar batalla.
Así que fui al ejemplo que tenia creado hace tiempo y quise probar la reproducción de los archivos midis.
Y....el midi comenzó a sonar!.  

No obstante la consola mostraba un error de que no encontraba algo que quería, te lo añado:

Citar:

pygame 2.0.0.dev11 (SDL 2.0.8, python 3.6.9)
Hello from the pygame community. https://www.pygame.org/contribute.html
fluidsynth: error: Unable to open file "/usr/share/sounds/sf3/FluidR3Mono_GM.sf3"
fluidsynth: error: Couldn't load soundfont file
fluidsynth: error: Failed to load SoundFont "/usr/share/sounds/sf3/FluidR3Mono_GM.sf3"
fluidsynth: warning: Failed to pin the sample data to RAM; swapping is possible.
[Finished in 404.8s]


¿ sf3 ?. Creía que el estandar era sf2.
Logicamente ni la extensión que tengo de los bancos de instrumentos es sf2 ni el directorio es el mismo.
Pero estaba sonando....

Fui de paso a ver el código fuente de timidity para compilarlo manualmente...antiguo, antiguo..no hay nada nuevo de este.

Da como a entender que los midis son algo del pasado.  

Te he escrito este mensaje por que sé que te gusta el tema de los mdis.
No te estoy solicitando que me hables de algo que no conoces, Python y la librería PyGame.
Pero si en lo común que sea de midis, formatos, versiones.  

Parece como si los midis hayan perdido mucho en los tiempos actuales.
Así que no te extrañes que "un día" los ejemplos ya no vengan con midis y ya incorporen el audio en formatos "mp3" o parecido.

He encontrado esto en el gestor de paquetes del sistema:

Citar:

The sf3convert tool can be used to convert an SF2 SoundFont
into SF3 format, or into C code for embedding into a binary.

The SF3 SoundFont format is the same as SF2, except it uses
an OGG container instead of WAV for the patches contained
in it. Current synthesisers, such as MuseScore and FluidSynth,
expect the Vorbis codec to be used, which is lossy; hence, an
SF3 SoundFont is considered to have a corresponding SF2 one
as source, and to be compiled via this tool.


Y esto es mejor aun:

Citar:

This is the new standard hard disc space-saving SF3 format
soundfont as shipped with MuseScore 2.2 and newer.

MuseScore_General has a low installed size footprint (although
larger than its antecessor fluidr3mono-gm-soundfont because it
focuses on improving quality), while providing the large GM
(General MIDI) sound set and some extras.
As it comes under the MIT licence, it can be used in most settings.

It can be used with most modern MIDI synthesisers which support
the SF3 format, although early implementations (such as the one
from MuseScore before release 2.2) had bugs making the resulting
sound bad; instead use fluidr3mono-gm-soundfont for those.

This package will be installed into /usr/share/sounds/sf3/ which
is the standard Debian location for system-wide SF3 soundfonts.


Todos son cambios que no todos los llevan igual y luego las cosas no funcionan.
Actualizas en plan "me tiro a la piscina", pero es que no deberías desconfiar, sobre todo cuando algo ha funcionado siempre....

No sé nada de soluciones, la más próxima que encontré fue esta:

https://github.com/pygame/pygame/issues/343

Tema cerrado hace 29 dias.

"Closing because this doesn't seem to happen with SDL2.".....

..actualicen a SDL2..

¿ Realmente los programadores van acorde ?.  
Cosas que se quedan atrasadas, autores que no ponen al día los ejemplos, que den soluciones..

Puede que PyGame este ahora tomando el camino hacia SDL2.

De todas formas si llevan bastante tiempo con una versión de SDL, no siempre los cambios son para mejor...ataque de bichos!.  
Puede que este aun la cosa verde.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Lunes, 29 Junio 2020, 14:20; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Reproduciendo Midis Con La Librería PyGame. Timidity 
 
Lo que si es verdad es lo que está consumiendo de cpu cuando reproduce!.  

 consumoreproducionmidi

Algo pasa

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Lunes, 29 Junio 2020, 14:28; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Reproduciendo Midis Con La Librería PyGame. Timidity 
 
Un poco antigua la versión que trae Linux Mint 19.1 de Fluidsynth: 1.1.9-1....

La más actual es la 2.1.3.

Fijaros segun distro y versiones: Directamente pone Ubuntu, ni Linux Mint...

FluidSynth y distros

A ver como soluciono el problema del consumo..

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Reproduciendo Midis Con La Librería PyGame. Timidity 
 
Viendo consumos...

VLC:

 vlc

No parece admitir el solo la extensión midi

Cuando uso midi desde el navegador inicia el XPlayer por defecto, pero el consumo es mínimo.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Lunes, 29 Junio 2020, 14:58; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Alguna Librería Similar A Mutagen ? tincho General 5 Sabado, 14 Enero 2017, 13:06 Ver último mensaje
tincho
No hay nuevos mensajes [Python] Código Fuente De Los Libros Para... Shell Python 1 Lunes, 02 Abril 2018, 13:43 Ver último mensaje
Shell
No hay nuevos mensajes Termino. Biblioteca, Librería Shell General 6 Sabado, 06 Abril 2019, 11:29 Ver último mensaje
Shell
No hay nuevos mensajes Cración De Un Componente Que Usa Una Libr... tincho Proyecto gauchoCAD 9 Lunes, 08 Junio 2020, 22:04 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario