Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Web audio Api

Estas en el tema de Web audio Api en el foro de Javascript en Foros del Web. Hola, estoy desarrollando una aplicación que utiliza los datos o "metadatos" (no sabria muy bien como llamarlos) de un audio en concreto, utilizo un "AnalizerNode" ...
  #1 (permalink)  
Antiguo 13/02/2014, 10:40
Avatar de Pereirav  
Fecha de Ingreso: febrero-2014
Mensajes: 4
Antigüedad: 10 años, 2 meses
Puntos: 0
Web audio Api

Hola, estoy desarrollando una aplicación que utiliza los datos o "metadatos" (no sabria muy bien como llamarlos) de un audio en concreto, utilizo un "AnalizerNode" del Web Audio Api [URL="https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AnalyserNode-section"]https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AnalyserNode-section[/URL], algo así como los datos que utiliza un visualizador gráfico como este:



El caso es que aún consiguiendo "crear" un visualizador personalizado, no consigo extraer los datos que generan ese gráfico para hacer otro tipo de cosas.

Llevo mucho tiempo investigando y no se como extraerlos, o a lo mejor no se donde buscar, aunque con la API no he podido sacar lo que necesito.

Un saludo y gracias adelantadas.
  #2 (permalink)  
Antiguo 13/02/2014, 10:49
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Web audio Api

Mira este artículo, es bastante útil.

PD: Como adicional, debes debes de tener en cuenta de que la API de Audio es muy poco soportada actualmente.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 13/02/2014, 11:00
Avatar de Pereirav  
Fecha de Ingreso: febrero-2014
Mensajes: 4
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Web audio Api

Gracias por responder tan rapido, jonni09lo!!

Con ese artículo ya he estado experimentando y no pude sacar ninguna conclusión, es decir, no se de donde podría extraer los datos que necesito... ¿Quizas del "buffer source node"? ¿O estan alojados en el Array analyser.getByteFrequencyData(array)? No consigo verlo, se que está ahi, pero no puedo verlo... He de decir que no tengo mucha experiencia con javascript...

Muchas gracias!!
  #4 (permalink)  
Antiguo 13/02/2014, 11:10
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Web audio Api

Si revisas este código:

Código Javascript:
Ver original
  1. var gradient = ctx.createLinearGradient(0,0,0,300);
  2. gradient.addColorStop(1,'#000000');
  3. gradient.addColorStop(0.75,'#ff0000');
  4. gradient.addColorStop(0.25,'#ffff00');
  5. gradient.addColorStop(0,'#ffffff');
  6.  
  7. // when the javascript node is called
  8. // we use information from the analyzer node
  9. // to draw the volume
  10. javascriptNode.onaudioprocess = function() {
  11.  
  12.     // get the average for the first channel
  13.     var array =  new Uint8Array(analyser.frequencyBinCount);
  14.     analyser.getByteFrequencyData(array);
  15.  
  16.     // clear the current state
  17.     ctx.clearRect(0, 0, 1000, 325);
  18.  
  19.     // set the fill style
  20.     ctx.fillStyle=gradient;
  21.     drawSpectrum(array);
  22.  
  23. }
  24. function drawSpectrum(array) {
  25. for ( var i = 0; i < (array.length); i++ ){
  26.         var value = array[i];
  27.         ctx.fillRect(i*5,325-value,3,325);
  28.     }
  29. };

Notarás que lo que se usa para dibujar el espectro es el array generado por new Uint8Array(analyser.frequencyBinCount) y si revisas la función drawSpectrum verás de que es el encargado de dibujar las lineas.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #5 (permalink)  
Antiguo 13/02/2014, 11:13
Avatar de Pereirav  
Fecha de Ingreso: febrero-2014
Mensajes: 4
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Web audio Api

Muchas gracias de nuevo, jonni09lo, voy a partir de la información que me aclaras a ver que consigo sacar. Me has abierto los ojos!!
  #6 (permalink)  
Antiguo 13/02/2014, 11:16
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Web audio Api



No está de más decir que el código anterior no funcionará por si mismo ya que falta declarar javascriptNode. Solo extraje la parte importante

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #7 (permalink)  
Antiguo 13/02/2014, 11:22
Avatar de Pereirav  
Fecha de Ingreso: febrero-2014
Mensajes: 4
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Web audio Api

Ahám... y que es lo que hace exactamente "javascriptNode"?

En el código que estoy yo utilizando no lo introduzco, y creo igualmente un gráfico...
  #8 (permalink)  
Antiguo 13/02/2014, 11:32
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Web audio Api

Creo que debes de revisar bien el artículo que te mostré, allí se explica todo eso

En síntesis createJavaScriptNode, permite poder procesar el raw del audio con Javascript.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.

Etiquetas: api, audio, html5
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:23.