🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #17915

Re: Grabar/Reproducir Sonido en Linux (C).

#17915
From: Manuel López Moreno
Date: Fri, 15 Oct 1999 00:00
59 lines
2470 bytes
NoP / Compiler wrote:
> 
>  �Por cierto? Soporta esto full-duplex? es decir, puedo
> hacer writes y reads simultaneamente? Supon que quiero
> hacer, por ejemplo, un filtro en tiempo real ... �se
> puede? �COmo saber si la tarjeta es fullduplex? �Hay
> alguna funcion que devuelva las caract. del dsp?

Para trabajar en full-duplex, abres el dispositivo para lectura Y
escritura:

	fd = open( "/dev/dsp", O_RDWR );

Adem�s han de soportarlo la tarjeta y el driver.
��� Pues no tuvimos que esperar hasta el kernel 2.1.cientoypico para que
el se�or Hannu Savolainen le pusiera soporte full-duplex al driver de la
soundblaster, y poder escuchar el canal plus :/ !!!
(gracias Hannu :)


�Has pensado alguna vez en ejecutar un filtro de sonido
"interconectando" dos procesos?
Me explico:

	$ lee_sonido | filtro | reproduce_sonido

O dicho de otra forma:

	$ cat /dev/dsp | decodifica_nagra > /dev/dsp

Esto ahora no se puede (2 procesos diferentes accediendo simult�neamente
al driver de sonido), pero �molar�a o no?


Para averiguar las "capabilities" de la tarjeta hay que echar mano de
los ioctl.
Tienes la lista en /usr/include/linux/soundcard.h (el mejor manual sobre
programaci�n del sonido).
Por ejemplo...

	int	capacidades;
	ioctl( fd, SNDCTL_DSP_GETCAPS, &capacidades );
	if (capacidades & DSP_CAP_DUPLEX)
		puts( "Full Duplex" );

... es autoexplicativo.


Perdona el rollo gratuito, pero el tema sonido siempre me ha apasionado.
Y si adem�s te ponen un sistema Unix para trabajarlo (cat sonido.raw >
/dev/dsp) ... es sencillamente alucinante.
�Has pensado lo elegante y sencillo que quedar� tu programa en C/Linux?
�Y en MSDOS o Windows... qu� pinta tendr�a?
--- sin comentarios ---

Por �ltima vez:
	Gracias Hannu.

Saludos.
Technical Details
Message-ID: <3807968C.F3664673@jazfree.com>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <380323E8.859EF57A@iname.com> <3804AB7F.6F2AA29F@mx2.redestb.es> <3805AE5B.E7803709@iname.com>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,42e4d2388b647d2f
X-Google-Attributes: gidf86c8,public
From: Manuel López Moreno <luname@jazfree.com>
Subject: Re: Grabar/Reproducir Sonido en Linux (C).
Date: 1999/10/15
Message-ID: <3807968C.F3664673@jazfree.com>
X-Deja-AN: 537230813
Content-Transfer-Encoding: 8bit
References: <380323E8.859EF57A@iname.com> <3804AB7F.6F2AA29F@mx2.redestb.es> <3805AE5B.E7803709@iname.com>
X-Accept-Language: es, ca, en
Content-Type: text/plain; charset=iso-8859-1
Organization: Iddeo - Retevisi�n
Mime-Version: 1.0
Newsgroups: es.comp.os.linux.programacion