Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Grabar Datos Audio Con Las Funciones Externas Del API De Alsa
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Grabar Datos Audio Con Las Funciones Externas Del API De Alsa 
 
Señalo esta página que explica cómo grabar datos de audio con las funciones externas del API de Alsa para crear un archivo WAV:

http://www.gambas-it.org/wiki/index...0_Registrazione
 



 
última edición por vuott el Jueves, 06 Marzo 2014, 03:25; editado 3 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Grabar Datos Audios Con Las Funciones Externas Del API De Alsa 
 
Vuott:

Acerca de Alsa:

Tengo este programa en Python:

enlace a pastebin: http://pastebin.com/embed_js.php?i=Z1hJZds7


Que lo que hace es escuchar el micrófono del ordenador y crea un archivo donde muestra el valor de medio del sonido producido en un tiempo determinado.

¿sabrias como podria hacerlo en gambas, con llamadas externas?
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Grabar Datos Audios Con Las Funciones Externas Del API De Alsa 
 
jsbsan escribió: [Ver mensaje]

¿sabrias como podria hacerlo en gambas, con llamadas externas?

Al final, la base es similar a la de los ejemplos en la página que reporté.

Yo no conozco Python, pero relativamente a la parte de Alsa yo diría que el código es el siguiente:
Library "libasound:2"

Private Const SND_PCM_STREAM_CAPTURE As Byte = 1
Private Const SND_PCM_NONBLOCK As Byte = 1
Private Const SND_PCM_FORMAT_S16_LE As Byte = 2         ' 16bit little-endian
Private Const SND_PCM_ACCESS_RW_INTERLEAVED As Byte = 3

' int snd_pcm_open(snd_pcm_t **pcm, const char *name, snd_pcm_stream_t stream, int mode)
Private Extern snd_pcm_open(handleP As Pointer, nome As String, flusso As Integer, mode As Integer) As Integer

' int snd_pcm_set_params(snd_pcm_t * pcm, snd_pcm_format_t format, snd_pcm_access_t access, unsigned int channels, unsigned int rate, int soft_resample, unsigned Int latency)
Private Extern snd_pcm_set_params(pcm As Pointer, formatInt As Integer, accesso As Integer, channels As Integer, rate As Integer, soft_resample As Integer, latency As Integer) As Integer

' snd_pcm_sframes_t snd_pcm_readi (snd_pcm_t *pcm, void *buffer, snd_pcm_uframes_t size)
Private Extern snd_pcm_readi(pcm As Pointer, buffS As Short[], sInt As Integer) As Integer

' const char * snd_strerror (int errnum)
Private Extern snd_strerror(errnum As Integer) As String
    
' snd_pcm_close(snd_pcm_t *pcm)
Private Extern snd_pcm_close(pcm As Pointer)


Public Sub Main()

 Dim handle As Pointer
 Dim device As String = "default"
 Dim frecuencia, canales As Integer

' Establece la frecuencia de muestreo de 8000 Hz, el canal MONO:
  frecuencia = 8000
  canales = 1

' Inicializa el sub-sistema PCM de Alsa modo "nonblocking":
  err = snd_pcm_open(VarPtr(handle), device, SND_PCM_STREAM_CAPTURE, SND_PCM_NONBLOCK)
  If err < 0 Then Error.Raise("Error inicializando el sub-sistema PCM: " & snd_strerror(err))

' Establece los parámetros del sub-sistema Alsa PCM para la grabacion:
  err = snd_pcm_set_params(handle, SND_PCM_FORMAT_S16_LE, SND_PCM_ACCESS_RW_INTERLEAVED, canales, frecuencia, 1, 0)
  If err < 0 Then Error.Raise("Error en la configuración de los parametros del sub-sistema PCM: " & snd_strerror(err))

........
........

  snd_pcm_close(handle)

End


Ciao
 



 
última edición por vuott el Jueves, 13 Febrero 2014, 16:40; editado 4 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Grabar Datos Audios Con Las Funciones Externas Del API De Alsa 
 
vuott:

Ok, gracias, le echo un vistazo.

Saludos

Julio
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

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