Microsoft MVP성태의 닷넷 이야기
c#이용한 음성인식에 질문드립니다. [링크 복사], [링크+제목 복사]
조회: 11976
글쓴 사람
김보경
홈페이지
첨부 파일
 

음성인식 과정중에 특징추출 부분이있는데 선형예측계수 캡스트럼 주파수대역별에너지 등을 사용한다고 합니다. 그럼 c# speech recognition에서는 이런 것들을 사용하는건지 아니면 독자적인 알고리즘 같은게 있는지 만약 선형예측계수 등을 사용한다면 어떤식으로 사용해서 어떻게 적용하는지 궁금합니다. 그리고 음성인식 비교 부분에서 위의 특징추출한 후 특징벡터로 인식하는데 그때 인식알고리즘인 HMM DTW VQ ANN등이 있는데 c# speech recognition은 이중에서 어떤것을 사용하는지 아니면 아에 사용을 하지않는지 궁금합니다. 기존에 있는 API라 속을 들여다 보기 힘드네요 그리고 만약 c# 음성인식을 사용해서 음성을 인식할때 HMM 을 사용한다면 어떤식으로 사용하여 적용하는지 자세하게 알려주시면 감사드리겠습니다. 또 만약 인식 알고리즘을 사용하지 않는다면 어떤식으로 c#음성인식은 음성을 인식하는지, 또 c#음성인식에 HMM 을 적용시켜 음성인식을 향상 시킬수 있는 방법이 있는지 있다면 어떤식으로 하는지 궁금합니다. 음성인식 관련 공부중인데 지식이 많이 부족하네요. 많은 조언 부탁드립니다. 제가 물어본 질문외에도 c#안에 라이브러리 원리에대해서 아시면 아시는대로 설명해주셔도 감사할거같아요ㅠㅠ






[최초 등록일: ]
[최종 수정일: 5/27/2015]


비밀번호

댓글 작성자
 



2015-05-26 04시27분
이 질문은 저의 지식 범위를 넘어섰습니다. ^^ 일단 아는데까지 설명드리면, C# Speech Recognition은 C#이라는 수식어를 떼고 마이크로소프트 윈도우에서 제공하는 음성인식 엔진이라고 보면 됩니다. 근데, 딱히 이 엔진에 대한 내부 소개글은 찾을 수가 없습니다. 겨우 찾아낸 것이 다음의 문서인데,

An HMM-Like Dynamic Time Warping Scheme for Automatic Speech Recognition
; http://www.hindawi.com/journals/mpe/2014/898729/

"
Nowadays, the popular DTW speech recognition has been seen to be largely utilized in the sensing-based applications [11], such as the Microsoft Kinect sensing device.
"

Kinect 음성엔진이 윈도우 음성인식 내장 엔진의 발전형이라고 알고 있기 때문에, 특성면에서 봤을 때 아마도 윈도우 SR은 기본 엔진이 DTW라고 보입니다.

근데, 윈도우 SR 엔진이 다양한 플러그인 기법이 도입되어 있기 때문에 기본 엔진에 다른 음성인식 알고리즘도 쉽게 덧씌울 수 있는 것 같습니다. 따라서, 특정 윈도우 머신을 100% DTW 엔진이 사용되고 있다고 가정해서는 안됩니다. 질문 중에 "C# 음성 인식에 HMM을 적용 시켜..."라고 했는데, 원하시면 플러그인으로 향상시킬 수 있습니다. 구체적인 방법은 마이크로소프트의 문서를 참조하시기 바랍니다. (저는 도메인 지식이 없으므로 딱히 설명드릴 것이 없습니다.)

참고로, 윈도우 10에 탑재될 Cortana를 비롯해 대부분의 상용 음성 인식 엔진은 DNN을 기반으로 한다고 합니다.

Speech recognition - Deep Neural Networks and Other Deep Learning Models
; http://en.wikipedia.org/wiki/Speech_recognition

"
More importantly, all major commercial speech recognition systems (e.g., Microsoft Cortana, Xbox, Skype Translator, Google Now, Apple Siri, Baidu and iFlyTek voice search, and a range of Nuance speech products, etc.) nowadays are based on deep learning method
"


정성태

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5935양승조4/25/202411Reflection 관련 질문 드립니다. [5]파일 다운로드1
5934양승조4/24/202437Reflection 관련 질문 드립니다. [1]
5933vict...4/23/2024162cpp 라이브러리 디버깅 방법 문의 드립니다. [1]
5932EK4/12/2024678다음 제네릭에서 널익셉션이 뜨는 이유를 알수있을까요? [1]
5931이대희4/2/2024972Windows 앱 SDK C# 템플릿의 용도가 무엇인지요? [1]
5930vict...2/22/20241878ef core, FromSqlRaw 맵핑 질문입니다. [4]
5929a2/17/20241950.Net 8 에서 디버거 변경 [1]
5928vict...2/5/20242110wpf에서 대량 데이터 보여주는 방법 추천 부탁드립니다. [1]
5926엄태영1/12/20242057잘못된 Task 사용으로 인한 데드락 관련 질문 입니다. [3]
5925Euni...12/22/20232006Visual Studio에서 nodejs 사용시 npm install -g @vue/cli 실행시 오류 [1]
5924Euni...12/21/20232085Visual Studio에서 nodejs 사용시 C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs\\node_modules\npm\bin\npm-cli.js" prefix -g 를 찾지 못하는 설치 오류 [2]
5923정두호12/4/20232536MSSQL 데이터 전송과 공유폴더의 데이터 전송 차이점 [1]
5922Heeg...10/27/20234695C++의 double pointer를 C#에서 구현하는 방법이 잘 안됩니다. [3]
5921한예지 donator10/3/20234481마샬링 정의 및 목적이 궁금합니다. [5]
5920한예지 donator10/3/20233359C#과 WIN32 API 관계 질문드립니다. [4]
5919이건우9/27/20233000WinForm의 로딩속도 관련 질문입니다 [2]
5917한예지 donator9/14/20233099동기화 도구 질문 있습니다. [4]
5916한예지 donator9/3/20233255Thread.Sleep(500), await Task.Delay(500), Task.Delay(500) 차이점이 궁금합니다. [2]
5915한예지 donator8/30/20233118비동기 코드를 for 문 안에 작성한 경우 제어 변수가 올바르게 동작하지 않는 이유가 궁금합니다. [3]
5914한상욱8/11/20232977.net wpf에서 skiasharp 의 skelement 를 canvas로 사용 하고 있습니다. [1]
5913김태우8/10/20233063지역변수로 이해하는 메서드매개변수 게시글 댓글 [3]
5912guest4/25/20235357[참고 - 초보용] Sqlite 디비는 double이 없고 Real이 대신합니다 [3]
5911guest4/24/20233583Form1.cs와 외부 class.cs와 통신 (static async method포함) [4]파일 다운로드1
5910guest4/24/20233419Async 메서드와 try~catch [1]
5909guest4/22/20233828Visual Studio 구매 시(1인 개발자) [4]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...