현재 repository에는 2가지의 프로그램이 저장되어있습니다.
HomeCCTV 프로그램에서는 2번째 음성 인식 인텐트 필터 기술을 사용하였습니다.
이 프로젝트는 Android 플랫폼에서 SpeechRecognizer
객체를 사용하여 음성 인식 기능을 구현한 애플리케이션입니다.
사용자가 마이크 버튼을 눌러 음성을 입력하면, 입력된 음성을 텍스트로 변환하여 화면에 표시합니다.
- 언어: Java
- 플랫폼: Android
- 개발 환경: Android Studio
- 음성 인식 API: Android SpeechRecognizer
- 주요 기능:
SpeechRecognizer
객체를 사용하여 음성을 인식하고, 인식된 텍스트를 UI에 표시합니다.- 음성 인식 권한을 요청하고 처리합니다.
- 마이크 버튼을 눌러 음성 인식을 시작하고, 버튼에서 손을 떼면 인식을 중지합니다.
- 참고 링크: https://medium.com/voice-tech-podcast/android-speech-to-text-tutorial-8f6fa71606ac
Android 플랫폼에서 RecognizerIntent를 사용하여 시스템 음성 인식 기능을 호출하고, UDP 프로토콜을 통해 인식된 음성을 네트워크로 전송하는 애플리케이션입니다.
사용자가 음성을 입력하면 이를 텍스트로 변환하여 화면에 표시하고, 지정된 IP 주소로 전송합니다.
음성 인식 객체를 사용한 1번 애플리케이션보다 음성 인식 정확도가 높고 속도가 빠릅니다.
- 언어: Java
- 플랫폼: Android
- 개발 환경: Android Studio
- 음성 인식 API: RecognizerIntent
- 통신 프로토콜: UDP (User Datagram Protocol)
- 주요 기능:
RecognizerIntent
를 사용하여 음성을 인식하고, 인식된 텍스트를 UI에 표시합니다.- RecognizerIntent.ACTION_RECOGNIZE_SPEECH: 이 상수는 음성 인식 작업을 수행하기 위한 인텐트의 액션을 정의합니다.
이 액션을 통해 시스템은 음성 인식을 처리할 수 있는 적절한 앱(예: Google 음성 인식 서비스)을 찾습니다. - 음성 인식 권한을 요청하고 처리합니다.
- 인식된 음성을 UDP를 통해 네트워크로 전송합니다.
- 특정 IP 주소를 통해 데이터를 전송하여 실시간 통신 기능을 지원합니다.
사용자가 지정한 액션을 수행할 수 있는 컴포넌트를 시스템이 자동으로 선택할 수 있도록 하여 유연한 앱 간 통신을 가능하게 합니다.
- 작업 기반: 암시적 인텐트는 특정 작업을 수행하기 위한 의도를 나타내며, 해당 작업을 처리할 수 있는 여러 컴포넌트 중 하나를 선택합니다.
- 유연성: 앱이 설치되어 있지 않거나 기본 음성 인식 앱이 다를 경우에도 동작할 수 있습니다.
- 액션 및 데이터 필드: 인텐트를 정의할 때 액션, 카테고리, 데이터와 같은 필드를 사용하여 원하는 작업을 지정합니다.