# 샘플 실행해보기

## 로컬 개발환경

* imac 2019
* no gpu
* docker,docker-compose

## Project 생성하기

github에 project를 생성하고 클론한다.

## Dockerfile 생성

모든 작업은 docker로 실행될 예정이므로 로컬 컴퓨터에 도커를 설치한다.

https://docs.docker.com/engine/install/

## Dockerfile 생성

프로젝트 폴더에 Dockerfile을 생성한다.

```sh
vi Dockerfile
```

```yaml
FROM python:3.9

WORKDIR /code

RUN apt update
RUN apt install ffmpeg -y
RUN pip install --upgrade pip

RUN pip install openai-whisper==20230314
RUN pip install setuptools-rust==1.5.2

COPY ./app /code/app
```

간단히 설명하면 python 3.9를 실행하고 whisper를 설치한후 app 폴더를 카피해서 컨테이너 이미지로 만든다.

## app folder 생성후 main.py 생성

mp3파일을 준비한후 다음을 만든다.

```sh
mkdir ./app
vi ./app/main.py
```

```python
import whisper
import torch

model = whisper.load_model("tiny")
file = "app/audio/kr.mp3" # mp3파일 경로를 넣어준다.
result = model.transcribe(file)
print(result["text"])
```

간단히 설명하면 라이브러리를 로드하고 파일을 로드한후 transcribe를 한후 프린트한다.

## 실행

이제 mp3가 글자로 바뀌어지는지 테스트해보자.

docker-compose.yml을 사용하여 실행할 예정이다.

```sh
vi docker-compose.yml
```

```yaml
version: '3.9'
services:
  python:
    build: .
    volumes:
      - ./app:/app
    working_dir: /app
    command: python3 main.py
```

```sh
docker-compose up --build
```

![](https://3379277180-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MaoWGMVdC3ztoOAzHPq%2Fuploads%2Fgit-blob-a8f8bd5aefc4cfe0b669afa607dbdf2d6ac3c944%2F2023-04-22-05-48-48.png?alt=media)

간단히 설명하면 컨테이너 이미지를 로드하고 실행시 main.py를 실행.

패키지 다운과 설치가 좀 시간이 걸린다. 나에 경우에는 도커이미지를 빌드하는데 20분정도가 걸렷다.

한번만 하고나면 다음번에는 캐싱을 사용하여 좀 빠르다.

![](https://3379277180-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MaoWGMVdC3ztoOAzHPq%2Fuploads%2Fgit-blob-b7d693752d86988395aeec3399d53dec31f87881%2F2023-04-22-06-06-47.png?alt=media)

실행하고 나면 모델을 다운로드 받는다. 이것도 모델을 large등을 사용하면 다운로드가 오래 걸린다.

![](https://3379277180-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MaoWGMVdC3ztoOAzHPq%2Fuploads%2Fgit-blob-36b7359098ddf6d97fc2d3e58bc4c4590e2bb51a%2F2023-04-22-06-07-34.png?alt=media)

잘 나온다.

놀랍다...python코드 몇줄에 음성인식을 할수 있다니...

일단 여기서 끝

## git repo

https://github.com/teamsmiley/my-whisper

tag : v0.1

이걸 사용하면 관련 코드를 볼수 있다.
