Audio Missing

127 views
Skip to first unread message

Debasish Chandra

unread,
Jan 19, 2010, 12:45:06 PM1/19/10
to UniMRCP
Hi,

I am using unimrcp (MRCPv2) for TTS with freeswitch. Everything is
working fine except I am getting missing audio in the begining of the
speak. However I have captured the data sending by MRCP server which
is perfectly ok (no audio missing). My MRCP server is in the same
LAN.

can you tell me what could be the problem?

Best Regards,
Debasish

Christopher Rienzo

unread,
Jan 19, 2010, 1:40:54 PM1/19/10
to uni...@googlegroups.com
Hello Debasish,

Please create a new issue on the freeswitch project (jira.freeswitch.org) and attach detailed traces and a packet capture.  When creating the issue, select Project "uniMRCP".

Thanks,

Chris




--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To post to this group, send email to uni...@googlegroups.com.
To unsubscribe from this group, send email to unimrcp+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/unimrcp?hl=en.




Rodolfo Araujo

unread,
Jan 19, 2010, 3:26:36 PM1/19/10
to UniMRCP
Hi,

I am using my own TTS engine with unimrcp, the engine save a file and
it's ok, but the umc client receive a file with silence in the
begining. The audio is ok, except by the begining.

Can somebody help me?

Thanks,

Rodolfo

On 19 jan, 16:40, Christopher Rienzo <cmrie...@gmail.com> wrote:
> Hello Debasish,
>
> Please create a new issue on the freeswitch project (jira.freeswitch.org)
> and attach detailed traces and a packet capture.  When creating the issue,
> select Project "uniMRCP".
>
> Thanks,
>
> Chris
>
> On Tue, Jan 19, 2010 at 12:45 PM, Debasish Chandra <
>

> debasish.chan...@gmail.com> wrote:
> > Hi,
>
> > I am using unimrcp (MRCPv2) for TTS with freeswitch. Everything is
> > working fine except I am getting missing audio in the begining of the
> > speak. However I have captured the data sending by MRCP server which
> > is perfectly ok (no audio missing). My MRCP server is in the same
> > LAN.
>
> > can you tell me what could be the problem?
>
> > Best Regards,
> > Debasish
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "UniMRCP" group.
> > To post to this group, send email to uni...@googlegroups.com.
> > To unsubscribe from this group, send email to

> > unimrcp+u...@googlegroups.com<unimrcp%2Bunsu...@googlegroups.com>

Arsen Chaloyan

unread,
Jan 20, 2010, 1:15:45 AM1/20/10
to uni...@googlegroups.com
Hi Debasish,

Probably the first thing to check is RTP statistics available at the
end of the call.

"Close RTP Receiver 192.168.0.169:7000 <- 192.168.0.169:5000 [r:183 l:0 j:839]"
where
'r' - received
'l' - lost
'j' - jitter

Next, try to adjust playout delay in jitter buffer and see if it makes
any difference.
<param name="playout-delay" value="50"/>

And yes follow the route Chris kindly suggests.

> --
> You received this message because you are subscribed to the Google Groups "UniMRCP" group.
> To post to this group, send email to uni...@googlegroups.com.

> To unsubscribe from this group, send email to unimrcp+u...@googlegroups.com.


> For more options, visit this group at http://groups.google.com/group/unimrcp?hl=en.
>
>
>
>

--
Arsen Chaloyan
The author of UniMRCP
http://www.unimrcp.org

Arsen Chaloyan

unread,
Jan 20, 2010, 1:25:05 AM1/20/10
to uni...@googlegroups.com
Hi Rodolfo,

It seems you mean initial playout delay in jitter buffer, which is 50
msec by default.
If you want to suppress it, check frame type to be
MEDIA_FRAME_TYPE_AUDIO and only then write it to file as follows
if((frame->type & MEDIA_FRAME_TYPE_AUDIO) == MEDIA_FRAME_TYPE_AUDIO)
fwrite(pFrame->codec_frame.buffer,1,pFrame->codec_frame.size,pSynthChannel->m_pAudioOut);

> To unsubscribe from this group, send email to unimrcp+u...@googlegroups.com.


> For more options, visit this group at http://groups.google.com/group/unimrcp?hl=en.
>
>
>
>

--

Rodolfo Araujo

unread,
Jan 20, 2010, 6:18:32 AM1/20/10
to UniMRCP
Hi Arsen,

I did what you told me.
Threre isn't silence in the begining of audio file, but in the frames
where there was silence in the client received audio, in the server
there is correct audio.
I lost some frames, must I put a silence in the begining of my synth
file?

Thanks,

Rodolfo

> > For more options, visit this group athttp://groups.google.com/group/unimrcp?hl=en.

Arsen Chaloyan

unread,
Jan 20, 2010, 6:46:04 AM1/20/10
to uni...@googlegroups.com
Hi Rodolfo,

On Wed, Jan 20, 2010 at 3:18 PM, Rodolfo Araujo
<rodolfor...@gmail.com> wrote:
> Hi Arsen,
>
> I did what you told me.
> Threre isn't silence in the begining of audio file, but in the frames
> where there was silence in the client received audio, in the server
> there is correct audio.

Sounds exactly what Debasish complained about, so try to adjust
playout delay and see if it helps.

> I lost some frames, must I put a silence in the begining of my synth
> file?

Sorry, what is your synth file? Do you use demo synth plugin? I assume
your engine synthesizes speech and sends it in real-time to client.
Typically you shouldn't need any additional silence.

Anyway, if you continue experiencing problems, please provide
Wireshark capture (so I could see what was actually sent), synthesized
output stored on the client side (synth-xxxxx.pcm) and client logs.

> For more options, visit this group at http://groups.google.com/group/unimrcp?hl=en.

Rodolfo Araujo

unread,
Jan 20, 2010, 6:53:00 AM1/20/10
to UniMRCP
Hi Arsen,

Ok, I will try to adjust playout delay.

My synth file is the file generated by my tts engine.
My plugin is based on demo synth plugin.

The engine generate a raw file, then in stream_read the plugin read
the .raw file.
I saved in another file the buffer read in this function, and it's the
same as the file generated by the engine( I know that it sounds
obvious... ).

Thanks

On 20 jan, 09:46, Arsen Chaloyan <achalo...@gmail.com> wrote:
> Hi Rodolfo,
>

> On Wed, Jan 20, 2010 at 3:18 PM, Rodolfo Araujo
>

Arsen Chaloyan

unread,
Jan 20, 2010, 7:09:43 AM1/20/10
to uni...@googlegroups.com
Rodolfo, I'm just curious, if raw file is the only option for your
engine . Generally TTS engines are capable to produce synthesized
speech on the fly, so you shouldn't wait for the whole process to
complete and only then start sending RTP. It may introduce significant
delays, but still shouldn't lead to losses in the waveform.

> For more options, visit this group at http://groups.google.com/group/unimrcp?hl=en.

Rodolfo Araujo

unread,
Jan 20, 2010, 8:20:50 AM1/20/10
to UniMRCP
Arsen, now, it's the only option :( ...
I have to wait the whole process... We are working to make it better.
There are a lot of work yet...
I put a silence in the begining in the plugin, and it's ok now... it's
a workaround, but solved :s
Thanks

Debasish Chandra

unread,
Jan 22, 2010, 6:09:50 AM1/22/10
to uni...@googlegroups.com
Hi Arsen,
 
I have created a new issue in freeswitch project 

http://jira.freeswitch.org/browse/MODUNIMRCP-7

Yes I set the playout-delay to 50 but couldn't find any joy.
 
Please find the attached trace for these.
 
 
Best Regards,
Debasish
loquendo_trace.pcap

Arsen Chaloyan

unread,
Jan 22, 2010, 7:36:27 AM1/22/10
to uni...@googlegroups.com
Thanks, Debasish.
This would allow to properly track the issue.

I see nothing extraordinary in SIP/MRCPv2 leg. Although synthesized
speech sounds pretty fantastic, there is indeed a gap at the beginning
of the stream sent to the caller.
I'm thinking if you could provide UniMRCP enabled FreeSWITCH logs,
hopefully this'll help us find out the problem.

Note playout-delay is 50msec by default. Did you try to set it to
100msec, for example?

On Fri, Jan 22, 2010 at 3:09 PM, Debasish Chandra

Reply all
Reply to author
Forward
0 new messages