본문 바로가기

분류 전체보기

(15)
음성인식 문제 해결 시도7-(VITO Speech API 이용/토큰 발급/테스트) 우선 VITO Speech API를 이용하기 전에 파이썬으로 TOKEN 발급 방법과 테스트를 위한 코드를 알아보고자 한다. TOKEN 발급받는 방법 import requests client_id'User_id' client_secret'User_secret' resprequests.post( 'https://openapi.vito.ai/v1/authenticate', data={'client_id': client_id, 'client_secret': client_secret} ) resp.raise_for_status() response_dataresp.json() access_tokenresponse_data['access_token'] print(f'Access Token: {access_token}..
음성인식 문제 해결 시도-6(VITO Speech API 설치 및 사용법/무료 음성 API) VITO 홈페이지에 접속해서 음성인식 API를 사용하기 위한 방법을 찾아보았다. 우선 VITO Speech API 발급을 위해 Client ID, Client Secret 키를 받는 방법을 포스팅한다. 1. VITO Speech API를 이용하기 위해 홈페이지에 접속한다.(https://www.vito.ai/) 2. 홈페이지 상단에 회원가입을 먼저 한다. 3. 회원가입 아래 빈칸을 작성하고 약관동의를 하고 가입하기를 누른다. 4. 그럼 이메일로 인증하기 메일을 보내는데 인증하기를 눌러주면 된다. 5. 그리고 로그인 버튼을 눌러 이메일과 비밀번호를 입력하고 로그인하기를 한다. 6. 로그인 후 MY콘솔 메뉴를 클릭한다. 7. Console에 애플리케이션 등록하기를 누른다. 기존에 나는 행맨게임을 등록 해났다..
음성인식 문제 해결 시도-5(새 음성모델을 찾아서) pocketsphinx로 구현한 음성인식을 테스트 해보았다. a, b, c, d, e, f를 차례대로 발음해보았다. 과연 결과는? h, h, s, t, y, a로 차례대로 인식하는 결과를 나타냈다. 내 발음이 심각하게 잘못된건가... 그래도 구글에서는 어느정도 인식률은 보였는데.... 비교차원에서 구글로 한번 a, b, c, d, e, f를 차례대로 발음해보았다. 과연 결과는? h, b, s, .... 중간에 멈춤현상이 발생했다. 구글은 서버에 신호를 보내고 받는 형태로 인식을 하는 거라 잦은 멈춤현상이 발생하긴 했는데 그래도 정확도가 좋을 땐 50%이상이 나오기도 했었는데.... pocketsphinx 는 오프라인으로 음성인식을 받아오는 형태인데 속도는 확실히 빠르고 멈춤현상도 없었는데 문제는 정확도가..
울산 봄꽃 축제(5.19~5.21) 어제부터 내리던 비가 오늘 오후에는 그치더니 햇살이 비치기 시작했다. 미세먼지도 없는 맑고 시원한 날씨에 가족과 함께 태화강 국가정원으로 나들이를 갔다. 아무 생각 없이 국가정원으로 향했는데 좋은 주차자리에는 차들이 만차였다. 결국 한 바퀴 돌아오고 끝에즘 왔을 때 운 좋게 한자리가 비어 주차를 해놓았다. 그렇게 차를 주차시키고 국가정원으로 걸어갔는데... 멀찍이서 보이는 현수막 봄꽃 축제 5월 19일부터 21일까지 국가정원 봄꽃축제 행사를 개최하는 것이었다. 어떻게. 가는 날이 축제 시작 날이었다. 날씨도 좋은 탓에 기분 좋게 둘러보러 갔다. 5월 20일부터 5월 21일까지는 2023 태화강 국제 재즈음악제도 함께 한다는 현수막도 있었다. 5월 20일 스카재즈유닛(The Ska jazz unit), 스..
음성 인식 문제 해결시도 4- PocketSphinx 라이브러리 3번째 시도 –음성인식 라이브러리 음성인식행맨게임의 게임속도가 느린 것에 대하여 생각을 하면서 이것저것 찾아보다가 Google speech recognition 라이브러리는 음성인식 시 online을 활용해서 인식을 하므로 불러오는데 시간이 더 소요되어 Offline에서 사용가능 한 음성인식 라이브러리를 찾아보기로 했다. *** PocketSphinx: PocketSphinx은 CMU Sphinx 프로젝트의 일부로 개발된 오픈 소스 음성인식 엔진입니다. Python에서 사용할 수 있는 Pocketsphinx-Python 라이브러리를 통해 쉽게 사용할 수 있습니다. Kaldi: Kaldi는 고성능 음성인식을 위한 오픈 소스 툴킷입니다. C++로 개발되었으며, Python 바인딩을 통해 Python에서 사용..
음성인식 문제 해결 시도3- Thread 사용 지난 GPT에게서 성능향상을 위한 답변 중 하나 스피치 인식을 위한 별도의 스레드 사용 현재 코드는 주 스레드에서 스피치 인식을 실행하므로 GUI가 멈추는 문제가 발생할 수 있습니다. 스피치 인식을 위한 별도의 스레드를 사용하면 GUI의 반응성을 향상할 수 있습니다. 먼저 스레드란 무엇인가? ***스레드(Thread)란, 컴퓨터에서 동시에 여러 작업을 처리하기 위해 사용되는 개념이다. 일반적으로 프로그램은 하나의 메인 스레드에서 순차적으로 실행된다. 하지만, 스레드를 사용하면 하나의 프로그램 내에서 여러 개의 스레드를 만들어서 동시에 여러 작업을 처리할 수 있습니다. 예를 들어, 웹 브라우저에서는 하나의 스레드가 사용자의 입력을 받고 화면에 출력하며, 또 다른 스레드가 웹 페이지를 다운로드하고 화면에 표..
음성인식 문제 해결 시도2 - <Return> 이벤트 바인딩 2번째 시도 음성인식테스트를 삽입한 코드에서는 음성인식이 한번 작동했다. 그런데 음성인식테스트 코드를 제거한 코드는 음성인식이 작동하지 않는다. 결국엔 위에 작성한 코드에서 음성인식 관련 변수나 코드에 문제가 있는것 같다는 결론이 나온다. 그래서 chat GPT에게 물어보았다. *답변* *마이크가 제대로 작동하고 음성 인식 테스트 코드가 음성을 인식할 수 있다면 메인 프로그램에서 음성 인식을 호출하는 코드에 문제가 있을 수 있습니다. 한 가지 가능성은 recognize_alphabet 기능을 트리거하는 키에 대한 이벤트 바인딩이 제대로 작동하지 않는다는 것입니다. recognize_alphabet 함수 내에서 일부 디버그 문을 인쇄하여 호출되고 있는지 확인할 수 있습니다. 또 다른 가능성은 프로그램이 r..
음성인식 문제 해결 시도 1 -알파벳 한 개만 인식하기 음성인식 시 알파벳하나를 이야기하면 단어로 인식하는 경우가 있어 인식된 오디오를 인식 결과 문자열을 공백 기준으로 분리한 후 첫 번째 단어를 내가 지정하고자 하는 변수(ex:first_word)에 저장한다. 이후 내가 지정한 변수에서 첫 번째 알파벳만 추출하여 또 다른 변수(ex:first_letter)에 저장한다. 즉 단어로 인식 시 첫 번째 알파벳만 가져오게 한다. ex) result = r.recognize_google(audio) first_word = result.split()[0] first_letter = first_word[0] 하지만 내가 P라는 알파벳을 음성인식 시도 시 result2: { 'alternative': [ {'confidence': 0.72999614, 'transcrip..