FMOD Ex

Started by josebita, September 15, 2009, 05:14:28 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

josebita

Gracias :) Yo diría que el WMP y mi ejemplo pintan cosas distintas, al menos el rango que se pinta probablemente sea distinto.
Vamos, ya me cuentas qué tal funciona cuando lo vayas usando.

SplinterGU

Quote from: Danielo515 on November 26, 2010, 12:39:08 PM
Está genial! No me he puesto con el código aún, solo he probado el ejecutable, pero para que veas aquí te pongo una comparación de cómo lo ve el windows media y cómo lo ve tu programa con una canción de Amon Amath.



No entiendo mucho de sonido, pero me parece que no teiene por que mostrar lo mismo, ya que pueden estar representando distintos rangos del espectro y/o distintos zooms.

para mi, no tiene que verse igual.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Leí hace tiempo (creo que ya hace casi un año, cómo pasa el tiempo) que existe un fenómeno inexplicable por el que toda señal real convertida a su FFT genera unos picos a frecuencias muy bajas, y cuando digo inexplicable es que aun no han demostrado por qué se da este fenómeno.

También es sabido que las señales graves suenan más fuerte pero no llegan tan lejos como las agudas, de ahí la diferencia de tamaño entre el woofer y el twitter.

Sería una librería muy interesante para FrikiMusic 2, añadirle el micrófono de WIZ/CAANOO en plan minijuego... Decidme que funciona en WIZ, que admite algún formato modular, que se puede silenciar en cualquier momento el canal que se quiera, y que se puede reproducir cualquier sonido a la frecuencia que se quiera, y me pongo a trabajar hoy mismo.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Danielo515

Quote from: SplinterGU on November 26, 2010, 01:50:06 PM

No entiendo mucho de sonido, pero me parece que no teiene por que mostrar lo mismo, ya que pueden estar representando distintos rangos del espectro y/o distintos zooms.

para mi, no tiene que verse igual.

Ya me di cuenta yo de que no es igual, solo lo puse para demostrar que la he probado  ;D

josebita

Quote from: Drumpi on November 27, 2010, 01:14:49 AM
Leí hace tiempo (creo que ya hace casi un año, cómo pasa el tiempo) que existe un fenómeno inexplicable por el que toda señal real convertida a su FFT genera unos picos a frecuencias muy bajas, y cuando digo inexplicable es que aun no han demostrado por qué se da este fenómeno.

También es sabido que las señales graves suenan más fuerte pero no llegan tan lejos como las agudas, de ahí la diferencia de tamaño entre el woofer y el twitter.

En realidad es un poco al revés: la atenuación de las señales aumenta con la frecuencia, de forma que las señales más agudas (a pesar de ser señales más energéticas) "desaparecen" antes. Esa es la razón de que cuando te alejas de algún sitio con la música alta, sólo se oiga la base rítmica (el chunta-chunta, vamos).

Quote from: Drumpi on November 27, 2010, 01:14:49 AMSería una librería muy interesante para FrikiMusic 2, añadirle el micrófono de WIZ/CAANOO en plan minijuego... Decidme que funciona en WIZ, que admite algún formato modular, que se puede silenciar en cualquier momento el canal que se quiera, y que se puede reproducir cualquier sonido a la frecuencia que se quiera, y me pongo a trabajar hoy mismo.
He estado mirando por los foros de FMOD y he visto que no tienen soporte oficial para plataformas ARM porque la FMOD necesita que el procesador incluya una FPU y es común que muchos chips de la familia ARM no la tengan. Me imagino que según vaya popularizándose la plataforma, acabarán saliendo más procesadores con FPU y acabaran sacando versión. De momento no puede ser.

Y sí, veo que se puede cambiar la frecuencia de reproducción del sonido, intentaré añadirlo a la librería. Gracias por la idea :)

Drumpi

Quote from: josebita on November 27, 2010, 04:20:17 PM
En realidad es un poco al revés: la atenuación de las señales aumenta con la frecuencia, de forma que las señales más agudas (a pesar de ser señales más energéticas) "desaparecen" antes. Esa es la razón de que cuando te alejas de algún sitio con la música alta, sólo se oiga la base rítmica (el chunta-chunta, vamos).

Por lo visto ayer estaba sembrado: lo dije justo al revés ^^U

Quote from: josebita on November 27, 2010, 04:20:17 PMHe estado mirando por los foros de FMOD y he visto que no tienen soporte oficial para plataformas ARM porque la FMOD necesita que el procesador incluya una FPU y es común que muchos chips de la familia ARM no la tengan. Me imagino que según vaya popularizándose la plataforma, acabarán saliendo más procesadores con FPU y acabaran sacando versión. De momento no puede ser.

Y sí, veo que se puede cambiar la frecuencia de reproducción del sonido, intentaré añadirlo a la librería. Gracias por la idea :)

Mmm, vaya hombre. Supongo que el mayor problema es la FFT, que usa números reales. Es una lástima. Más que nada, me hubiera interesado lo de silenciar canales para no tener que usar varios WAVs cargados en memoria sonando a la vez.
De todas maneras, tengo que mirar cierta librería de FFT, creo que no usa FPU, que es compatible con ARM (oye, no tienen FPU, pero sí DSP, que es más potente para eso).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

josebita

#21
Hombre, me imagino que si la mod_sound diera acceso directo al buffer de sonido se podría apañar algo. No lo sé seguro pero yo diría que la SDL_Mixer da soporte para eso.
Luego habría que portar alguna librería que hiciera la FFT por tí o hacerla a mano, pero eso en ppio. no sería el mayor problema. Otra opción que miré es cAudio que tiene muy buena pinta... No recuerdo por qué, pero al final opté por usar FMOD.

Erkosone

Hola, como anda esta librería Josebita? hay alguna novedad? conseguiste reproducir sonidos con frecuencia variable?
Tengo en mente un proyecto que aunque sencillo va a ser la delicia de todo aquél aficionado a los caraokes jeje.. es un vocoder y esto es justo lo que hace falta, acceso al FFT y poder reproducir sonidos en modo loop con variación de frecuencia y amplitud.

josebita

Quote from: Erkosone on April 09, 2013, 05:24:49 AM
Hola, como anda esta librería Josebita? hay alguna novedad? conseguiste reproducir sonidos con frecuencia variable?
Tengo en mente un proyecto que aunque sencillo va a ser la delicia de todo aquél aficionado a los caraokes jeje.. es un vocoder y esto es justo lo que hace falta, acceso al FFT y poder reproducir sonidos en modo loop con variación de frecuencia y amplitud.
Hola:

Pues la librería la tengo aparcada: la creé mientras jugaba con mi karaoke y me sirvió bien así que no la avancé más pero si la quieres para algo, puedo mapear alguna función más.
He estado revisando el API de FMOD Ex y lo de cambiar la frecuencia debería ser algo trivial. Si te interesa y me dices para qué sistemas la quieres, puedo añadir un par de funciones para eso y recompilar la librería.

Tienes una copia de la última versión del código aquí:
https://code.google.com/p/bennugd-monolithic/source/browse/#svn%2Fbranches%2Fmy_monolithic%2Fmodules%2Fmod_fmodex


Erkosone

Ostras Joseba pues me interesa mucho jeje, por que quiero hacer algo bastante innovador, ya no a nivel de BennuGD o similares si no a nivel global, mientras estaba trabajando se me encendió la bombilla y se me ocurrió una idea bastante buena creo.


Soy aficionado a la composición musical amateur y suelo usar todo tipo de VST y VSTi pero no he logrado encontrar un VST que haga lo que quiero programar, si te tomaras la molestia de recompilar la lib para windows solo con esto te lo agradecería de la única forma que puedo, colgando en la sección recursos el programa que quiero hacer ;)


En un lenguaje como C o C++ sería bastante complejo por que hace falta montar toda la estructura que tienen los lenguajes como bennu para el sonido así que en bennu con todo este trabajo ya hecho debería ser cosa de una tarde el tener listo el programa.




Lo que necesito exactamente es esto:
- Una función que me permita reproducir un sonido en modo LOOP.
- Una función que me permita manipular en tiempo real el volumen del channel por donde se reproduce el sonido. "amplitud".
- Una función que me permita manipular en tiempo real la velocidad de reproducción del sonido "pitch".
- Una función que me permita acceder al espectro de frecuencias del micrófono.


Si me la recompilas y todo funciona bien te aseguro que pasarás un buen rato usando el programa jeje.. si todo funciona como espero va a ser algo bastante interesante ;)

josebita

Ok, lo miraré.
No queda nada complicado en lo que pides, así que no debería ser mucho trabajo.

Erkosone

Muchisimas Gracias Joseba, creo que te molará el invento jeje..
Y así de paso te testeo a fondo la lib por que voy a usar muchos canales de audio ;)
Gracias de nuevo tio.

Erkosone

Dios.. que ganas de pillar esta librería Joseba.. no te haces a la idea jeje..

josebita

Quote from: Erkosone on April 10, 2013, 05:14:39 AM
Dios.. que ganas de pillar esta librería Joseba.. no te haces a la idea jeje..
:D En cuanto saque un rato me monto el entorno de compilación para Bennu en Windows y te la mando.

Erkosone