JACK Audio Dropouts

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

JACK Audio Dropouts

Esben Stien
Trying to play audio with the jackaudiosink element, but all audio is
very very choppy. Playing with alsasink, everything is fine.

I use this:

gst-launch filesrc location=foo.ogg ! decodebin ! audioconvert  ! audioresample ! jackaudiosink sync=false buffer-time=180000

I'm using gstreamer and gstreamer-plugins-{good,bad} GIT from
2008-11-03.

Anyone getting this to work at all?. Any pointers as to what I can
try?.

--
Esben Stien is b0ef@e     s      a            
         http://www. s     t    n m
          irc://irc.  b  -  i  .   e/%23contact
           sip:b0ef@   e     e
           jid:b0ef@    n     n

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: JACK Audio Dropouts

Tristan Matthews-2
Hi Esben,

Esben Stien wrote:
> Trying to play audio with the jackaudiosink element, but all audio is
> very very choppy. Playing with alsasink, everything is fine.
>
>  
Is your jack server reporting underruns? Have you tried tweaking your
jack server settings (frames/period, periods/buffer, realtime mode)?

> I use this:
>
> gst-launch filesrc location=foo.ogg ! decodebin ! audioconvert  ! audioresample ! jackaudiosink sync=false buffer-time=180000
>
> I'm using gstreamer and gstreamer-plugins-{good,bad} GIT from
> 2008-11-03.
>
> Anyone getting this to work at all?. Any pointers as to what I can
> try?.
>  
-t

--
Tristan Matthews
Société des arts technologiques [SAT]
email: [hidden email]
web: http://www.music.mcgill.ca/~tmatthews


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: JACK Audio Dropouts

Esben Stien
Tristan Matthews <[hidden email]> writes:

> Is your jack server reporting underruns?

No

> Have you tried tweaking your jack server settings (frames/period,
> periods/buffer, realtime mode)?

Well, I've been running JACK for many years for audio production and I
have quite a solid setup with a massive load of JACK apps running, so
I'm quite sure it's not any problem with my JACK setup;).

Are you running gstreamer with the JACK plugin working fine?

--
Esben Stien is b0ef@e     s      a            
         http://www. s     t    n m
          irc://irc.  b  -  i  .   e/%23contact
           sip:b0ef@   e     e
           jid:b0ef@    n     n

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: JACK Audio Dropouts

Tristan Matthews-2
Esben Stien wrote:
> Are you running gstreamer with the JACK plugin working fine?
>  
Yes, I've used it for many different inputs and up to 8 channels without
any issues. Have you tried your gst-launch line with these settings:

gst-launch filesrc location=foo.ogg ! decodebin ! audioconvert  ! audioresample ! jackaudiosink

-Tristan

--
Tristan Matthews
Société des arts technologiques [SAT]
email: [hidden email]
web: http://www.music.mcgill.ca/~tmatthews


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: JACK Audio Dropouts

Esben Stien
Tristan Matthews <[hidden email]> writes:

> Have you tried your gst-launch line with these settings:
> gst-launch filesrc location=foo.ogg ! decodebin ! audioconvert  ! audioresample ! jackaudiosink

Yes, if I leave out the sync=false part on the jackaudiosink module,
it only plays half a second and then stops, just sitting there,
outputting no audio.

I did however try this:

nice --15 gst-launch filesrc location=audiodump.wav ! decodebin ! audioconvert  ! audioresample ! jackaudiosink sync=false

Now it plays the audio fine, but using very much CPU. The audio is
playing perfectly. There seems to be some scheduling problems here. Is
gst-launch not requesting proper scheduling priorities?.

--
Esben Stien is b0ef@e     s      a            
         http://www. s     t    n m
          irc://irc.  b  -  i  .   e/%23contact
           sip:b0ef@   e     e
           jid:b0ef@    n     n

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: JACK Audio Dropouts

Tristan Matthews-2
Esben Stien wrote:

> Yes, if I leave out the sync=false part on the jackaudiosink module,
> it only plays half a second and then stops, just sitting there,
> outputting no audio.
>
> I did however try this:
>
> nice --15 gst-launch filesrc location=audiodump.wav ! decodebin ! audioconvert  ! audioresample ! jackaudiosink sync=false
>
> Now it plays the audio fine, but using very much CPU. The audio is
> playing perfectly. There seems to be some scheduling problems here. Is
> gst-launch not requesting proper scheduling priorities?.
>
>  
You may need a queue element somewhere in your launch line. Also I would
recommend writing a C program to
build and run your launch-line instead of using gst-launch, as
gst-launch is primarily used for debugging. You can also
try

gst-launch -v filesrc location=audiodump.wav ! decodebin ! audioconvert  ! audioresample ! jackaudiosink sync=false

or

GST_DEBUG=3 gst-launch -v filesrc location=audiodump.wav ! decodebin ! audioconvert  ! audioresample ! jackaudiosink sync=false


to get more debugging info. I have an example of a working jackaudio
pipeline here:

https://trac.sat.qc.ca/trac/miville/browser/trunk/prototypes/gstreamer/shellScripts/jackHarmonics.sh?rev=195

-Tristan

--
Tristan Matthews
Société des arts technologiques [SAT]
email: [hidden email]
web: http://www.music.mcgill.ca/~tmatthews


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: JACK Audio Dropouts

Esben Stien
Tristan Matthews <[hidden email]> writes:

> You may need a queue element somewhere in your launch line.

Yes, tried that and didn't help:

gst-launch -v filesrc location=audiodump.wav ! decodebin ! queue ! audioconvert  ! audioresample ! jackaudiosink sync=false

> Also I would recommend writing a C program to build and run your
> launch-line instead of using gst-launch, as gst-launch is primarily
> used for debugging.

Yes.

> https://trac.sat.qc.ca/trac/miville/browser/trunk/prototypes/gstreamer/shellScripts/jackHarmonics.sh?rev=195

This played perfectly and got me thinking. This is a generator, so it
creates the sample rate requested.

I tried playing a file with the same sample rate I use on JACK, which
is 96000 Hz and it played perfectly. So, every file that has the same
sample rate as JACK plays fine. So, I guess the offender is the sample
rate conversion library. There is no secret rabbit code plugin for
gstreamer?.

So, this plays perfectly:

gst-launch filesrc location=new-wav/a_little_loop_fo_ya.wav ! decodebin ! queue ! audioconvert  ! audioresample ! jackaudiosink

, where the .wav file is 96000 Hz. Didn't even have to use sync=false.

Is there any way to change the parameters of the sample rate
conversion plugin and maybe use a less expensive algorithm?.

--
Esben Stien is b0ef@e     s      a            
         http://www. s     t    n m
          irc://irc.  b  -  i  .   e/%23contact
           sip:b0ef@   e     e
           jid:b0ef@    n     n

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: JACK Audio Dropouts

Tristan Matthews-2
Esben Stien wrote:
> Is there any way to change the parameters of the sample rate
> conversion plugin and maybe use a less expensive algorithm?.
>  
You could try playing with the filter-length setting of audioresample,
but otherwise you'll have to talk to audioresample's author, David
Schleef (ds on #gstreamer). Thus far I've avoided using audioresample as
we're always working with the same sample rate and we're also trying to
minimize latency/buffering.

-T

--
Tristan Matthews
Société des arts technologiques [SAT]
email: [hidden email]
web: http://www.music.mcgill.ca/~tmatthews


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: JACK Audio Dropouts

Stefan Sauer
In reply to this post by Esben Stien
hi

Esben Stien schrieb:

> Tristan Matthews <[hidden email]> writes:
>
>  
>> Have you tried your gst-launch line with these settings:
>> gst-launch filesrc location=foo.ogg ! decodebin ! audioconvert  ! audioresample ! jackaudiosink
>>    
>
> Yes, if I leave out the sync=false part on the jackaudiosink module,
> it only plays half a second and then stops, just sitting there,
> outputting no audio.
>
> I did however try this:
>
> nice --15 gst-launch filesrc location=audiodump.wav ! decodebin ! audioconvert  ! audioresample ! jackaudiosink sync=false
>
>  
you should not need sync=false. Regarding audioresample, try
speexresample. Audioresample has been replaced by it in cvs. Its faster
and better too.

To understand you right, the wav file is 96kHz. At what sample rate is
your jack running? If its the same audioresample will automatically
become passthrough.

Stefan
> Now it plays the audio fine, but using very much CPU. The audio is
> playing perfectly. There seems to be some scheduling problems here. Is
> gst-launch not requesting proper scheduling priorities?.
>
>  


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: JACK Audio Dropouts

Esben Stien
Stefan Kost <[hidden email]> writes:

> Regarding audioresample, try speexresample.

Wow. This is heaven and hell. The speexresample plugin works
perfectly. I guess we have nailed this problem down good then;).

> Audioresample has been replaced by it in cvs. Its faster and better
> too.

Right, but no plans to use the excellent secret rabbit code?. This SRC
library has many quality modes.

> To understand you right, the wav file is 96kHz. At what sample rate is
> your jack running?

Right, but in the beginning of the thread, we were testing with a file
at 44.1kHz. Then later in the thread, we found out that the choppy
audio only appeared when using a sample rate different from the jack
server sample rate.

Thank you for your help.

--
Esben Stien is b0ef@e     s      a            
         http://www. s     t    n m
          irc://irc.  b  -  i  .   e/%23contact
           sip:b0ef@   e     e
           jid:b0ef@    n     n

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: JACK Audio Dropouts

Christian Fredrik Kalager Schaller-2
On Tue, 2008-12-02 at 16:16 +0100, Esben Stien wrote:

> Stefan Kost <[hidden email]> writes:
>
> > Regarding audioresample, try speexresample.
>
> Wow. This is heaven and hell. The speexresample plugin works
> perfectly. I guess we have nailed this problem down good then;).
>
> > Audioresample has been replaced by it in cvs. Its faster and better
> > too.
>
> Right, but no plans to use the excellent secret rabbit code?. This SRC
> library has many quality modes.

The problem with the secret rabbit code is that it is GPL, we try very hard to keep the core of GStreamer, including
central plugins like audioresample LGPL (or more liberal like MIT).

Christian


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: JACK Audio Dropouts

Esben Stien
Christian Fredrik Kalager Schaller <[hidden email]> writes:

> The problem with the secret rabbit code is that it is GPL

Right, but it's just a module. It can be shipped on all GNU/Linux
distributions, so I don't see any trouble with having a rabbit code
module. It can be in ugly if you want, but I think most people will
prefer to use this SRC algorithm.

--
Esben Stien is b0ef@e     s      a            
         http://www. s     t    n m
          irc://irc.  b  -  i  .   e/%23contact
           sip:b0ef@   e     e
           jid:b0ef@    n     n

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: JACK Audio Dropouts

Stefan Sauer
hi,
Esben Stien schrieb:
> Christian Fredrik Kalager Schaller <[hidden email]> writes:
>
>> The problem with the secret rabbit code is that it is GPL
>
> Right, but it's just a module. It can be shipped on all GNU/Linux
> distributions, so I don't see any trouble with having a rabbit code
> module. It can be in ugly if you want, but I think most people will
> prefer to use this SRC algorithm.
>
if you want make one. Do you happen to know how much its better quality wise
that speexresample (if it is better)?

Stefan

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel