Re: [LAD] mixing while using libao and libsndfile

From: Andrea Del Signore <sejerpz@email-addr-hidden>
Date: Tue May 17 2016 - 08:32:32 EEST

On Tue, May 17, 2016 at 12:25 AM, David Griffith <dave@email-addr-hidden> wrote:

> On Mon, 16 May 2016, Andrea Del Signore wrote:
>
> > I've been knocking my head against a wall for more than a year trying to
>> > figure out how to correctly mix two streams of audio while using
>> > libsndfile for input and libao for output. My main requirement is that
>> > I cannot assume anything about the output drivers -- that is, I cannot
>> > depend on the output driver (ALSA, OSS, Sun, etc) being able to do the
>> > mixing for me. Many of my target platforms lack any sort of mixing
>> > services. I need to do this myself. I tried starting a mixer/player
>> > thread that would work in a producer/consumer relationship with one or
>> > two audio file decoder threads. I can play one sound at a time just
>> > fine. When I try to do both, I get distortion followed by a segfault.
>>
>> Hi,
>>
>> not sure if I understood correctly: do you just want to mix N files?
>>
>> Like you I'm learning libsndfile and libao so this is my attempt to mix
>> some audio files:
>>
>> http://pastebin.com/dm7z8b3Z
>>
>> HTH,
>> Andrea
>>
>> P.S.
>> Can someone explain line 88 (I already read the sndfile FAQ)?
>>
>
> I'm not simply trying to mix two files. My main project is a game engine
> in which two sounds are allowed at any one time. For instance, there can
> be constant background music punctuated by sound effects. I can't get
> these to mix correctly.
>
>
Hi,

in that case you can just skip the right number of frames before starting
playing sounds.

I modified my code to take the start time for each file and schedule the
play time with frame accuracy.

http://pastebin.com/0PMyfPvK

If you want your timing to be sample accurate the algorithm is a bit more
complex.

Ciao,
Andrea

_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Tue May 17 12:15:02 2016

This archive was generated by hypermail 2.1.8 : Tue May 17 2016 - 12:15:02 EEST