Article View: es.comp.os.linux.programacion
Article #17915Re: Grabar/Reproducir Sonido en Linux (C).
From: Manuel López Moreno
Date: Fri, 15 Oct 1999 00:00
Date: Fri, 15 Oct 1999 00:00
59 lines
2470 bytes
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-mailReferences:
<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