Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





A3D y EAX

Iniciado por Emotion, 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

synchrnzr

                                Creo que me he equivocado de nuevo. En las preguntas sobre interpolación ¿te referías a un filtro convolutivo, basado en la convolución con una sinc, verdad (por eso ponías lo del sin(x)/x)? En ese caso, lo he implementado en C. También lo implementé para ensamblador de ARM7TDMI (GameBoy Advance) Aunque optimizándolo al máximo, necesita demasiado tiempo de proceso para esa máquina y tuve que quitarlo ^_^'

[ Este Mensaje fue editado por: synchrnzr el 2002-05-02 18:08 ]                                

Emotion

                                Vaya, ahora si que estoy mas liado que la pata de un romano... jarrll... :sonriendo:

En fin, la verdad es que algo si he sacado en claro (espero no haberme hecho la picha un lio) y es que deberia usar otro formato que no sea el ADPCM, no?

La verdad es que imagine que al reducir el fichero una cuarta parte y eliminando las frecuencias inaudibles (o las mas debiles) conseguiria reducir el espacio mas, pero claro, si hay que tener en cuenta la posibilidad de que determinados espectros se repitan a lo largo de una muestra, entonces creo que tal vez deberia usar otro formato, lo que pasa es que quiero que entendais algo, y es lo siguiente:

Yo quiero esto para implementar sonido en mi motor, el cual estoy desarrollando para fines comerciales (quiero hacer juegos comerciales con el), por lo que el formato que escoja debe estar libre de royalties (a no ser que los royalties sean infimos o no sean EN TOTAL muy prohibitivos, si bien prefiero la via gratis total :sonriendo:).

Lo que si tengo decidido es que la API sera DirectSound, ya que asi me aseguro que va a funcionar en todos los PCs (que usen Windows, naturalmente), aunque me quedan por saber unas cuantas cosas, como por ejemplo el nivel del calidad o de potencia (me refiero a la calidad de la simulacion) de DirectSound3D (tenia entendido que las APIs de EAX y A3D salieron al mercado como una manera de sustituir la programacion con DirectSound3D porque decian que no era muy bueno, aunque me gustaria que me lo confirmarais)...

Otra cosa que me intriga es el hecho de que, segun me han dicho, si utilizo DirectMusic para la musica tengo que organizar mi pista de audio en segmentos (o algo asi), de forma que si quisiera pasar de una pista de audio a otra seria facil mediante segmentos, lo que pasa es que ahora mismo no soy capaz de imaginar como podria hacer lo de los segmentos o como podria organizar los datos de manera que las pistas de audio encajaran en segmentos

De todos modos, me gustaria saber si vosotros habeis probado lo de los segmentos y el sonido en 3D :sonriendo:

Gracias y perdon por el interminable toston :sonriendo:

P.D. para sync: tio pagaste los 6000$ que dicen que cuesta el kit de desarrollo para el micro de la GBA???
_________________
Julio Meca
ALPHA SOFTWARE

[ Este Mensaje fue editado por: Emotion el 2002-05-02 18:13 ]                                
G3: Get the Power!

synchrnzr

                                Lo siento, no quería liarte con el mensaje anterior. En resumen: como bien dices, no utilices ADPCM (almenos en eso nos ponemos todos de acuerdo ^_^') Sobre lo que dices de reducir el espacio y demás en el segundo párrafo no diré nada más ya porque veo que debo explicarme muy mal: amplia tus conocimientos con documentos oficiales o libros, aprenderás mucho más que en los foros ^_^

Lo que dices del DirectSound, me gustaría poder compararlo con los SDKs del A3D y el EAX para poder contestare con más precisión. Sólo puedo decirte que no he echo nada de menos en el DirectSound (la velocidad del sonido tal vez, que la tuve que emular "a mano" y alguna cosilla más, pero poco) y su simulación 3D es suficientemente buena en mi opinión. No mencionaré los algoritmos de simulación que utiliza, no sea que me tachen de complicar los mensajes inútilmente u ofenda a alguien (me siento censurado, en cierto modo...) pero están los más importantes y creo que son suficientes. Yo lo utilizaría. Bueno, lo utilizo, de hecho :ojo:

De DirectMusic te diría que una opción es utilizar meta-eventos marcadores para marcar los segmentos, pero cómo no he tocado el tema casi nunca (ni pienso hacerlo) dejaré que alguien dé una mejor solución.

Por cierto: no es necesario comprar el kit oficial para programar GameBoy Advance. Por supuesto que no he pagado nada por el SDK ni del micro ni de la AGB, existen varias alternativas a ello.

Un saludo

Sync :guay:

PD: ¿Cómo puedes disculparte por el tostón del mensaje después del post tipo "Quijote" que he puesto? XDDD                                

synchrnzr

                                Bueno, he aquí un par de definiciones del ADPCM sacadas de manuales oficiales:

"Adaptive Differential Pulse Code Modulation; encoding technique, standardized by the CCITT, that allows an analog voice conversation to be carried within a 32k-kbit/s digital channel; 3 or 4 bits are used to describe each sample, which represents the difference between two adjacent samples. Sampling is 8,000 times a second."

"A variation of pulse code modulation (PCM) that only sends the difference between two adjacent samples. This produces a lower bit rate and is sometimes used to effectively compress a voice signal, allowing both voice and digital data to be sent where only one would normally be sent."

Bueno, pues ya me he remirado un poco el tema para satisfacerte, mallrat. A ver si esto te convence más:

La calidad del ADPCM estándar es debida a la cuantización y muestreo de la señal, al igual que la calidad del PCM.

No es porque realice ningun tipo de compresión sobre una señal previamente muestreada: el ADPCM es un método de codificación como ya dije y la calidad deriva directamente de los parámetros de muestreo y no de ningun tipo compresión.

En el caso del estándar del CCITT es lógico que la cálidad sea baja porqué utiliza 3 o 4 bits por diferencia y el muestreo es a 8000Hz, pero no sólo se pueden utilizar esos parámetros en ADPCM. Entendería que me dijeras que un WAV pierde calidad al recodificarlo en el ADPCM estándar del CCITT. Es lo mismo que si me dices que una pista de CD la recuantizas a 11025Hz y 8 bits y pierde calidad. ¿Acaso la pierde por el hecho de estar codificado en PCM? Piénsalo bien ¿en ADPCM de 16bits a 44100Hz qué pérdida de calidad hay en relación a la correspondiente representación PCM de 16bits 44100Hz? Ninguna. De hecho, aunque no voy a hacer la demostración aquí, incluso se puede conseguir mayor calidad. Reitero: el ADPCM no se puede entender como un sistema de compresión. Y aun es menos concebible que sufra pérdida de información.

Una vez más: no quiero poner en duda los conocimientos ni la reputación de nadie, pero sigo creyendo, mallrat, que deberías repasar un poco el tema porque lo del algoritmo de predicción que tú dices no lo he visto en ninguna especificación ni lo recuerdo remotamente (sí recuerdo bien lo demás y creo que no me he equivocado en nada) Créeme que no te lo digo con ninguna mala intención. Tal vez es que debo tener algo de vocación de profe... (aunque no me gusta mucho serlo ^_^)

También espero que este mensaje te parezca suficientemente respetuoso y no te me tires al cuello como en tu otro mensaje :ojo:

Lo último que voy a intentar aclarar, a todos en general, es un problema conceptual:

ADPCM, ACM, PCM,... son representaciones en el dominio temporal. Los streams de MP3, VQF,... son representaciones en el dominio frecuencial.

Ningún tipo de compresión en el dominio frecuencial sirve para reducir la cantidad de información en el dominio temporal y viceversa.

Lo que tú decías, Julio, de eliminar bandas de frecuencias de un WAV y volverlo a codificar en WAV, ya sea en PCM, ADPCM, ACM o cualquier otra representación temporal de las decenas que soporta la estructura WAVEFORMATEX: si tienes 1 segundo a 44100Hz 16 bits, el fichero te ocupará 1 * 44100 * 2 = 88200 bytes + cabecera tanto si le has recortado las frecuencias inaudibles como si no.

Vaya, es que me gustaría, por lo menos, que entendiérais que no os sirve para nada comprimir en el dominio frecuencial para volver a pasárlo a temporal. Es lo mismo que pasar un WAV a MP3, 128kbps y volverlo a descomprimir: no sirve de nada solo pierdes calidad.

En fin, se me está acabando el afán de haceros entender un poco el tema, especialmente al ver que el esfuerzo que me supone no es bien recibido. La verdad es que me arrepiento de haber vuelto a escribir un mensaje tan largo (especialmente porque tengo unas prácticas de Robótica para mañana y con haberme enrollado tanto, ya no las acabo ^_^') Simplemente, no lo volveré a hacer. Si alguien tiene interés, que lo diga y le explico lo que quiera por mail. A partir de ahora, en el foro, sólo responderé preguntas que me hagais directamente.

Aprovecho para recomendar a todos que si necesitais información, vayais a buscarla a los sites, manuales técnicos y libros oficiales, que esos seguro que no se equivocan y no en los foros.

Sync :guay:

PD: Por cierto: haciendo balance ahora que me quedan 1 o 2 años para terminar la carrera, la verdad es que no he ido a demasiadas clases en la Uni, o sea que no habré aprendido mucho en ellas... ^_^'                                

Bohemme

                                Synchnz, eres un picao. Pero si no tienes ni idea!!!!!                                

synchrnzr

                                Ya tenías que salir por medio XDDD                                

Zaelsius

                                Bueno, no todo es tan complicado en la vida. Os recuerdo que podeis reproducir MP3 con DirectX 8( DirectShow concretamente).

Este topic me deja loco a veces.                                

Emotion

                                Vale, entonces la cosa se queda en que se puede reproducir el MP3, pero vuelvo a insistir... hay que pagar por utilizar MP3 en un juego comercial? es que a mi, por ahora, si hay que pagar, no me sirve... tiene que ser algo que sea totalmente gratuito y sin royalties ni ningun impuesto de ninguna clase...
                               
G3: Get the Power!

NeLo

                                Como ya dije...

Si usas mp3, debes pagar.

Concretamente, creo que debes pagar royalties por cada copia vendida, aunque no se si seguirá siendo asi.                                
Drowning deep in my sea of loathing

Emotion

                                Por cada copia del juego o por cada pista de audio que lleve el juego?                                
G3: Get the Power!

NeLo

                                Por cada copia vendida. La cantidad o porcentaje por copia no lo se, quizas dependa de los archivos mp3 que use.
                               
Drowning deep in my sea of loathing

Emotion

                                Ay... porque tengo la sensacion de que voy a acabar pagandole la universidad de los niños a la gente del Fraunhofer Insitute (eran estos los del MP3, no?) y los de la SGAE??

Seran cosas mias... :malvado:                                
G3: Get the Power!

NeLo

                                Y vuelvo a repetirme...

Una alternativa a mp3 es OGG Vorbis.
www.vorbis.com                                
Drowning deep in my sea of loathing

Emotion

                                Si, lo he visto... aunque aun tengo que leerme las cosas que salen en la pagina, lo que pasa es que cuando lei que estaba hecho con licencia GPL me vine un poco abajo, ya que segun tengia entendido (puedo estar equivocado y algo me dice que asi es...) el codigo bajo licencia GPL se podia obtener gratis pero no podias sacar beneficios con el, o eso era con la LGPL... creo que me estoy haciendo la picha un lio... :sonriendo:                                
G3: Get the Power!

NeLo

                                What licensing applies to the Ogg Vorbis format?
The OggVorbis specification is in the public domain. It is completely free for commercial or noncommercial use. That means that commercial developers may independently write OggVorbis software which is compatible with the specification for no charge and without restrictions of any kind. However, developers that wish to use the open source software we have written must adhere to certain rules.
                               
Drowning deep in my sea of loathing






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.