일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Algorithm
- C언어
- 데이터처리
- 빅데이터
- 코틀린
- 초보
- 혼자공부하는C언어
- 코딩
- r
- PrimePath
- Python
- 문제해결
- c++
- IT
- 도전실전예제
- 모두를위한 R데이터분석
- 알고리즘
- c프로그래밍
- 기술
- 혼공C
- 빅데이터입문
- 코딩연습
- 대학교재
- 대학교재풀이
- 코딩테스트
- 모두를위한R데이터분석입문
- 소수경로
- 연습문제
- 혼공씨
- c언어문제풀이
- Today
- Total
Jupitor's Blog
Google cloud Speech-to-text api를 이용하여 동영상 음성을 텍스트로 변환해보기 in python 본문
Google cloud Speech-to-text api를 이용하여 동영상 음성을 텍스트로 변환해보기 in python
Jupitor6245 2020. 9. 15. 02:51코로나 때문에 원격수업이 한창이다.
실시간 온라인 강의도 있지만 저는 이 동영상 강의를 들을때마다
아, 교수님이 말씀하신 걸 좀 한눈에 확인하면 훨씬 더 빠르지 않을까. 그럼 놓치는 것도 없을 것이고.
라고 생각했고, 검색해서 나온게 Speech to text 라는 api가 있더라. 뭐 이미 유명하고,,,
크게 IBM과 google 것이 있는데, IBM 것을 해보니까 정확도가 영, 너무 나쁘다.
반면 google의 서비스는 굉장히 정확도가 높았다.
간단하게 사용하려면 Google docs의 voice typing 을 사용하면 되지만
나는 한 강의에 1시간이 족히 넘는 강의들을 text로 변환해야 하기 때문에, 뭐 가능은 하겠지만
굉장히 비효율적일 것이다...
그래서 구글 클라우드의 speech to text 서비스를 사용해보기로 했다.
IBM과 비슷하게 클라우드를 처음 사용하고 문제가 없는 구글 계정은( 문제가 없는걸 뭘로 판단하는지는 잘... )
가입할때 300$ 가량의 무료 credit을 줬다. 3달간. 뭐 이거면 충분하겠지.
가입을 하고, google cloud platform 에서 speech-to-text api를 활성화하고,
credential을 생성하여 다운로드 받았다. 나는 google cloud에 있는 오디오 파일이 아닌
local storage에 있는 파일을 쓸 것 이기 때문이다.
web document에 다 나와있더라.
cloud.google.com/speech-to-text/docs/quickstart-client-libraries#client-libraries-install-python
파일은 mp3파일은 검색해보니까 지원은 하는데 beta api 머시기~라고 해서
그냥 맘편하게 mp3파일을 wav 파일로 변환했다.
참고로 변환할 때 1 chennel로 변환해야 한다. 스테레오 말고, 모노로.
그리고 샘플링 레이트도 변경해주어야 한다.
그리고 python을 이용했는데, windows에서 파이썬을 사용해서 할려면
환경변수로 $GOOGLE_APPLICATION_CREDENTIALS 변수를 export로 등록해주어야 한다.
( 아까 다운받은 json 파일의 전체경로를 넣어주면 된다 )
나는 이 과정에서 Ubuntu WSL을 이용하였다.
그런데 python3 이용하는데 pip 을 이용하여 google cloud 를 또 설치해야 했다.
cloud.google.com/speech-to-text/docs/quickstart-client-libraries
아주 뭔 놈의 api하나 쓰는데 이렇게... 복잡한건지 =.=;
아, python 코드는
github.com/googleapis/python-speech/blob/master/samples/snippets/quickstart.py
이 예시 코드를 썼다.
transcribe_file 이 google cloud 에 있는 파일이 아닌 내 컴퓨터에 있는 파일을 쓰는 함수이다.
위에 중간에 sample_rate_hertz 를 변환한 파일과 맞춰주어야 하고
language_code 또한 한국어를 처리할 것이기 때문에 ko-KR로 바꿔준다.
우여곡절 끝에 테스트로 간단한 문장을 보내봤는데,
굿굿. 아주 굿이다.
내 계획은 이제 이 서버로부터 보내 온 내용을 text file에 쓸 예정이다.
python은 전에 opencv강의 들을 때 말곤 안해봤는데, 뭐 또 검색하면 다 나오겠지.
구글에 python write to a file을 검색해서 찾아본다.
대충 파일이름 정해서 시도
나름 잘된다. 문제는 줄이 너무 길어서 보기가 힘들다.
이제 45분 정도의 강의로 시도해봤는데
흠... payload가 너무 커서 불가능하단다.
어쩌지... 그럼 google docs로 일일히 해야 하나.... =.=;;
일단 오늘은 여기까지....
--------------------------------------------------------------------------------------------------------------------------------
에 따르면, local file의 한계는 최대 10분이란다.
결국 10분보다 긴 파일을 변환하려면 google cloud storage에 직접 파일을 올려야 한다는 소리.
젠장...
--------------------------------------------------------------------------------------------------------------------------------
그래서 결국 다음 글에서 클라우드에 직접 파일을 올려 음성을 텍스트로 추출하기로 했다.
'잡다한것' 카테고리의 다른 글
Tistory 티스토리 블로그 사이드 바 광고 넣는 법 (0) | 2021.04.28 |
---|---|
google cloud platform을 이용하여 speech-to-text 로 음성을 텍스트로 변환해보자 (9) | 2020.09.17 |