Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Generar Una Onda Sinusoidal Con Los Solos Recursos De Gambas
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Generar Una Onda Sinusoidal Con Los Solos Recursos De Gambas 
 
Es posible generar una onda audio sinusoidal con los solos recursos de Gambas.

He escrito un resumen en esta pagina del WIKI de Gambas-it.org:
http://www.gambas-it.org/wiki/index...zioni_di_Gambas
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Generar Una Onda Sinusoidal Con Los Solos Recursos De Gambas 
 
vuott escribió: [Ver mensaje]
Es posible generar una onda audio sinusoidal con los solos recursos de Gambas.

He escrito un resumen en esta pagina del WIKI de Gambas-it.org:
http://www.gambas-it.org/wiki/index...zioni_di_Gambas


me gusto la simpleza de tu metodo

el WAV no tiene headers???
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Generar Una Onda Sinusoidal Con Los Solos Recursos De Gambas 
 
[quote user="tercoIDE" post="24837"]
vuott escribió: [Ver mensaje]


el WAV no tiene headers???

El bloque header de un file WAV es constituido de los primeros 44 byte.
En el codigo estos byte estan en el vector "bb".
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Generar Una Onda Sinusoidal Con Los Solos Recursos De Gambas 
 
Hola Vuott.

Existe un nombre de variable en el procedimiento "Crea_File_WAV"
Que tiene el mismo nombre que un tipo de datos...Int...



En el mismo procedimiento la variable "dg" no se reconoce. No hay tampoco una variable pública con el mismo nombre
  Write #I, Lof(dg) + 36 As Integer
 


Un poco rara esta expresión:
File.Save("/tmp/onda.wav", File.Load("/tmp/blocco_header") & File.Load("/tmp/datigrezzi"))
 


Precisamente el otro día estaba quejándome ya que a veces los lenguajes ofrecen facilidades o comodidades,
y es que los programadores somos muy comodones. Pero aun mas!.

Resulta que en Python los identificadores o nombres de las variables se diferencian las minúsculas de las mayúsculas.
Quiere decir que Digito no es lo mismo que digito. Pues en el código que estaba viendo se había usado estas dos palabras..
No me parece correcto y además crea malas costumbres.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Jueves, 22 Enero 2015, 10:31; editado 4 veces 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Generar Una Onda Sinusoidal Con Los Solos Recursos De Gambas 
 
Shell escribió: [Ver mensaje]
Existe un nombre de variable en el procedimiento "Crea_File_WAV"
Que tiene el mismo nombre que un tipo de datos...Int...



En el mismo procedimiento la variable "dg" no se reconoce. No hay tampoco una variable pública con el mismo nombre
  Write #I, Lof(dg) + 36 As Integer
 



Uh ! Gracias Shell.
Sì, al cambiar posteriormente unas líneas de comandos en la procedura "Crea_File_WAV", cometí algun error de distracción.   smileysuicide
Ahora he corregido el codigo.
Gracias.


Shell escribió: [Ver mensaje]

Un poco rara esta expresión:
File.Save("/tmp/onda.wav", File.Load("/tmp/blocco_header") & File.Load("/tmp/datigrezzi"))
 


...pero muy util para unir rápidamente dos o mas archivos.  

Saludos
 



 
última edición por vuott el Jueves, 22 Enero 2015, 17:05; editado 2 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Generar Una Onda Sinusoidal Con Los Solos Recursos De Gambas 
 
Muy Interesante Vuott.

La he reproducido en la aplicación Audacity.

 onda1

He calculado "por encima" la frecuencia de la onda y me da aproximadamente 500hz. No es fácil verlo en la escala de la aplicación. Es una aproximación.
A una frecuencia de 440 Hz. Nos da un tiempo de 0,002272727 s. Y a una frecuencia de 500Hz, no da unos 0,002s ( 2mS)

 seleccion_de_onda

Es aproximado. Habría que aumentar la escala para ser más precisos.
Un oído sano puede percibir una frecuencia entre 20Hz a 20Khz. A una frecuencia de 2Khz si he visto mejor el tiempo con la escala.

Cuestión. ¿ Debemos grabar para poder escuchar la onda ?.
Tiene un tiempo de creación de la onda, no es algo instantáneo.
No es tan rápido como el ejemplo que mandaste a la comunidad internacional. En cambio la onda en gambas parece que suena mucho mejor que usando
la librería libasound y eso que usaste una frecuencia de muestreo mayor.(48Khz)

Sería interesante generar la onda en tiempo real y que la creación de esta no tardase mucho.

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: Generar Una Onda Sinusoidal Con Los Solos Recursos De Gambas 
 
Shell escribió: [Ver mensaje]


Sería interesante generar la onda en tiempo real y que la creación de esta no tardase mucho.



C only
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Generar Una Onda Sinusoidal Con Los Solos Recursos De Gambas 
 
Shell escribió: [Ver mensaje]
Cuestión. ¿ Debemos grabar para poder escuchar la onda ?.
Tiene un tiempo de creación de la onda, no es algo instantáneo.


Sí, es posible. Haría falta estudiar la solución a través de las funciones externas de ALSA.
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Generar Una Onda Sinusoidal Con Los Solos Recursos De Gambas 
 
Hola!.

Si queréis ver otra posibilidad de crear una onda sinusoidal. Esta vez con Python podéis verlo en:

http://codigoparallevar.blogspot.co...audio-para.html

Es para Python2, si lo ejecutáis en Python3 no reconoce la función xrange.
He mirado que hace la función xrange.

Citar:

Like range(), but instead of returning a list, returns an object that
 |  generates the numbers in the range on demand.  For looping, this is
 |  slightly faster than range() and more memory efficient.


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
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Generar Un Archivo Php En Gambas jousseph Aplicaciones/Fragmentos de Código 6 Domingo, 18 Marzo 2012, 19:07 Ver último mensaje
jousseph
No hay nuevos mensajes Representar Onda Oscilante Shell General 1 Domingo, 19 Junio 2016, 20:33 Ver último mensaje
Shell
No hay nuevos mensajes Obtener La Forma De La Onda De Sonido Con ... vuott Aplicaciones/Fragmentos de Código 4 Viernes, 23 Septiembre 2016, 13:45 Ver último mensaje
vuott
No hay nuevos mensajes Generar Una Onda Senoidal Audio vuott Aplicaciones/Fragmentos de Código 4 Viernes, 24 Agosto 2018, 23:46 Ver último mensaje
jguardon
 

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

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
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
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron