transcription and speaker identification OpenAI-Whisper and Pyannote [Python]
HTML-код
- Опубликовано: 29 сен 2024
- Hello guys, in this video I will how you how to transcribe and identify the speaker by using OpenAI Whisper, Pyannote and Pydub .
For Pyannote you must register on huggingface website to get the access token.
Support me by subscribing to my channel and leave a like.
Github repository for the source code :
github.com/Mas...
OpenAi github link :
github.com/ope...
Pyannote github link :
github.com/pya...
Pydub github link :
github.com/jia...
#openai
#openai_whisper
#pyannote
#pydub
#python
#speaker_identification
#transcription
#diarization
Please provide requirement.txt, else its really very hard to make it workable.
Im really struggling to get this working, would i be able you to send you my output log ?
Wow, the transcript takes like two times the duration of the file to process. I guess that this solution wouldn’t work to monitor hours of call recordings unless you use gpu servers.
it is recomended to use cuda ( nvidia gpu ) for speed
cpu is very slow
is it working on any other language?
try to include its requirements.txt also...
Thanks
conda activate open_chatting does not work on my computer. "EnvironmentNameNotFound: Could not find conda environment: open_chatting
You can list all discoverable environments with `conda info --envs`."
install conda toolkit then create an environment called open_chatting by typing :
conda create --name open_chatting
after that install the libraries that i mentioned in the video then run the code
Is there a colab version?
nice video. Is the repo hard-coded to your directory structure? when I tried to change it, it said the format wasn't recognized
do you mean segment file ?
Thanks for the demo. I am getting the following error, even while using your audio.mp3 file:
end = int(millisec(j[3]))
return (int)((int(spl[0]) * 60 * 60 + int(spl[1]) * 60 + float(spl[2])) * 1000)
ValueError: invalid literal for int() with base 10: ''
@mamido mami Yes, I did that, still getting the same error
same problem
same problem
From the error message and the code, it seems that the error is happening because the millisec function is trying to convert an empty string to an integer.
The millisec function splits a time string, given in the format "hh:mm:ss.sss", into hours, minutes, and seconds, and then converts these components to milliseconds.
Here is an example of the string being parsed:
['[', '00:00:00.998', '-->', '', '00:00:20.622]', 'G', 'SPEAKER_01']
When this loop runs, it returns an empty 'end' string:
for l in range(len(k)):
j = k[l].split(" ")
start = int(millisec(j[1]))
end = int(millisec(j[3]))
The array position you want for 'end' is 4, not 3. Plus, it has a ']' symbol, so it must be cleaned up:
for l in range(len(k)):
j = k[l].split(" ")
start = int(millisec(j[1].rstrip(']'))) # remove trailing ']'
end = int(millisec(j[4].rstrip(']'))) # remove trailing ']'
can i use this program to split speakers to their own files? or is this only for transcription
read more about pyannote to see how to split speakers
@@masteringpython What? Where?
does this model work on languages other than English?
onely english
@@masteringpython Only english? What is I change model = whisper.load_model("small.en") to "small"? Acording to Whisper github documentation.
Thanks man, you deserve the best
trying to run this but getting File contains data in an unknown format. tried several files and tried a wav file too, but no luck
I advise you to use python anaconda to create development environment .Then install whisper openai ,after installing this library run a simple test to check if everything works correctly .Then install pyannote library and also run a simple test ( read carefully the installation guides maybe you missed something while installing the library)
@Hirotodoroki were you able to resolve the error (File Contains data in Unknown Format)?
Great video. Thank you. Can the output be displayed on screen whilst it is processing?
You have chance.
no code in video
Does this need GPU?
in this video i did not used GPU, but if you want to use it read the pyannote documentation
do this work offline ?
yes
ما شاء الله تبارك أخ محمد .... شكراً لك
Hi, Thanks for the Video. Need approach on how we can implement the solution with the large Audio with duration of 3 hours.
chunks
chunks and saving .txt from these chunks in files, add logic to see what chunks it already has (if you face error or sth, and you want to come back and don't have to start over, just continue where it left off)