본문 바로가기

카테고리 없음

[stt] stable-stt 간단하게 사용하기

 

https://github.com/jianfch/stable-ts

 

GitHub - jianfch/stable-ts: Transcription, forced alignment, and audio indexing with OpenAI's Whisper

Transcription, forced alignment, and audio indexing with OpenAI's Whisper - jianfch/stable-ts

github.com

 

stable stt의경우 기본적으로 내부구조는 stt와 비슷한데 word tokenizer를 활용해서 stt보다 성능이 좋은듯 했는데 이번 검증에서는 업데이트한 stt가 성능이 더 좋긴하다. 하지만 stable내부에서 vad도 활용가능하고 해서 한번 사용하는것도 추천한다. 

 

github에서 사용하기 쉽게해놔서 그대로 사용하면된다. 

 

import stable_whisper

model = stable_whisper.load_model('base') # 실제 path를 넣어줘도 된다.
result = model.transcribe('audio.mp3') # mp3, wav로 하는걸 추천

 

내부 transcirbe 코드까서 성능올리는거 아니면 참사용하기 쉬움.. 

result 내부는 segment 키를 보면 아래와같이 되어 있고 단어별 time을 확인 할 수 있다. 

'segments': [{'id': 0,
   'seek': 30.0,
   'start': 30.0,
   'end': 32.3,
   'text': ' 하늘은',
   'tokens': [50364,
    3369,
    7822,
    2124,
    16738,
    33893,
    3404,
    3948,
    2785,
    16990,
    50464],
   'temperature': 0.0,
   'avg_logprob': -0.25036571727079504,
   'compression_ratio': 1.9523809523809523,
   'no_speech_prob': 0.9102491140365601,
   'words': [{'word': ' 하늘은',
     'start': 30.0,
     'end': 30.04,
     'probability': 0.6509713965157667,
     'tokens': [3369, 7822, 2124]}

 

다음에는 성능올리는 방법 알려드리겠다.. bye