From mboxrd@z Thu Jan 1 00:00:00 1970 From: Florian Schmidt Subject: Re: hardware channel mixing Date: Fri, 3 Sep 2004 16:31:46 +0200 Sender: alsa-devel-admin@lists.sourceforge.net Message-ID: <20040903163146.110c2ba0@mango.fruits.de> References: <20040903155801.1ae48548@mango.fruits.de> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Errors-To: alsa-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: pat@dumaisnet.ca Cc: Clemens Ladisch , alsa-devel@lists.sourceforge.net List-Id: alsa-devel@alsa-project.org On Fri, 3 Sep 2004 10:04:29 -0400 (EDT) Patrick Dumais wrote: > > That's the thing. I'm writing a soft-sampler. meaning that I have > multiple samples playing at one time when the user presses the keys on > his midi keyboard. I don't like software mixing because I feel I could > gain quality by relying on the hardware (am I right?). No. > And I also want my app to go > faster by letting the hardware do this job. But I realize that opening > 16 devices (16voice polyphony for my app) can be ressource consuming, > so it's a drawback. I'm not too sure what to do. Also this will not help you any at all in avoiding latency [btw: what are you referring to as "go faster"?]. And yes, opening 16 devices is resource consuming.. > > Mixing is a little bit more than adding the samples together, you have > to do clipping and there is also a method shown on > http://www.vttoth.com/digimix.htm That method sounds like it's inappropriate for a soft sampler. Mixing is adding. period. The user will have to make sure not to bust the headroom by adjusting the samples gains. A method like in the link is maybe useful for game sound systems, etc.. but a professional audio app should avoid such approaches like hell. If you want to make sure you don't bust the headroom, use a hardlimiter[and process everything in a datatype that can hold the intermediate result], but i wouldn't want my sampler to tinker with the dynamics at all if not explicitly requested. > to make prevent one sound to be higher than the other one when one has > a silence in it. With that in mind I think I could get a high quality > sound for my app, but would it be worth all the processing? should I > still use more than one device instead, assuming that I would include > but functionalyties for users that don't have a compatible sound card. flo P.S.: you should come join the #lad channel on irc.freenode.org. there we can discuss in RT. I hang around there in the evening [gmt] usually P.P.S.: If you want to avoid all the alsa pcm troubles i strongly recommend using jack ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click