Hi, I am trying to implement pocketsphinx like VAD (voice activity detection)
in my project and have been trying to dig up in the code how pocketsphinx
recordes data.
I have seen that during VAD it takes recorded data from predefined buffer that
are supposedly filled by recording data but i can't figure out where are they
being filled? And I am wondering as the program is doing lots of callculation
oll the time how does it record audio at the same time?
I would be in need of that too and i hope it is done by software somehow
becouse my project involves VAD and MFCC extraction an a microcontroller and i
hope to get functionality like sphinx, i need speed and eficiency to hopefully
get a real time implementation.
Hope some of you can help me. If you could exoplain how it recordes and does
VAD at the same time, oh and how does it transer data exactly between the two.
Thank you in advance.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
how it recordes and does VAD at the same time, oh and how does it transer
data exactly between the two.
Pocketsphinx works in multitasking operating system. While kernel is recording
sound to a buffer pocketsphinx works on detecting voice in it. It requests for
a new buffer periodically and OS kernel fills it through the alsa library for
example.
Usually recording is implemented by means of hardware interrupts. You only get
a buffer of audio when it's full periodically. Between the interrupts you can
process the buffer data, in particular you can detect voice in it. In
multitasking operating system this functionality is hidden behind the OS
interface.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi, I am trying to implement pocketsphinx like VAD (voice activity detection)
in my project and have been trying to dig up in the code how pocketsphinx
recordes data.
I have seen that during VAD it takes recorded data from predefined buffer that
are supposedly filled by recording data but i can't figure out where are they
being filled? And I am wondering as the program is doing lots of callculation
oll the time how does it record audio at the same time?
I would be in need of that too and i hope it is done by software somehow
becouse my project involves VAD and MFCC extraction an a microcontroller and i
hope to get functionality like sphinx, i need speed and eficiency to hopefully
get a real time implementation.
Hope some of you can help me. If you could exoplain how it recordes and does
VAD at the same time, oh and how does it transer data exactly between the two.
Thank you in advance.
Pocketsphinx works in multitasking operating system. While kernel is recording
sound to a buffer pocketsphinx works on detecting voice in it. It requests for
a new buffer periodically and OS kernel fills it through the alsa library for
example.
Usually recording is implemented by means of hardware interrupts. You only get
a buffer of audio when it's full periodically. Between the interrupts you can
process the buffer data, in particular you can detect voice in it. In
multitasking operating system this functionality is hidden behind the OS
interface.