Discussion:
[Freetel-codec2] VAD - Voice Activity Detection
Steve
2017-03-31 23:43:17 UTC
Permalink
I was playing with the pairphone
<https://github.com/ObjectToolworks/ppmodem> modem, and it dawned on me
that the software was using this modem to send both vocoder data and
control data. It did this based on the boolean bit for VAD. Well, that's
probably not novel, but I asked myself, how the heck could they know when
the vocoder output was speech or noise??

Well, it turns out that there is an algorithm just for that purpose. It
looks at each vocoder frame and a little history and bada-boom youse gotta
VAD bit.

I was trying to figure out how they squeezed all the encryption information
and voice into 1200 bit/s, if the voice itself was 1200 bit/s! Aha, they
look for breaks in the voice and send control bits instead.

I suspect there are quite a few frames with no voice. If a person was
looking up something, they might not say anything while they were otherwise
tasked. This probably results in an excess of control information. Dumb
data just to fill the void.

They almost need something like a duration detector, and then send text
data. A private SMS below the voice and control.

Have a good weekend,
73/steve
Jeroen Vreeken
2017-04-01 01:02:30 UTC
Permalink
I use a similar trick when I mix voice and data in FreeDV mode 2400B.
But the detection is a bit simpler: Just look at the 'energy' component
of the vocoder.
If the energy of a frame is low and there is data to send the data will
be send and the receiver will inject a bit of silence.

Regards,
Jeroen
Post by Steve
I was playing with the pairphone
<https://github.com/ObjectToolworks/ppmodem> modem, and it dawned on
me that the software was using this modem to send both vocoder data
and control data. It did this based on the boolean bit for VAD. Well,
that's probably not novel, but I asked myself, how the heck could they
know when the vocoder output was speech or noise??
Well, it turns out that there is an algorithm just for that purpose.
It looks at each vocoder frame and a little history and bada-boom
youse gotta VAD bit.
I was trying to figure out how they squeezed all the encryption
information and voice into 1200 bit/s, if the voice itself was 1200
bit/s! Aha, they look for breaks in the voice and send control bits
instead.
I suspect there are quite a few frames with no voice. If a person was
looking up something, they might not say anything while they were
otherwise tasked. This probably results in an excess of control
information. Dumb data just to fill the void.
They almost need something like a duration detector, and then send
text data. A private SMS below the voice and control.
Have a good weekend,
73/steve
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
David Rowe
2017-04-01 20:45:01 UTC
Permalink
It's also a path to better compression. Currently Codec 2 applies the
same number of bits to each frame, even if it's silence, or very similar
to the last frame.

- David
Post by Jeroen Vreeken
I use a similar trick when I mix voice and data in FreeDV mode 2400B.
But the detection is a bit simpler: Just look at the 'energy' component
of the vocoder.
If the energy of a frame is low and there is data to send the data will
be send and the receiver will inject a bit of silence.
Regards,
Jeroen
Post by Steve
I was playing with the pairphone
<https://github.com/ObjectToolworks/ppmodem> modem, and it dawned on
me that the software was using this modem to send both vocoder data
and control data. It did this based on the boolean bit for VAD. Well,
that's probably not novel, but I asked myself, how the heck could they
know when the vocoder output was speech or noise??
Well, it turns out that there is an algorithm just for that purpose.
It looks at each vocoder frame and a little history and bada-boom
youse gotta VAD bit.
I was trying to figure out how they squeezed all the encryption
information and voice into 1200 bit/s, if the voice itself was 1200
bit/s! Aha, they look for breaks in the voice and send control bits
instead.
I suspect there are quite a few frames with no voice. If a person was
looking up something, they might not say anything while they were
otherwise tasked. This probably results in an excess of control
information. Dumb data just to fill the void.
They almost need something like a duration detector, and then send
text data. A private SMS below the voice and control.
Have a good weekend,
73/steve
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
David Rowe
2017-04-12 05:35:56 UTC
Permalink
Hi there,

Can anyone please suggest a Windows IDE for STM32F4 development? I have
a colleague who wants to develop for the SM1000 under Windows.

Cheers,

David
Akshay Mishra
2017-04-12 05:38:43 UTC
Permalink
System Workbench for STM32 (
http://www.st.com/en/development-tools/sw4stm32.html

usual eclipse woes but works otherwise.
Post by David Rowe
Hi there,
Can anyone please suggest a Windows IDE for STM32F4 development? I have
a colleague who wants to develop for the SM1000 under Windows.
Cheers,
David
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
Matthew Cook
2017-04-13 01:14:30 UTC
Permalink
David,

I'm also using System Workbench for my STM32F experiments.

73

Matt
VK5ZM
System Workbench for STM32 (http://www.st.com/en/
development-tools/sw4stm32.html
usual eclipse woes but works otherwise.
Post by David Rowe
Hi there,
Can anyone please suggest a Windows IDE for STM32F4 development? I have
a colleague who wants to develop for the SM1000 under Windows.
Cheers,
David
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
glen english
2017-04-12 05:41:06 UTC
Permalink
Rowley Crossworks

http://www.rowley.co.uk/arm/

first class, and friendly. British.
Post by David Rowe
Hi there,
Can anyone please suggest a Windows IDE for STM32F4 development? I have
a colleague who wants to develop for the SM1000 under Windows.
Cheers,
David
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
Brady O'Brien
2017-04-12 05:48:51 UTC
Permalink
I've had some luck setting up Eclipse for STM32F4 development following
tutorials like this:
http://embeddedprogrammer.blogspot.com/2012/09/stm32f4discovery-development-with-gcc.html
. Never tried getting to codec2 codebase to play nice, though.
Post by glen english
Rowley Crossworks
http://www.rowley.co.uk/arm/
first class, and friendly. British.
Post by David Rowe
Hi there,
Can anyone please suggest a Windows IDE for STM32F4 development? I have
a colleague who wants to develop for the SM1000 under Windows.
Cheers,
David
------------------------------------------------------------
------------------
Post by David Rowe
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
Ricardo Andere de Mello
2017-04-12 13:05:06 UTC
Permalink
I have used system workbench for stm32 just for project creation (the
wizard is awsome, and F4 is pretty the default), because it is a little
havy for my old laptop. I found it easier to just use Visual Studio Code
for the development.
Post by David Rowe
Hi there,
Can anyone please suggest a Windows IDE for STM32F4 development? I have
a colleague who wants to develop for the SM1000 under Windows.
Cheers,
David
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
Sergei Lebedev
2017-04-03 05:54:32 UTC
Permalink
Dear Jeroen Vreeken,

I'am out of office from March 24 to April 03, 2017.
All your messages will be proceeded as soon as possible.
Please forward your urgent requests to:
+7 (812) 644-0430 #1290

Sorry for inconveniences.
Sergei Lebedev mailto:***@supertel.ru




Уважаемый Jeroen Vreeken,
Моя почта работает в режиме автоответчика.
Меня не будет в офисе c 24 марта по 03 апреля; я отвечу на Ваше письмо как только смогу сделать это.
По срочным вопросам прошу Вас звонить:
(812) 644-0430 доб.1290 - Вам ответят мои коллеги.

Простите за неудобства,
Сергей Лебедев mailto:***@supertel.ru
ph: (812) 644-0430 (добавочный 1290 )
fax: (812) 497-3682
=========================================
Post by Jeroen Vreeken
I use a similar trick when I mix voice and data in FreeDV mode 2400B.
But the detection is a bit simpler: Just look at the 'energy' component of the vocoder.
If the energy of a frame is low and there is data to send the data
will be send and the receiver will inject a bit of silence.
Regards,
Jeroen
I was playing with the pairphone modem, and it dawned on me
that the software was using this modem to send both vocoder
data and control data. It did this based on the boolean bit
for VAD. Well, that's probably not novel, but I asked
myself, how the heck could they know when the vocoder output was speech or noise??
Well, it turns out that there is an algorithm just for that
purpose. It looks at each vocoder frame and a little history
and bada-boom youse gotta VAD bit.
I was trying to figure out how they squeezed all the
encryption information and voice into 1200 bit/s, if the voice
itself was 1200 bit/s! Aha, they look for breaks in the voice and send control bits instead.
I suspect there are quite a few frames with no voice. If a
person was looking up something, they might not say anything
while they were otherwise tasked. This probably results in an
excess of control information. Dumb data just to fill the void.
They almost need something like a duration detector, and
then send text data. A private SMS below the voice and control.
Have a good weekend,
73/steve
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
=========================================
Bruce Perens
2017-04-03 18:41:59 UTC
Permalink
Geez. Most vacation programs are smart enough *not *to reply if your name
doesn't appear in the To: address.
Post by Sergei Lebedev
Dear Jeroen Vreeken,
I'am out of office from March 24 to April 03, 2017.
All your messages will be proceeded as soon as possible.
+7 (812) 644-0430 #1290
Sorry for inconveniences.
УважаеЌый Jeroen Vreeken,
МПя пПчта рабПтает в режОЌе автППтветчОка.
МеМя Ме буЎет в ПфОсе c 24 Ќарта пП 03 апреля; я Птвечу Ма Ваше пОсьЌП как
тПлькП сЌПгу сЎелать этП.
(812) 644-0430 ЎПб.1290 - ВаЌ Птветят ЌПО кПллегО.
ПрПстОте за МеуЎПбства,
ph: (812) 644-0430 (ЎПбавПчМый 1290 )
fax: (812) 497-3682
=========================================
Post by Jeroen Vreeken
I use a similar trick when I mix voice and data in FreeDV mode 2400B.
But the detection is a bit simpler: Just look at the 'energy'
component of the vocoder.
Post by Jeroen Vreeken
If the energy of a frame is low and there is data to send the data
will be send and the receiver will inject a bit of silence.
Regards,
Jeroen
I was playing with the pairphone modem, and it dawned on me
that the software was using this modem to send both vocoder
data and control data. It did this based on the boolean bit
for VAD. Well, that's probably not novel, but I asked
myself, how the heck could they know when the vocoder output was
speech or noise??
Post by Jeroen Vreeken
Well, it turns out that there is an algorithm just for that
purpose. It looks at each vocoder frame and a little history
and bada-boom youse gotta VAD bit.
I was trying to figure out how they squeezed all the
encryption information and voice into 1200 bit/s, if the voice
itself was 1200 bit/s! Aha, they look for breaks in the voice and
send control bits instead.
Post by Jeroen Vreeken
I suspect there are quite a few frames with no voice. If a
person was looking up something, they might not say anything
while they were otherwise tasked. This probably results in an
excess of control information. Dumb data just to fill the void.
They almost need something like a duration detector, and
then send text data. A private SMS below the voice and control.
Have a good weekend,
73/steve
------------------------------------------------------------
------------------
Post by Jeroen Vreeken
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
=========================================
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
Loading...