All of lore.kernel.org
 help / color / mirror / Atom feed
* Mix audio at different frequencies
@ 2006-05-12 10:25 Juan Zapatero
  2006-05-12 12:10 ` Takashi Iwai
  0 siblings, 1 reply; 17+ messages in thread
From: Juan Zapatero @ 2006-05-12 10:25 UTC (permalink / raw)
  To: alsa-devel

Hello,
I need to mix in playback two different audio streams, one coming from
an ogg player, which is at 44100Hz, and the other one, coming out of a
VoIP application, in this case, at 8000Hz. As I am using the dmix plugin
for mixing, I can't find out how to implement the resampling operations
needed.

Thanks. 


______________________
Este mensaje, y en su caso, cualquier fichero anexo al mismo,
 puede contener informacion clasificada por su emisor como confidencial
 en el marco de su Sistema de Gestion de Seguridad de la 
Informacion siendo para uso exclusivo del destinatario, quedando 
prohibida su divulgacion copia o distribucion a terceros sin la 
autorizacion expresa del remitente. Si Vd. ha recibido este mensaje 
 erroneamente, se ruega lo notifique al remitente y proceda a su borrado. 
Gracias por su colaboracion.
______________________
This message including any attachments may contain confidential 
information, according to our Information Security Management System,
 and intended solely for a specific individual to whom they are addressed.
 Any unauthorised copy, disclosure or distribution of this message
 is strictly forbidden. If you have received this transmission in error,
 please notify the sender immediately and delete it.
______________________


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Mix audio at different frequencies
  2006-05-12 10:25 Mix audio at different frequencies Juan Zapatero
@ 2006-05-12 12:10 ` Takashi Iwai
  2006-05-15  7:06   ` Juan Zapatero
  0 siblings, 1 reply; 17+ messages in thread
From: Takashi Iwai @ 2006-05-12 12:10 UTC (permalink / raw)
  To: Juan Zapatero; +Cc: alsa-devel

At Fri, 12 May 2006 12:25:41 +0200,
Juan Zapatero wrote:
> 
> Hello,
> I need to mix in playback two different audio streams, one coming from
> an ogg player, which is at 44100Hz, and the other one, coming out of a
> VoIP application, in this case, at 8000Hz. As I am using the dmix plugin
> for mixing, I can't find out how to implement the resampling operations
> needed.

Use plug or rate plugin.  The default setting does it automatically,
too.

Note that the rate plugin in 1.0.11 release has some bugs that was
already fixed on HG repo.


Takashi


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Mix audio at different frequencies
  2006-05-12 12:10 ` Takashi Iwai
@ 2006-05-15  7:06   ` Juan Zapatero
  2006-05-15 10:03     ` Takashi Iwai
  2006-05-16 20:49     ` Lee Revell
  0 siblings, 2 replies; 17+ messages in thread
From: Juan Zapatero @ 2006-05-15  7:06 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

What do you mean? Here is my .asoundrc, what has to be changed?

# this makes native ALSA apps default to using dmix
pcm.!default {
  type plug
  slave.pcm "duplex"
}

ctl.!default {
  type hw
  card 0
}

pcm.duplex{
   type asym
   playback.pcm "dmix0"
   capture.pcm "plughw:0,0"
}

pcm.dmix0 {
    type dmix
    ipc_key 219345           # any unique number here
    slave {
            pcm "hw:0,0"
            period_time 0
            #buffer_time 0
            period_size 2048    # jm: much smoother than 1024/8192!
            buffer_size 32768
            rate 44100
    }    
    bindings {
        0 0   # from 0 => to 0
        1 1   # from 1 => to 1
    }
}





El vie, 12-05-2006 a las 14:10 +0200, Takashi Iwai escribió:
> At Fri, 12 May 2006 12:25:41 +0200,
> Juan Zapatero wrote:
> > 
> > Hello,
> > I need to mix in playback two different audio streams, one coming from
> > an ogg player, which is at 44100Hz, and the other one, coming out of a
> > VoIP application, in this case, at 8000Hz. As I am using the dmix plugin
> > for mixing, I can't find out how to implement the resampling operations
> > needed.
> 
> Use plug or rate plugin.  The default setting does it automatically,
> too.
> 
> Note that the rate plugin in 1.0.11 release has some bugs that was
> already fixed on HG repo.
> 
> 
> Takashi


______________________
Este mensaje, y en su caso, cualquier fichero anexo al mismo,
 puede contener informacion clasificada por su emisor como confidencial
 en el marco de su Sistema de Gestion de Seguridad de la 
Informacion siendo para uso exclusivo del destinatario, quedando 
prohibida su divulgacion copia o distribucion a terceros sin la 
autorizacion expresa del remitente. Si Vd. ha recibido este mensaje 
 erroneamente, se ruega lo notifique al remitente y proceda a su borrado. 
Gracias por su colaboracion.
______________________
This message including any attachments may contain confidential 
information, according to our Information Security Management System,
 and intended solely for a specific individual to whom they are addressed.
 Any unauthorised copy, disclosure or distribution of this message
 is strictly forbidden. If you have received this transmission in error,
 please notify the sender immediately and delete it.
______________________


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid\x120709&bid&3057&dat\x121642

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Mix audio at different frequencies
  2006-05-15  7:06   ` Juan Zapatero
@ 2006-05-15 10:03     ` Takashi Iwai
  2006-05-15 11:25       ` Juan Antonio Zapatero Campo
  2006-05-16 20:49     ` Lee Revell
  1 sibling, 1 reply; 17+ messages in thread
From: Takashi Iwai @ 2006-05-15 10:03 UTC (permalink / raw)
  To: Juan Zapatero; +Cc: alsa-devel

At Mon, 15 May 2006 09:06:26 +0200,
Juan Zapatero wrote:
> 
> What do you mean? Here is my .asoundrc, what has to be changed?

It looks OK.  And doesn't it work with your voip program?


Takashi

> 
> # this makes native ALSA apps default to using dmix
> pcm.!default {
>   type plug
>   slave.pcm "duplex"
> }
> 
> ctl.!default {
>   type hw
>   card 0
> }
> 
> pcm.duplex{
>    type asym
>    playback.pcm "dmix0"
>    capture.pcm "plughw:0,0"
> }
> 
> pcm.dmix0 {
>     type dmix
>     ipc_key 219345           # any unique number here
>     slave {
>             pcm "hw:0,0"
>             period_time 0
>             #buffer_time 0
>             period_size 2048    # jm: much smoother than 1024/8192!
>             buffer_size 32768
>             rate 44100
>     }    
>     bindings {
>         0 0   # from 0 => to 0
>         1 1   # from 1 => to 1
>     }
> }
> 
> 
> 
> 
> 
> El vie, 12-05-2006 a las 14:10 +0200, Takashi Iwai escribió:
> > At Fri, 12 May 2006 12:25:41 +0200,
> > Juan Zapatero wrote:
> > > 
> > > Hello,
> > > I need to mix in playback two different audio streams, one coming from
> > > an ogg player, which is at 44100Hz, and the other one, coming out of a
> > > VoIP application, in this case, at 8000Hz. As I am using the dmix plugin
> > > for mixing, I can't find out how to implement the resampling operations
> > > needed.
> > 
> > Use plug or rate plugin.  The default setting does it automatically,
> > too.
> > 
> > Note that the rate plugin in 1.0.11 release has some bugs that was
> > already fixed on HG repo.
> > 
> > 
> > Takashi
> 
> 
> ______________________
> Este mensaje, y en su caso, cualquier fichero anexo al mismo,
>  puede contener informacion clasificada por su emisor como confidencial
>  en el marco de su Sistema de Gestion de Seguridad de la 
> Informacion siendo para uso exclusivo del destinatario, quedando 
> prohibida su divulgacion copia o distribucion a terceros sin la 
> autorizacion expresa del remitente. Si Vd. ha recibido este mensaje 
>  erroneamente, se ruega lo notifique al remitente y proceda a su borrado. 
> Gracias por su colaboracion.
> ______________________
> This message including any attachments may contain confidential 
> information, according to our Information Security Management System,
>  and intended solely for a specific individual to whom they are addressed.
>  Any unauthorised copy, disclosure or distribution of this message
>  is strictly forbidden. If you have received this transmission in error,
>  please notify the sender immediately and delete it.
> ______________________
> 


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid\x120709&bid&3057&dat\x121642

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Mix audio at different frequencies
  2006-05-15 10:03     ` Takashi Iwai
@ 2006-05-15 11:25       ` Juan Antonio Zapatero Campo
  2006-05-15 11:33         ` Takashi Iwai
  0 siblings, 1 reply; 17+ messages in thread
From: Juan Antonio Zapatero Campo @ 2006-05-15 11:25 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

No, it returns wrong buffer sizes. Instead of 160 samples, which is what I 
am expecting at 8000Hz, it returns a value of 341, which I do not 
understand.

----- Original Message ----- 
From: "Takashi Iwai" <tiwai@suse.de>
To: "Juan Zapatero" <jazc@gmvsistemas.es>
Cc: <alsa-devel@lists.sourceforge.net>
Sent: Monday, May 15, 2006 12:03 PM
Subject: Re: [Alsa-devel] Mix audio at different frequencies


> At Mon, 15 May 2006 09:06:26 +0200,
> Juan Zapatero wrote:
>>
>> What do you mean? Here is my .asoundrc, what has to be changed?
>
> It looks OK.  And doesn't it work with your voip program?
>
>
> Takashi
>
>>
>> # this makes native ALSA apps default to using dmix
>> pcm.!default {
>>   type plug
>>   slave.pcm "duplex"
>> }
>>
>> ctl.!default {
>>   type hw
>>   card 0
>> }
>>
>> pcm.duplex{
>>    type asym
>>    playback.pcm "dmix0"
>>    capture.pcm "plughw:0,0"
>> }
>>
>> pcm.dmix0 {
>>     type dmix
>>     ipc_key 219345           # any unique number here
>>     slave {
>>             pcm "hw:0,0"
>>             period_time 0
>>             #buffer_time 0
>>             period_size 2048    # jm: much smoother than 1024/8192!
>>             buffer_size 32768
>>             rate 44100
>>     }
>>     bindings {
>>         0 0   # from 0 => to 0
>>         1 1   # from 1 => to 1
>>     }
>> }
>>
>>
>>
>>
>>
>> El vie, 12-05-2006 a las 14:10 +0200, Takashi Iwai escribió:
>> > At Fri, 12 May 2006 12:25:41 +0200,
>> > Juan Zapatero wrote:
>> > >
>> > > Hello,
>> > > I need to mix in playback two different audio streams, one coming 
>> > > from
>> > > an ogg player, which is at 44100Hz, and the other one, coming out of 
>> > > a
>> > > VoIP application, in this case, at 8000Hz. As I am using the dmix 
>> > > plugin
>> > > for mixing, I can't find out how to implement the resampling 
>> > > operations
>> > > needed.
>> >
>> > Use plug or rate plugin.  The default setting does it automatically,
>> > too.
>> >
>> > Note that the rate plugin in 1.0.11 release has some bugs that was
>> > already fixed on HG repo.
>> >
>> >
>> > Takashi
>>
>>
>> ______________________
>> Este mensaje, y en su caso, cualquier fichero anexo al mismo,
>>  puede contener informacion clasificada por su emisor como confidencial
>>  en el marco de su Sistema de Gestion de Seguridad de la
>> Informacion siendo para uso exclusivo del destinatario, quedando
>> prohibida su divulgacion copia o distribucion a terceros sin la
>> autorizacion expresa del remitente. Si Vd. ha recibido este mensaje
>>  erroneamente, se ruega lo notifique al remitente y proceda a su borrado.
>> Gracias por su colaboracion.
>> ______________________
>> This message including any attachments may contain confidential
>> information, according to our Information Security Management System,
>>  and intended solely for a specific individual to whom they are 
>> addressed.
>>  Any unauthorised copy, disclosure or distribution of this message
>>  is strictly forbidden. If you have received this transmission in error,
>>  please notify the sender immediately and delete it.
>> ______________________
>>
> 


______________________
Este mensaje, y en su caso, cualquier fichero anexo al mismo,
 puede contener informacion clasificada por su emisor como confidencial
 en el marco de su Sistema de Gestion de Seguridad de la 
Informacion siendo para uso exclusivo del destinatario, quedando 
prohibida su divulgacion copia o distribucion a terceros sin la 
autorizacion expresa del remitente. Si Vd. ha recibido este mensaje 
 erroneamente, se ruega lo notifique al remitente y proceda a su borrado. 
Gracias por su colaboracion.
______________________
This message including any attachments may contain confidential 
information, according to our Information Security Management System,
 and intended solely for a specific individual to whom they are addressed.
 Any unauthorised copy, disclosure or distribution of this message
 is strictly forbidden. If you have received this transmission in error,
 please notify the sender immediately and delete it.
______________________


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid\x120709&bid&3057&dat\x121642

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Mix audio at different frequencies
  2006-05-15 11:25       ` Juan Antonio Zapatero Campo
@ 2006-05-15 11:33         ` Takashi Iwai
  2006-05-15 13:16           ` James Courtier-Dutton
  0 siblings, 1 reply; 17+ messages in thread
From: Takashi Iwai @ 2006-05-15 11:33 UTC (permalink / raw)
  To: Juan Antonio Zapatero Campo; +Cc: alsa-devel

At Mon, 15 May 2006 13:25:39 +0200,
Juan Antonio Zapatero Campo wrote:
> 
> No, it returns wrong buffer sizes. Instead of 160 samples, which is what I 
> am expecting at 8000Hz, it returns a value of 341, which I do not 
> understand.

You cannot get always the exactly same buffer size you requested.
Especially dmix limits the buffer size to its own and rate plugin
rescales the size according to the rate conversion.


Takashi

> 
> ----- Original Message ----- 
> From: "Takashi Iwai" <tiwai@suse.de>
> To: "Juan Zapatero" <jazc@gmvsistemas.es>
> Cc: <alsa-devel@lists.sourceforge.net>
> Sent: Monday, May 15, 2006 12:03 PM
> Subject: Re: [Alsa-devel] Mix audio at different frequencies
> 
> 
> > At Mon, 15 May 2006 09:06:26 +0200,
> > Juan Zapatero wrote:
> >>
> >> What do you mean? Here is my .asoundrc, what has to be changed?
> >
> > It looks OK.  And doesn't it work with your voip program?
> >
> >
> > Takashi
> >
> >>
> >> # this makes native ALSA apps default to using dmix
> >> pcm.!default {
> >>   type plug
> >>   slave.pcm "duplex"
> >> }
> >>
> >> ctl.!default {
> >>   type hw
> >>   card 0
> >> }
> >>
> >> pcm.duplex{
> >>    type asym
> >>    playback.pcm "dmix0"
> >>    capture.pcm "plughw:0,0"
> >> }
> >>
> >> pcm.dmix0 {
> >>     type dmix
> >>     ipc_key 219345           # any unique number here
> >>     slave {
> >>             pcm "hw:0,0"
> >>             period_time 0
> >>             #buffer_time 0
> >>             period_size 2048    # jm: much smoother than 1024/8192!
> >>             buffer_size 32768
> >>             rate 44100
> >>     }
> >>     bindings {
> >>         0 0   # from 0 => to 0
> >>         1 1   # from 1 => to 1
> >>     }
> >> }
> >>
> >>
> >>
> >>
> >>
> >> El vie, 12-05-2006 a las 14:10 +0200, Takashi Iwai escribió:
> >> > At Fri, 12 May 2006 12:25:41 +0200,
> >> > Juan Zapatero wrote:
> >> > >
> >> > > Hello,
> >> > > I need to mix in playback two different audio streams, one coming 
> >> > > from
> >> > > an ogg player, which is at 44100Hz, and the other one, coming out of 
> >> > > a
> >> > > VoIP application, in this case, at 8000Hz. As I am using the dmix 
> >> > > plugin
> >> > > for mixing, I can't find out how to implement the resampling 
> >> > > operations
> >> > > needed.
> >> >
> >> > Use plug or rate plugin.  The default setting does it automatically,
> >> > too.
> >> >
> >> > Note that the rate plugin in 1.0.11 release has some bugs that was
> >> > already fixed on HG repo.
> >> >
> >> >
> >> > Takashi
> >>
> >>
> >> ______________________
> >> Este mensaje, y en su caso, cualquier fichero anexo al mismo,
> >>  puede contener informacion clasificada por su emisor como confidencial
> >>  en el marco de su Sistema de Gestion de Seguridad de la
> >> Informacion siendo para uso exclusivo del destinatario, quedando
> >> prohibida su divulgacion copia o distribucion a terceros sin la
> >> autorizacion expresa del remitente. Si Vd. ha recibido este mensaje
> >>  erroneamente, se ruega lo notifique al remitente y proceda a su borrado.
> >> Gracias por su colaboracion.
> >> ______________________
> >> This message including any attachments may contain confidential
> >> information, according to our Information Security Management System,
> >>  and intended solely for a specific individual to whom they are 
> >> addressed.
> >>  Any unauthorised copy, disclosure or distribution of this message
> >>  is strictly forbidden. If you have received this transmission in error,
> >>  please notify the sender immediately and delete it.
> >> ______________________
> >>
> > 
> 
> 
> ______________________
> Este mensaje, y en su caso, cualquier fichero anexo al mismo,
>  puede contener informacion clasificada por su emisor como confidencial
>  en el marco de su Sistema de Gestion de Seguridad de la 
> Informacion siendo para uso exclusivo del destinatario, quedando 
> prohibida su divulgacion copia o distribucion a terceros sin la 
> autorizacion expresa del remitente. Si Vd. ha recibido este mensaje 
>  erroneamente, se ruega lo notifique al remitente y proceda a su borrado. 
> Gracias por su colaboracion.
> ______________________
> This message including any attachments may contain confidential 
> information, according to our Information Security Management System,
>  and intended solely for a specific individual to whom they are addressed.
>  Any unauthorised copy, disclosure or distribution of this message
>  is strictly forbidden. If you have received this transmission in error,
>  please notify the sender immediately and delete it.
> ______________________
> 


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid\x120709&bid&3057&dat\x121642

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Mix audio at different frequencies
  2006-05-15 11:33         ` Takashi Iwai
@ 2006-05-15 13:16           ` James Courtier-Dutton
  2006-05-15 13:31             ` Takashi Iwai
  0 siblings, 1 reply; 17+ messages in thread
From: James Courtier-Dutton @ 2006-05-15 13:16 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Juan Antonio Zapatero Campo, alsa-devel

Takashi Iwai wrote:
> At Mon, 15 May 2006 13:25:39 +0200,
> Juan Antonio Zapatero Campo wrote:
>   
>> No, it returns wrong buffer sizes. Instead of 160 samples, which is what I 
>> am expecting at 8000Hz, it returns a value of 341, which I do not 
>> understand.
>>     
>
> You cannot get always the exactly same buffer size you requested.
> Especially dmix limits the buffer size to its own and rate plugin
> rescales the size according to the rate conversion.
>
>
> Takashi
>   
I would argue that maybe we should modify the way alsa behaves, and 
somehow get dmix to work with user(application) defined buffer and 
period sizes.
I.e. Let alsa handle whatever buffer and period size the user 
application wants, and get ALSA to translate it into the sized needed 
for the hardware.
Maybe implement the use of the system timer in order to trigger the 
buffer events we need.

James



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Mix audio at different frequencies
  2006-05-15 13:16           ` James Courtier-Dutton
@ 2006-05-15 13:31             ` Takashi Iwai
  0 siblings, 0 replies; 17+ messages in thread
From: Takashi Iwai @ 2006-05-15 13:31 UTC (permalink / raw)
  To: James Courtier-Dutton; +Cc: Juan Antonio Zapatero Campo, alsa-devel

At Mon, 15 May 2006 14:16:56 +0100,
James Courtier-Dutton wrote:
> 
> Takashi Iwai wrote:
> > At Mon, 15 May 2006 13:25:39 +0200,
> > Juan Antonio Zapatero Campo wrote:
> >   
> >> No, it returns wrong buffer sizes. Instead of 160 samples, which is what I 
> >> am expecting at 8000Hz, it returns a value of 341, which I do not 
> >> understand.
> >>     
> >
> > You cannot get always the exactly same buffer size you requested.
> > Especially dmix limits the buffer size to its own and rate plugin
> > rescales the size according to the rate conversion.
> >
> >
> > Takashi
> >   
> I would argue that maybe we should modify the way alsa behaves, and 
> somehow get dmix to work with user(application) defined buffer and 
> period sizes.
> I.e. Let alsa handle whatever buffer and period size the user 
> application wants, and get ALSA to translate it into the sized needed 
> for the hardware.
> Maybe implement the use of the system timer in order to trigger the 
> buffer events we need.

The current handling of buffers in dmix is better than the earlier
version.  The buffer size has an upper limit of the slave PCM, and the
minimum period size is also defined from the slave PCM.  But you can
choose freely between them.  Though, still there are rooms for
improvements.

Anyway, you cannot use a bigger buffer than the slave PCM without
another sound daemon or extra threading, regardless of dmix or hw 
layer.  The point of dmix is that the copy (mixing) of data is done by
the application itself, not by the daemon.  When an app writes a
bigger chunk than slave PCM and gets sleep, you'll get underrun
because no one updates/syncs the data between the slave PCM and the
app buffer. 

The current dmix code allows you to specify a bigger buffer than slave
PCM (by passing a large number to max_periods parameter), but I
already hit this problem.


Takashi


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Mix audio at different frequencies
  2006-05-15  7:06   ` Juan Zapatero
  2006-05-15 10:03     ` Takashi Iwai
@ 2006-05-16 20:49     ` Lee Revell
  2006-05-17 18:12       ` Thierry Vignaud
  1 sibling, 1 reply; 17+ messages in thread
From: Lee Revell @ 2006-05-16 20:49 UTC (permalink / raw)
  To: Juan Zapatero; +Cc: Takashi Iwai, alsa-devel

On Mon, 2006-05-15 at 09:06 +0200, Juan Zapatero wrote:
> What do you mean? Here is my .asoundrc, what has to be changed?
> 

That ALSA already defaults to using dmix with the rate plugin since
version 1.0.9.  It should work without an .asoundrc.

Lee

> # this makes native ALSA apps default to using dmix
> pcm.!default {
>   type plug
>   slave.pcm "duplex"
> }
> 
> ctl.!default {
>   type hw
>   card 0
> }
> 
> pcm.duplex{
>    type asym
>    playback.pcm "dmix0"
>    capture.pcm "plughw:0,0"
> }
> 
> pcm.dmix0 {
>     type dmix
>     ipc_key 219345           # any unique number here
>     slave {
>             pcm "hw:0,0"
>             period_time 0
>             #buffer_time 0
>             period_size 2048    # jm: much smoother than 1024/8192!
>             buffer_size 32768
>             rate 44100
>     }    
>     bindings {
>         0 0   # from 0 => to 0
>         1 1   # from 1 => to 1
>     }
> }
> 
> 
> 
> 
> 
> El vie, 12-05-2006 a las 14:10 +0200, Takashi Iwai escribió:
> > At Fri, 12 May 2006 12:25:41 +0200,
> > Juan Zapatero wrote:
> > > 
> > > Hello,
> > > I need to mix in playback two different audio streams, one coming from
> > > an ogg player, which is at 44100Hz, and the other one, coming out of a
> > > VoIP application, in this case, at 8000Hz. As I am using the dmix plugin
> > > for mixing, I can't find out how to implement the resampling operations
> > > needed.
> > 
> > Use plug or rate plugin.  The default setting does it automatically,
> > too.
> > 
> > Note that the rate plugin in 1.0.11 release has some bugs that was
> > already fixed on HG repo.
> > 
> > 
> > Takashi
> 
> 
> ______________________
> Este mensaje, y en su caso, cualquier fichero anexo al mismo,
>  puede contener informacion clasificada por su emisor como confidencial
>  en el marco de su Sistema de Gestion de Seguridad de la 
> Informacion siendo para uso exclusivo del destinatario, quedando 
> prohibida su divulgacion copia o distribucion a terceros sin la 
> autorizacion expresa del remitente. Si Vd. ha recibido este mensaje 
>  erroneamente, se ruega lo notifique al remitente y proceda a su borrado. 
> Gracias por su colaboracion.
> ______________________
> This message including any attachments may contain confidential 
> information, according to our Information Security Management System,
>  and intended solely for a specific individual to whom they are addressed.
>  Any unauthorised copy, disclosure or distribution of this message
>  is strictly forbidden. If you have received this transmission in error,
>  please notify the sender immediately and delete it.
> ______________________
> 
> 
> -------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid\x120709&bid&3057&dat\x121642
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/alsa-devel
> 



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Mix audio at different frequencies
  2006-05-16 20:49     ` Lee Revell
@ 2006-05-17 18:12       ` Thierry Vignaud
  2006-05-17 19:04         ` Lee Revell
  0 siblings, 1 reply; 17+ messages in thread
From: Thierry Vignaud @ 2006-05-17 18:12 UTC (permalink / raw)
  To: Lee Revell; +Cc: Juan Zapatero, Takashi Iwai, alsa-devel

Lee Revell <rlrevell@joe-job.com> writes:

> That ALSA already defaults to using dmix with the rate plugin since
> version 1.0.9.  It should work without an .asoundrc.

actually, that depends on the driver, thus on the sound card (which
doesn't look it was specified in this thread?).


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Mix audio at different frequencies
  2006-05-17 18:12       ` Thierry Vignaud
@ 2006-05-17 19:04         ` Lee Revell
  2006-05-26  8:22           ` Raise and lower volume through Alsa Api Juan Zapatero
  0 siblings, 1 reply; 17+ messages in thread
From: Lee Revell @ 2006-05-17 19:04 UTC (permalink / raw)
  To: Thierry Vignaud; +Cc: Juan Zapatero, Takashi Iwai, alsa-devel

On Wed, 2006-05-17 at 20:12 +0200, Thierry Vignaud wrote:
> Lee Revell <rlrevell@joe-job.com> writes:
> 
> > That ALSA already defaults to using dmix with the rate plugin since
> > version 1.0.9.  It should work without an .asoundrc.
> 
> actually, that depends on the driver, thus on the sound card (which
> doesn't look it was specified in this thread?).
> 

It should have been solved in the latest release for everything but USB
audio.

Lee



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Raise and lower volume through Alsa Api
  2006-05-17 19:04         ` Lee Revell
@ 2006-05-26  8:22           ` Juan Zapatero
  2006-05-26  8:25             ` Benoit Fouet
  0 siblings, 1 reply; 17+ messages in thread
From: Juan Zapatero @ 2006-05-26  8:22 UTC (permalink / raw)
  To: alsa-devel

Is there any way of modifying stream's volume through libasound API?
I mean, raising or lowering a streams volume before sending it to
soundcard with write(...)




______________________
Este mensaje, y en su caso, cualquier fichero anexo al mismo,
 puede contener informacion clasificada por su emisor como confidencial
 en el marco de su Sistema de Gestion de Seguridad de la 
Informacion siendo para uso exclusivo del destinatario, quedando 
prohibida su divulgacion copia o distribucion a terceros sin la 
autorizacion expresa del remitente. Si Vd. ha recibido este mensaje 
 erroneamente, se ruega lo notifique al remitente y proceda a su borrado. 
Gracias por su colaboracion.
______________________
This message including any attachments may contain confidential 
information, according to our Information Security Management System,
 and intended solely for a specific individual to whom they are addressed.
 Any unauthorised copy, disclosure or distribution of this message
 is strictly forbidden. If you have received this transmission in error,
 please notify the sender immediately and delete it.
______________________

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Raise and lower volume through Alsa Api
  2006-05-26  8:22           ` Raise and lower volume through Alsa Api Juan Zapatero
@ 2006-05-26  8:25             ` Benoit Fouet
  2006-05-26  8:31               ` Juan Zapatero
  0 siblings, 1 reply; 17+ messages in thread
From: Benoit Fouet @ 2006-05-26  8:25 UTC (permalink / raw)
  To: Juan Zapatero; +Cc: alsa-devel

you have the softvolume plugin i think.

-- Ben

Juan Zapatero wrote:

>Is there any way of modifying stream's volume through libasound API?
>I mean, raising or lowering a streams volume before sending it to
>soundcard with write(...)
>
>
>
>
>______________________
>Este mensaje, y en su caso, cualquier fichero anexo al mismo,
> puede contener informacion clasificada por su emisor como confidencial
> en el marco de su Sistema de Gestion de Seguridad de la 
>Informacion siendo para uso exclusivo del destinatario, quedando 
>prohibida su divulgacion copia o distribucion a terceros sin la 
>autorizacion expresa del remitente. Si Vd. ha recibido este mensaje 
> erroneamente, se ruega lo notifique al remitente y proceda a su borrado. 
>Gracias por su colaboracion.
>______________________
>This message including any attachments may contain confidential 
>information, according to our Information Security Management System,
> and intended solely for a specific individual to whom they are addressed.
> Any unauthorised copy, disclosure or distribution of this message
> is strictly forbidden. If you have received this transmission in error,
> please notify the sender immediately and delete it.
>______________________
>
>
>_______________________________________________
>Alsa-devel mailing list
>Alsa-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/alsa-devel
>  
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Raise and lower volume through Alsa Api
  2006-05-26  8:25             ` Benoit Fouet
@ 2006-05-26  8:31               ` Juan Zapatero
  2006-05-26  8:36                 ` Benoit Fouet
  2006-05-26 17:16                 ` Lee Revell
  0 siblings, 2 replies; 17+ messages in thread
From: Juan Zapatero @ 2006-05-26  8:31 UTC (permalink / raw)
  To: Benoit Fouet; +Cc: alsa-devel

But what about doing it through API, so that volume is set in the
application, without using any volume plugin...

El vie, 26-05-2006 a las 10:25 +0200, Benoit Fouet escribió:
> you have the softvolume plugin i think.
> 
> -- Ben
> 
> Juan Zapatero wrote:
> 
> >Is there any way of modifying stream's volume through libasound API?
> >I mean, raising or lowering a streams volume before sending it to
> >soundcard with write(...)
> >
> >
> >
> >
> >______________________
> >Este mensaje, y en su caso, cualquier fichero anexo al mismo,
> > puede contener informacion clasificada por su emisor como confidencial
> > en el marco de su Sistema de Gestion de Seguridad de la 
> >Informacion siendo para uso exclusivo del destinatario, quedando 
> >prohibida su divulgacion copia o distribucion a terceros sin la 
> >autorizacion expresa del remitente. Si Vd. ha recibido este mensaje 
> > erroneamente, se ruega lo notifique al remitente y proceda a su borrado. 
> >Gracias por su colaboracion.
> >______________________
> >This message including any attachments may contain confidential 
> >information, according to our Information Security Management System,
> > and intended solely for a specific individual to whom they are addressed.
> > Any unauthorised copy, disclosure or distribution of this message
> > is strictly forbidden. If you have received this transmission in error,
> > please notify the sender immediately and delete it.
> >______________________
> >
> >
> >_______________________________________________
> >Alsa-devel mailing list
> >Alsa-devel@lists.sourceforge.net
> >https://lists.sourceforge.net/lists/listinfo/alsa-devel
> >  
> >


______________________
Este mensaje, y en su caso, cualquier fichero anexo al mismo,
 puede contener informacion clasificada por su emisor como confidencial
 en el marco de su Sistema de Gestion de Seguridad de la 
Informacion siendo para uso exclusivo del destinatario, quedando 
prohibida su divulgacion copia o distribucion a terceros sin la 
autorizacion expresa del remitente. Si Vd. ha recibido este mensaje 
 erroneamente, se ruega lo notifique al remitente y proceda a su borrado. 
Gracias por su colaboracion.
______________________
This message including any attachments may contain confidential 
information, according to our Information Security Management System,
 and intended solely for a specific individual to whom they are addressed.
 Any unauthorised copy, disclosure or distribution of this message
 is strictly forbidden. If you have received this transmission in error,
 please notify the sender immediately and delete it.
______________________


_______________________________________________
Alsa-devel mailing list
Alsa-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Raise and lower volume through Alsa Api
  2006-05-26  8:31               ` Juan Zapatero
@ 2006-05-26  8:36                 ` Benoit Fouet
  2006-05-26 17:16                 ` Lee Revell
  1 sibling, 0 replies; 17+ messages in thread
From: Benoit Fouet @ 2006-05-26  8:36 UTC (permalink / raw)
  To: Juan Zapatero; +Cc: alsa-devel


[-- Attachment #1.1: Type: text/plain, Size: 3125 bytes --]

AFAIK, there's no way to do this... but i don't know ALSA that much to
be sure of it...
but you can easily manage such a soft volume before sending samples to ALSA.

-- Ben

Juan Zapatero wrote:

>But what about doing it through API, so that volume is set in the
>application, without using any volume plugin...
>
>El vie, 26-05-2006 a las 10:25 +0200, Benoit Fouet escribió:
>  
>
>>you have the softvolume plugin i think.
>>
>>-- Ben
>>
>>Juan Zapatero wrote:
>>
>>    
>>
>>>Is there any way of modifying stream's volume through libasound API?
>>>I mean, raising or lowering a streams volume before sending it to
>>>soundcard with write(...)
>>>
>>>
>>>
>>>
>>>______________________
>>>Este mensaje, y en su caso, cualquier fichero anexo al mismo,
>>>puede contener informacion clasificada por su emisor como confidencial
>>>en el marco de su Sistema de Gestion de Seguridad de la 
>>>Informacion siendo para uso exclusivo del destinatario, quedando 
>>>prohibida su divulgacion copia o distribucion a terceros sin la 
>>>autorizacion expresa del remitente. Si Vd. ha recibido este mensaje 
>>>erroneamente, se ruega lo notifique al remitente y proceda a su borrado. 
>>>Gracias por su colaboracion.
>>>______________________
>>>This message including any attachments may contain confidential 
>>>information, according to our Information Security Management System,
>>>and intended solely for a specific individual to whom they are addressed.
>>>Any unauthorised copy, disclosure or distribution of this message
>>>is strictly forbidden. If you have received this transmission in error,
>>>please notify the sender immediately and delete it.
>>>______________________
>>>
>>>
>>>_______________________________________________
>>>Alsa-devel mailing list
>>>Alsa-devel@lists.sourceforge.net
>>>https://lists.sourceforge.net/lists/listinfo/alsa-devel
>>> 
>>>
>>>      
>>>
>
>
>______________________
>Este mensaje, y en su caso, cualquier fichero anexo al mismo,
> puede contener informacion clasificada por su emisor como confidencial
> en el marco de su Sistema de Gestion de Seguridad de la 
>Informacion siendo para uso exclusivo del destinatario, quedando 
>prohibida su divulgacion copia o distribucion a terceros sin la 
>autorizacion expresa del remitente. Si Vd. ha recibido este mensaje 
> erroneamente, se ruega lo notifique al remitente y proceda a su borrado. 
>Gracias por su colaboracion.
>______________________
>This message including any attachments may contain confidential 
>information, according to our Information Security Management System,
> and intended solely for a specific individual to whom they are addressed.
> Any unauthorised copy, disclosure or distribution of this message
> is strictly forbidden. If you have received this transmission in error,
> please notify the sender immediately and delete it.
>______________________
>
>
>_______________________________________________
>Alsa-devel mailing list
>Alsa-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/alsa-devel
>  
>

[-- Attachment #1.2: Type: text/html, Size: 3875 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



[-- Attachment #3: Type: text/plain, Size: 161 bytes --]

_______________________________________________
Alsa-devel mailing list
Alsa-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Raise and lower volume through Alsa Api
  2006-05-26  8:31               ` Juan Zapatero
  2006-05-26  8:36                 ` Benoit Fouet
@ 2006-05-26 17:16                 ` Lee Revell
  2006-05-26 18:54                   ` Takashi Iwai
  1 sibling, 1 reply; 17+ messages in thread
From: Lee Revell @ 2006-05-26 17:16 UTC (permalink / raw)
  To: Juan Zapatero; +Cc: Benoit Fouet, alsa-devel

On Fri, 2006-05-26 at 10:31 +0200, Juan Zapatero wrote:
> But what about doing it through API, so that volume is set in the
> application, without using any volume plugin...

No, it's not currently possible with ALSA.  You have to implement your
own software volunme control.

Lee

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Raise and lower volume through Alsa Api
  2006-05-26 17:16                 ` Lee Revell
@ 2006-05-26 18:54                   ` Takashi Iwai
  0 siblings, 0 replies; 17+ messages in thread
From: Takashi Iwai @ 2006-05-26 18:54 UTC (permalink / raw)
  To: Lee Revell; +Cc: alsa-devel, Benoit Fouet, Juan Zapatero

At Fri, 26 May 2006 13:16:20 -0400,
Lee Revell wrote:
> 
> On Fri, 2006-05-26 at 10:31 +0200, Juan Zapatero wrote:
> > But what about doing it through API, so that volume is set in the
> > application, without using any volume plugin...
> 
> No, it's not currently possible with ALSA.  You have to implement your
> own software volunme control.

Well, I'm considering of the implementation since there are really
many demands on this feature. 

One question is whether this control should be private or public.

If it's fine to be public, we can add a softvol to the "default" PCM.
This softvol has IFACE_PCM and contains same number of elements as PCM
substreams so that each PCM substream has own softvol.  It corresponds
to emu10k1's "PCM Volume" control.  Since it's IFACE_PCM, this won't
appear in the mixer app.

If the control should be private, it has to be implemented
differently with more changes in alsa-lib code.

Another question is whether we need an alsa-lib API function for
this.  I guess something like

	snd_ctl_elem_id_t *snd_pcm_get_volume_control(pcm_handle)

would be easy to use for apps.


Takashi

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2006-05-26 18:54 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-12 10:25 Mix audio at different frequencies Juan Zapatero
2006-05-12 12:10 ` Takashi Iwai
2006-05-15  7:06   ` Juan Zapatero
2006-05-15 10:03     ` Takashi Iwai
2006-05-15 11:25       ` Juan Antonio Zapatero Campo
2006-05-15 11:33         ` Takashi Iwai
2006-05-15 13:16           ` James Courtier-Dutton
2006-05-15 13:31             ` Takashi Iwai
2006-05-16 20:49     ` Lee Revell
2006-05-17 18:12       ` Thierry Vignaud
2006-05-17 19:04         ` Lee Revell
2006-05-26  8:22           ` Raise and lower volume through Alsa Api Juan Zapatero
2006-05-26  8:25             ` Benoit Fouet
2006-05-26  8:31               ` Juan Zapatero
2006-05-26  8:36                 ` Benoit Fouet
2006-05-26 17:16                 ` Lee Revell
2006-05-26 18:54                   ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.