microsoft / microsoft/markitdown
Integrate full support for SpeechRecognition
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 186k
- Forks
- 13.7k
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 49
Description
Problem
- audio time greater than 1 minute
google speech recognition can accept file that is less or equal than 1 minutes and only 50 requests are allowed per day.
google speech recognition(not google cloud stt) is almost deprecated at all - Exception is handled poorly
If audio file exceeds 1 minute then it throws error, but user can't know why this error occured. - No Test for audio transcription
Solution
- Integrate full support for SpeechRecognition
- Since this project pursues to be lightweight, avoid custom logics and mapping argument to speech_recognition would be great.
- I will add **kwargs that contains engine, model, api_key, regions, ... which are required from SpeechRecognition library
and match it to SpeechRecongition Library using
recognize_method = getattr(recognizer, f"recognize_{engine}")- skip for options with offline dependency to be lightweight and align with image_converter
- Exception handling
- Add test codes
- skip for github_actions(CI)
Related Issue
- #326 tried to add whisper directly, but as #1284 noted, mapping SpeechRecognition's support would be simpler and support more models as well.
- #1275 wants custom support for audio transcription as well.
- #74 If the time of the audio exceeds quota(60 seconds per request, 50 requests per day),
recognize_google() from SpeechRecognition throws an error, but the user can't know where it came from.
Suggestion
Asynchronous transcription and chunking would be great feature,
but I am concerned that it might not align with the project's philosophy. "Lightweight"
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the SpeechRecognition README and the related issues #326, #1284, #1275, and #74 to understand the proposed engine mapping, quotas, and exception behavior. Identify the project's audio transcription entry point, then define the supported non-offline engines and add transcription and error-handling tests; done means the supported SpeechRecognition options and failures are covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- audio-video-rtc
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100