STT (Whisper API) 속도 비교

양현준·2023년 3월 31일
0

Whisper 를 API 로 불러서 사용할 때 속도와, Install 을 해서 사용할 때 속도를 비교하고자 한다.

Short Speech : 7초 mp3 파일 (61KB)
Long Speech : 3분 7초 mp3 파일 (1.8MB)

1. OpenAI 의 API 사용

import openai
import time
import json


with open('./config.json', 'r') as f:
    config = json.load(f)


long_speech = open("/Users/macbookair/development/PBL-2023Spring/GPT-API/audio_files/long_speech.mp3", "rb")
short_speech = open("/Users/macbookair/development/PBL-2023Spring/GPT-API/audio_files/short_speech.mp3", "rb")

whisper_start = time.time()

transcript = openai.Audio.transcribe("whisper-1", short_speech)
text = transcript['text']

whisper_end = time.time()

print(text)
print("Whisper Time:", whisper_end-whisper_start)

"안녕 나는 지스트에 다니는 양현준이야 너는 이름이 뭐야?"
Whisper Time: 2.074193000793457 (Short speech)

"저희 팀의 메인 화면입니다. 메인 화면에서 기존에 생성을 해둔 아이디와 패스워드를 이용해 로그인을 해보겠습니다. 로그인을 하게 되면 보시는 바와 같이 메인 페이지로 이동을 하게 됩니다. 저희의 메인 페이지의 핵심 기능은 두 가지가 있는데요. 먼저 첫 번째 기능에 대해서부터 소개를 드려보도록 하겠습니다. 첫 번째 기능은 점심 저녁 해 나가는 시간대에 본인이 현재 위치한 곳에서 가까운 곳에 있는 식당의 잔여 식수를 확인을 하러 갈 수 있는 버튼이 있습니다. 현재 시간이 예를 들어서 11시 30분이라고 생각을 해서 점심시간 잔여 식수를 확인을 하러 가보겠습니다. 본인이 현재 위치한 곳으로부터 가까운 곳 순으로 각 식당의 식수가 얼마나 남았는지 확인할 수가 있습니다. 예를 들어서 바남 하이스쿨은 도시락 28개가 나왔다고 칩시다. 오늘 제가 위치한 곳에 바남 하이스쿨까지가 제일 가까우니 바남 하이스쿨을 선택해 보도록 하겠습니다. 이렇게 선택 버튼을 누르면 오늘 어떤 메뉴가 제공이 됐는지 각 식당에서 올려둔 정보를 바탕으로 어떤 메뉴인지 확인할 수 있습니다. 오늘 식당이 준수해서 식단이 메뉴가 준수해서 바남 하이스쿨에서 도시락을 수령하기로 결정했습니다. 그래서 제가 이걸 선택을 하면 바로 식수가 접수가 되게 됩니다. 한 번에 클릭만으로 간단하게 접수를 할 수 있고 어디로 몇 시까지 가면 되는지까지 확인할 수 있습니다. 이제 제가 두 번째 기능을 말씀드려보도록 하겠는데요. 이미 주문을 하고 난 상황이라면 본 버튼을 눌러서 QR코드 그리고 지도 두 가지 기능이 있는 화면으로 이동할 수 있습니다. 이 지도 화면은 현재 위치한 곳으로부터 도시락을 수령해야 될 장소까지 실시간으로 최적의 경로를 제공을 해줍니다. 이 과정에서 구글 맵의 API를 이용했습니다. 본 앱을 이용할 주요 타겟층이 정보를 이용하는 것으로부터 약간 소외되어 있는 경향이 있다는 걸 생각해보았을 때 직관적으로 어디로 이동하면 되는지를 제공해주는 건 중요하다고 생각했습니다. 그리고 트랙 코드를 그리고 이제 접수한 도시락을 수령할 때는 트랙 코드를 스캔하고 수령을 하게 되는데요. 이와 같이 제가 트랙 코드로 이동하겠다는 버튼을 누르면 본인의 정보가 담긴 QR코드가 생성이 되고 이것을 스캔하고 다음 식당에서 도시락을 수령받아 갈 수 있게 저희의 서비스를 기획을 했습니다. 네 이상입니다."
Whisper Time: 10.81081485748291 (Long speech)

2. Library 에서 Whisper 꺼내쓰기

2-1. Whisper 설치 (https://github.com/openai/whisper) 
pip install -U openai-whisper

pip install git+https://github.com/openai/whisper.git 

pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git

# on MacOS using Homebrew (https://brew.sh/)
brew install ffmpeg

pip install setuptools-rust

import whisper
import time

long_speech = './audio_files/long_speech.mp3'
short_speech = './audio_files/short_speech.mp3'



model = whisper.load_model("tiny")

whisper_start = time.time()
result = model.transcribe(short_speech)
whisper_end = time.time()

print(result["text"])
print("Whisper Time:", whisper_end-whisper_start)
  • tiny Model
    "안녕 나는 지스트에 다니는 양엔준이야 너는 이름이 뭐야"
    Whisper Time: 1.432199239730835 (Short speech)

"저희 팀의 메인하면입니다. 메인하면에서 기준을 생성하는 해�� 아이디어 패스워드를 이용해 로그인을 고겠습니다. 로그인을 하게 되면 보시는 바와와 같이 메인 페이지로 이동을 하게 됩니다. 저희 메인 페이지를 핵심기능은 두 가지가 있는데요. 먼저 첫 번째 기능을 기능에 대해서 어떻게 해 주겠습니다. 첫 번째 기능은 정심, 전혀 해당하는 시간 때 본인이 현재 위치한 곳에서 가까운 곳에 있는 식당에 자녀 식술을 확인할 확인을 하러 갈 수 있는 버튼이 있습니다. 현재 시간에 예를 들어서 여러 한 시 30분이라고 생각하면서 정심시간 자녀 식술을 확인을 하러 가고 있습니다. 본인이 이제 위치한 곳으로부터 가까운 곳, 주느로 각 직당에 식술가 얼마나 만지면 확인할 수 있습니다. 예를 들어서 반함 하이씨구를 도시락 28개 나왔다고 집시다. 오늘 제가 위치한 곳에 반함 하이씨구를 가지고 제가 가까운 반함 하이씨구를 선택해 보도록 하겠습니다. 이렇게 선택 버튼을 누르면 오늘 어떤 메뉴가 제공이 됐는지 그 가 식당에서 올려준 정보를 바탕으로 어떤 메뉴인지 확인할 수 있습니다. 오늘 식당이 준수에서 식당이 메뉴가 준수에서 반함 하이씨구를 수고하실 수 있습니다. 그래서 제가 이걸 선택을 하면 바로 식수가 적수가 되겠습니다. 한 번에 클릭만을 간단하게 적수 러시고 어디로 몇 시까지 개문을 되니까 지금 확인할 수 있습니다. 이제 제가 두 번째 기능에 말씀드려보도록 하겠습니다. 이미 주문을 하고 난 작원이라면 본 버튼을 눌러서 이 주할 코드 그리고 지도 두 가지 기능이 있는 화면을 이동할 수 있습니다. 이 지도 하면 현재 위치한 곳으로부터 도시락을 수영해야 할 장소까지 휴식한으로 제작의 경로를 제공을 해줍니다. 이 과정에서 구글 메뉴의 배에 일을 이용했습니다. 본 앱을 이용할 주요 다계팅 타계층이 정보를 이용하는 곳으로부터 약간 소에 대해서는 겸이 있다는 걸 생각을 해보았을 때 직관적으로 어디로 이용하면 된지를 제공해주는 건 중요하고 생각했습니다. 그리고 출할 코드를 그리고 이제 접수한 도시락을 수영할 때는 출할 코드를 시켜나고 수영을 하게 되는데요. 이 와치 제가 출할 코드를 이동하기 있다는 버튼을 누르면 본인의 정보과 담긴 출할 코드와 생성이 되고 이것을 시켜나고 다음 분 직당에서 투시락을 수영 받아갈 수 있게 저의 서비스를 기회가 됐습니다. 네 이상입니다."
Whisper Time: 14.399661779403687 (Long speech)

  • base Model
    "안녕 나는 지스트에 다니는 양현준이야 너는 이름이 뭐야?"
    Whisper Time: 2.6345772743225098 (Short speech)

"저희 팀의 메인 화면입니다. 메인 화면에서 기존에 생성을 해둔 아이디어, 패스워드를 이용해 로그인을 해보겠습니다. 로그인을 하게 되면 보시는 바와 같이 메인 페이지로 이동을 하게 됩니다. 저게 메인 페이지의 핵심 기능은 두 가지가 있는데요. 먼저 첫 번째 기능에 대해서부터 소개해드려보도록 하겠습니다. 첫 번째 기능은 정심, 저녁, 해나가는 시간 때 본인이 현재 위치한 곳에서 가까운 곳에 있는 식당에 잔여 식수를 확인할 확인을 하러 갈 수 있는 버튼이 있습니다. 현재 시간에 예를 들어서 여러 한시 30분이라고 생각해서 정심시간, 잔여 식수를 확인을 하러 가겠습니다. 본인이 현재 위치한 곳으로부터 가까운 곳으로 각 식당에 식수가 얼마나 남은 지역 확인을 하시겠습니다. 바로 바로 이 시각을 하시겠습니다. 오늘 제가 위치한 곳에서 바나마이스쿨까지가 제일 가까운이 바나마이스쿨을 선택해 보도록 하겠습니다. 이렇게 선택 버튼을 누르면 오늘 어떤 메뉴가 제공이 됐는지 각 식당에서 윌료전 정보를 받던 마이스쿨을 확인할 수 있습니다. 식당의 준수회에서 식당이 메뉴가 준수회에서 바나마이스쿨을 써 도시락을 사용하기로 결정했습니다. 그래서 제가 이걸 선택을 하면 바로 식수가 접수가 되게 됩니다. 한 번의 클릭만을 간단하게 접수를 할 수 있고 어디로 몇 시까지 가면 되는지까지 확인할 수 있습니다. 제가 두번째 개념에 말씀드려보도록 하겠습니다. 이미 주문을 하고 난 상황이라면 본 버튼을 눌러서 이 추가 코드 그리고 지도 두 가지 기능 있는 화면으로 이동할 수 있습니다. 이 지도 화면은 현재 위치한 곳으로부터 도시락을 수영해야 할 정속까지 1시간으로 최적의 경로를 제공을 해줍니다. 이 과정에서 구글 맵을 APA를 이용했습니다. 본 앱을 이용할 주요 타깃층이 전부 전부를 이용하는 것으로부터 약간 소외돼 있는 경향이 있다는 걸 생각해보았을 때 직관적으로 어디로 이용하면 되는지를 제공해주는 건 중요하다고 생각했습니다. 그리고 트라이코드를 그리고 이제 접수한 도시락을 수영할 때는 트라이코드를 스키나고 수영을 하게 되는데요. 이 과정에서 제가 트라이코드를 이용하겠다는 버튼을 누르면 본인의 정보과 담긴 기획코드가 생성되고 이것을 스키나고 다음 본 식당에서 도시락을 수영 받아갈 수 있게 저의 서비스를 기획을 했습니다. 네, 이상입니다."
Whisper Time: 36.16456913948059 (Long speech)

profile
2022.08.13~

0개의 댓글