티스토리 뷰

반응형


나만의 AI Speaker 만들기


라즈베리파이, UWP, Microsoft Azure 서비스를 이용해서 한글을 지원하는 AI Speaker를 만드는 과정을 설명드릴려고 합니다.

총 9개의 동영상으로 구성할 예정입니다.



PDF 등록했습니다!!

AISpeaker.pdf



Part1

. Smart Speaker, AI Speaker란
. AI Speaker 종류(국내, 해외)
. AI Speaker 관련 기사 및 사이트
. System diagram
. Microsoft Harman Kardon Invoke with Cortana
. Microsoft Suface Headphone
. 준비물

. Part1 동영상 바로가기



Part2

. Bot 생성 및 배포
. NuGet packages설치
. Azure에 Publish
. Channel 생성 및 연결
. DirectLine 추가
. Bot 연결 테스트
. Part2 동영상 바로가기


. Part2까지 소스 - 모든 개발이 완료되면 전체 소스를 Git에 업로드하도록 하겠습니다.

KakiAISpeaker.Bot_part2.zip



Part3

. 클라이언트 프로젝트 추가
. NuGet packages 추가
. MainPage.xaml 코드 추가
. MainViewModel.cs 코드 추가
- DirectLineClient 생성 및 연결
- WebSocketClient 연결
. 클라이언트 실행해서 연결 테스트

- Part3 동영상 바로가기




. 모든 개발이 완료되면 전체 소스를 Git에 업로드하도록 하겠습니다.

KakiAISpeaker_part3.zip



Part4

* Client 
. 음성 인식 기능 추가
. SRGS.xml 파일 추가
. Direct Line을 이용해서 start 메시지 전달
* Bot
. start 메시지 수신 후 start conversation 메시지 회신

- Part4 동영상 바로가기




. 모든 개발이 완료되면 전체 소스를 Git에 업로드하도록 하겠습니다.

KakiAISpeaker_part4.zip


yj님께서 달아주신 댓글입니다.


Client의 MainViewModel.cs에 있는 코드

//음성 인식 초기화 - 한글을 지원하지 않기 때문에 영문으로 인식하도록 함

var supportedLanguages = SpeechRecognizer.SupportedGrammarLanguages;

var enUS = supportedLanguages.FirstOrDefault(p => p.LanguageTag == "en-US")

?? SpeechRecognizer.SystemSpeechLanguage;

await InitializeRecognizerAsync(enUS); //enUS가 계속 null이라고 안되는데 잘모르겠어요..ㅠ


혹시 고민하실까봐 댓글 달아 둡니다.

null뜬 이유는 window설정을 미국?이나 영어권으로 해야되는 것 같더라고요.

혹시나 모르실분들을 위해서 추가해주면 좋을 것 같습니다^^



Part5
음성명령 녹음하고 전송하기
- 녹음을 위한 MicrophoneHelper추가
- 녹음 시작, 끝내기
- 사용자 음성인지 확인하기
- 저장된 음성 파일 Bot에 전송하기

* ClientStates를 이용한 제어 개요
* ClientStates 변화과정과 관련 소스 살펴보기

- Part5 동영상 바로가기



KakiAISpeaker_part5.zip



Part6

건강이 나빠져서 동영상 제작이 좀 늦어졌습니다. 다음편은 빨리 올리도록 하겠습니다.


* 서비스 추가하기
- Azure
    . Speech Service 추가
    . Storage 추가
- AWS
    . Polly Service 추가
- Part6 동영상 바로 가기



Part7


- 수신된 음성 명령 확인
- Speech Service 헬퍼 추가, 인증 클래스 추가
- Polly Service 헬퍼 추가
- Blob Service 헬퍼 추가
- 결과 클라이언트에 반환하기
- appsetting.json에 키 값 사용하기
- Microsoft.Extension.Http nuget 사용하기

** 소스 : https://github.com/kaki104/KakiAISpeaker

- Part7 : 동영상 바로 가기


Part8

Part9



2019-04-17 업데이트


Visual Studio 2019 기준으로 스크린샷을 다시 만들었습니다.



설치를 완료하기 위해서는 Visual Studio 2019를 재시작 해야합니다.


설치완료 후 Visual Studio 2019를 시작하시고, 시작 창에서 Create a new project를 선택하시고 bot으로 검색을 하시면 아래와 같은 프로젝트 목록을 보실 수 있습니다. 여기서 EchoBot을 선택하시면 될 것 같습니다.



프로젝트 생성 후 IIS로 실행하기를 하니 정상적으로 봇 프로젝트가 실행되는 것을 확인했습니다.

참고하세요


반응형
댓글