블로그 이미지
* Microsoft MVP - Windows Development 2014 ~ 2019 5ring * LINE : kaki104 * facebook : https://www.facebook.com/kaki104 https://www.facebook.com/groups/w10app/ kaki104

카테고리

List All (551)
Xamarin Forms (4)
Bot Framework (19)
Azure (9)
Windows 10 (35)
Facebook News & Tips (158)
Windows App(Universa.. (83)
Windows 8&8.1 (113)
Windows Phone 8 (42)
Silverlight (37)
HTML5 & MVC4 (16)
WPF (1)
Portable Class Library (2)
Uncategorised Tips a.. (3)
Kinect for Windows (2)
ETC (12)
kaki104 Scrap (4)
App News (11)
Total521,316
Today35
Yesterday108

'Kinect for Windows'에 해당되는 글 2건

  1. 2012.02.17 SpeechRecognition in Kinect for Windows (15)
  2. 2012.02.15 Kinect for Windows 개봉

오늘 반나절 정도 키넥트랑 씨름 하면서, 이것 저것 건들고 놀다가 아주 좋은 블로그를 발견하게 되어서 그 블로그의 내용을 키넥트의 음성 서비스와 붙여서 간단한 프로그램을 만들어 봤다.

1. 참고 포스트
C# 으로 만드는 음성인식/TTS 프로그램
http://blog.naver.com/PostView.nhn?blogId=techshare&logNo=100150170276&viewDate=&currentPage=1&listtype=0&from=postList

2. MS사에서 
옛날부터 음성 인식 기능을 제공해 주고 있었다. 지금 윈도우 7에도 기본적으로 그 기능이 들어가 있는데, 버전이 8.0이다. 그런데, 8.0은 한글을 지원하지 않는다. 그래서 별 관심없이 하루하루 보내고 있다가 오늘 위의 포스트를 찾아서 실행 하게 되었는데, 거짓말 같이 한글 인식과 한글 보이스 출력이 되는 것이다.(버전 11은 한글 인식, 보이스 출력이 지원된다.) 기본 마이크만 있으면 음성 인식이 가능한데.. 기왕 키넥이 있으니 키넥의 음성 소스를 가지고 인식을 시키도록 약간 변경을 했다.




3. 기본 적인 내용은
 참고 포스트에 자세하게 다루고 있으니, 여기서는 키넥트와 관련된 부분만을 추가 하도록 하겠다.

  //전역 오브젝트들 선언
  KinectSensor sensor;
  KinectAudioSource source;
  SpeechRecognitionEngine sre;
  SpeechSynthesizer synth;

....

  //키넥트 센서 검색
  sensor = (from sensorToCheck in KinectSensor.KinectSensors
            where sensorToCheck.Status == KinectStatus.Connected
            select sensorToCheck).FirstOrDefault();
  if (sensor == null)
  {
      MessageBox.Show("No Kinect sensors are attached to this computer.");
      return;
  }
  //센서 시작
  sensor.Start();
  //센서의 오디오 부분만 따로 뽑아내고
  source = sensor.AudioSource;
  //에코 취소 모드..음음..음향 관련 내용인듯..
  //none : 에코 취소 또는 억제를 하지 마시오
  source.EchoCancellationMode = EchoCancellationMode.None;
  //이 옵션을 끄는 것이 중요하다고 하는..
  source.AutomaticGainControlEnabled = false;

...

  //한글 버전
  sre = new SpeechRecognitionEngine("SR_MS_ko-KR_TELE_11.0");
  //인식할 단어 등록
  var foods = new Choices();
  foods.Add("사과");
  foods.Add("망고");
  foods.Add("바나나");
  foods.Add("파인애플");
  foods.Add("오랜지");
  //문법 인스턴스 - 이 부분에서 참고 포스트의 xml을 이용한 방식이 않됨
  var gb = new GrammarBuilder();
  gb.Culture = new System.Globalization.CultureInfo("ko-KR");
  gb.Append(foods);

  Grammar g = new Grammar(gb);
  try
  {
      //음성 인식 엔진에 문법을 입력
      sre.LoadGrammar(g);
  }
  catch(Exception ec)
  {
      System.Diagnostics.Debug.WriteLine(ec.Message);
  }


...

  //키넥트의 음성 입력 데이터를 스트림에 넣고 그 스트림을 음성 인식 엔진에서 받아들임
  Stream s = source.Start();
  sre.SetInputToAudioStream(s, new SpeechAudioFormatInfo(EncodingFormat.Pcm, 16000, 16, 1, 32000, 2, null));

  //발음해야 하는 단어들
  tbMessage.Text = "Recognizing speech. Say: '사과', '바나나', '망고', '파인애플', '오랜지'";

  //녹음 시작
  sre.RecognizeAsync(RecognizeMode.Multiple);


 

'Kinect for Windows' 카테고리의 다른 글

SpeechRecognition in Kinect for Windows  (15) 2012.02.17
Kinect for Windows 개봉  (0) 2012.02.15
Posted by MVP kaki104
2월 초에 국내 대행 업체를 통해서 주문을 했는데 14일 만에 도착을 했군요. 이전에 XBox360 키넥트를 사용해 본 적이 없기 때문에 비교는 불가능 합니다.

1. 박스 상태


2. 내용물..이게 전부내요


3. 정면 모습으로


일단 이녀석 전원을 꼭 꼽아야지만 사용 가능합니다. 그리고, 온오프 스위치는 없습니다. 무조건 계속 켜 있는.. 모니터 바로 앞에서 저를 계속 노려 보는 것 같군요.. 특히 센서 동작 시켜서 빨간 불 들어오면.. 무섭습니다.

이 녀석은 xbox360이랑 전혀 호환이 되지 않기 때문에 xbox게임을 pc에서 해볼 수는 없을 것 같구요, 대신, 셈플로 만들어져 있는 게임을 잠깐 해 봤습니다. 한 5분 동안 움직였는데, 힘들더군요;;

Kinect용 프로그램 개발 경험을 쌓기 위해서 구입을 하게 되었고, 앞으로 레벨을 하나씩 하나씩 올려가 볼려고 합니다.
그럼

'Kinect for Windows' 카테고리의 다른 글

SpeechRecognition in Kinect for Windows  (15) 2012.02.17
Kinect for Windows 개봉  (0) 2012.02.15
Posted by MVP kaki104

티스토리 툴바