Python Forum
Python Speech recognition, word by word
Thread Rating:
  • 1 Vote(s) - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Python Speech recognition, word by word
#1
Hello, I have been using the python Speech Recognition module for a few days now and i cant seem to make it do what i need.

Basically i want  to transcribe the audio input word by word rather than a full sentence.
Example: if i say "hello python how are you", currently it will listen to the full sentence, then output the result.
I want it so it will only take one word at a time as an input so if i say the same sentence it will out put "hello" "python" "how" "are" "you"

To clarify i don't want to split the string up but rather take each word and transcribe it on the fly.
The end result would be to read an entire essay word by word and have it transcribed in real time back to a text document, regardless of length.
Currently, if i start reading it will wait for a long pause and then start transcribing, in which i would have to wait for it to finish before continuing speaking.

sorry its a little tricky to explain.
Reply
#2
link the github repo or wherever you got this speech recognition module
Recommended Tutorials:
Reply
#3
I guess you'll get the output as string of the speech_recognition function/callback. You can split the str with the method split into words, when you're not passing any argument.
https://docs.python.org/3.6/library/stdt...#str.split
For further natural language processing, you should take a look here.
Almost dead, but too lazy to die: https://sourceserver.info
All humans together. We don't need politicians!
Reply
#4
im not looking to split the string as my OP describes.
Im looking to record a single word, add that to a string or list, then record another word and etc until a sentence has been complete. Rather than record a spoken sentence into a string.
Right now if i say "Hello World" it will output the string "Hello World", that's 1 loop of the code.
I want it so if i say "Hello World" it will output "Hello" "World", that's 2 loops, the first processed Hello, the second processed World.

Im using the standard Speech Recognition module, https://github.com/Uberi/speech_recognition
Reply
#5
Update:
I have been looking at the source and found ares which match what im looking for
self.pause_threshold = 0.8  # seconds of non-speaking audio before a phrase is considered complete
self.phrase_threshold = 0.3  # minimum seconds of speaking audio before we consider the speaking audio a phrase - values below this are ignored (for filtering out clicks and pops)
self.non_speaking_duration = 0.5  # seconds of non-speaking audio to keep on both sides of the recording
so means you have to talk for at least 0.3 seconds and the length of the audio has to be at least 1.3 seconds (0.5 + 0.3 + 0.5)
( file __init__.py, class Recognizer, line 444)

is there a way to lower these values without editing the source values. i dont mind having 2-3 words per process i just dont want to process an entire paragraph per loop as it takes too long.
Reply
#6
https://github.com/Uberi/speech_recognit...__.py#L444
Somewhere in your program you're creating an instance of Recognizer().
Like this example: https://github.com/Uberi/speech_recognit...stening.py

r = sr.Recognizer()
r.pause_threshold = 1.0
r.phrase_threshold = 1.0
r.non_speaking_duration = 1.0
This should work...
Almost dead, but too lazy to die: https://sourceserver.info
All humans together. We don't need politicians!
Reply
#7
(Aug-19-2017, 09:59 PM)AceScottie Wrote: Hello, I have been using the python Speech Recognition module for a few days now and i cant seem to make it do what i need.

Basically i want to transcribe the audio input word by word rather than a full sentence.
Example: if i say "hello python how are you", currently it will listen to the full sentence, then output the result.
I want it so it will only take one word at a time as an input so if i say the same sentence it will out put "hello" "python" "how" "are" "you"

To clarify i don't want to split the string up but rather take each word and transcribe it on the fly.
The end result would be to read an entire essay word by word and have it transcribed in real time back to a text document, regardless of length.
Currently, if i start reading it will wait for a long pause and then start transcribing, in which i would have to wait for it to finish before continuing speaking.

sorry its a little tricky to explain.


are you able to do that
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  How to remove unwanted images and tables from a Word file using Python? rownong 2 711 Feb-04-2025, 08:30 AM
Last Post: Pedroski55
  Word matching with specific parameters CascadeDiver 3 842 Jan-28-2025, 02:10 PM
Last Post: perfringo
  word guessing game, hints STUdevil 1 1,499 Oct-12-2024, 01:53 AM
Last Post: menator01
  word game, how to give hints STUdevil 5 1,498 Oct-07-2024, 06:20 PM
Last Post: STUdevil
  Retrieve word from string knob 4 1,519 Jan-22-2024, 06:40 PM
Last Post: Pedroski55
  How to create a table with different sizes of columns in MS word pepe 8 7,173 Dec-08-2023, 07:31 PM
Last Post: Pedroski55
  extract substring from a string before a word !! evilcode1 3 1,793 Nov-08-2023, 12:18 AM
Last Post: evilcode1
  Replace a text/word in docx file using Python Devan 4 19,880 Oct-17-2023, 06:03 PM
Last Post: Devan
  How to summarize an article that is stored in a word document on your laptop? Mikedicenso87 2 1,474 Oct-06-2023, 12:07 PM
Last Post: Mikedicenso87
Thumbs Up Convert word into pdf and copy table to outlook body in a prescribed format email2kmahe 1 1,605 Sep-22-2023, 02:33 PM
Last Post: carecavoador

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020