음성을 텍스트로 변환 : 간단한 받아쓰기 앱을 만드는 방법

작가: Lewis Jackson
창조 날짜: 13 할 수있다 2021
업데이트 날짜: 1 칠월 2024
Anonim
음성을 텍스트로 변환 무료어플, 구글 음성 인식
동영상: 음성을 텍스트로 변환 무료어플, 구글 음성 인식

콘텐츠


많은 앱, 서비스 및 가정용 기기는 음성 인식을 사용하여 더 나은 사용자 경험을 제공하고 접근성을 향상시킵니다. Google 어시스턴트 중에서 가장 눈에 띄는 음성 인식 기능을 사용하는 수많은 Android 앱이 있습니다. 따라서이 기능을 자신의 Android 애플리케이션에 추가하고 어떻습니까?

이 기사에서는 Android의 Speech-to-Text Intent를 빠르고 쉽게 시작할 수있는 방법을 공유합니다.이 방법은 다양한 애플리케이션에 유용 할 수 있습니다. 예를 들어, 음성 인식을 사용하여 지루한 수동 데이터 입력을 자동화하고, 자막을 자동으로 생성하거나, 음성 입력을 "듣고"텍스트로 변환 한 다음이 텍스트를 번역하여 결과를 표시하는 번역 앱의 기초로 사용할 수 있습니다. 사용자.

생성 한 응용 프로그램 종류에 관계없이 음성 인식은 사용자에게 앱과 상호 작용할 수있는 대체 방법을 제공하여 접근성을 향상시킬 수 있습니다. 예를 들어 이동성, 손재주 또는 시각 문제가있는 사람들은 터치 스크린이나 키보드 대신 음성 명령을 사용하여 모바일 응용 프로그램을 더 쉽게 탐색 할 수 있습니다. 또한 세계 보건기구 (WHO)에 따르면 10 억 명이 넘는 사람들이 전 세계 인구의 약 15 %에 해당하는 형태의 장애를 겪고 있습니다. 응용 프로그램에 접근성 기능을 추가하면 잠재 고객을 크게 늘릴 수 있습니다.

이 기사를 마치면 음성을 녹음하여 텍스트로 변환 한 다음 화면에 해당 텍스트를 표시하는 간단한 Speech-to-Text 응용 프로그램을 만들게됩니다.

Speech-to-Text 사용자 인터페이스 구축

시작하려면“빈 활동”템플릿을 사용하여 새 Android 프로젝트를 만듭니다.

탭하면 Android의 Speech-to-Text Intent를 트리거하고 앱이 음성 입력을받을 준비가되었음을 나타내는 대화 상자를 표시하는 버튼으로 구성된 간단한 애플리케이션을 만들 것입니다. 사용자가 말을 마치면 입력 내용이 텍스트로 변환 된 다음 TextView의 일부로 표시됩니다.


먼저 레이아웃을 만들어 봅시다 :

이를 통해 다음과 같은 레이아웃이 제공됩니다.


Android 앱에 음성 인식 추가

음성 입력을 두 단계로 캡처하고 처리합니다.

1. RecognizerIntent 시작

Speech-to-Text 변환을 수행하는 가장 쉬운 방법은 RecognizerIntent.ACTION_RECOGNIZE_SPEECH를 사용하는 것입니다. 이 의도는 Android의 친숙한 마이크 대화 상자를 시작하여 사용자에게 음성 입력을 요구합니다.

사용자가 통화를 중단하면 대화 상자가 자동으로 닫히고 ACTION_RECOGNIZE_SPEECH가 음성 인식기를 통해 녹음 된 오디오를 보냅니다.

번들 액티비티와 함께 ​​startActivityForResult ()를 사용하여 RecognizerIntent.ACTION_RECOGNIZE_SPEECH를 시작합니다. 달리 지정하지 않는 한 인식기는 장치의 기본 로캘을 사용합니다.

public void onClick (View v) {// RecognizerIntent 의도 // 의도 의도 트리거 = 새로운 의도 (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); {startActivityForResult (의도, REQUEST_CODE); } catch (ActivityNotFoundException a) {}}

2. 음성 응답 받기

음성 인식 작업이 완료되면 ACTION_RECOGNIZE_SPEECH는 결과를 문자열 배열로 호출 활동에 다시 보냅니다.

startActivityForResult ()를 통해 RecognizerIntent를 트리거 했으므로 음성 인식 호출을 시작한 Activity에서 onActivityResult (int requestCode, int resultCode, Intent data)를 재정 의하여 결과 데이터를 처리합니다.

결과는 음성 인식기 신뢰의 내림차순으로 반환됩니다. 따라서 가장 정확한 텍스트를 표시하려면 반환 된 ArrayList에서 0 위치를 가져 와서 TextView에 표시해야합니다.

@Override // 인 텐트 호출자 활동에서 OnActivityResult 메소드 정의 // protected void onActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {case REQUEST_CODE : {// RESRES_OK가 반환되면 ... // if (resultCode == RESULT_OK && null! = data) {//...ArrayList// ArrayList를 검색합니다 결과 = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); // TextView 업데이트 // textOutput.setText (result.get (0)); } 휴식; }}}}

Speech-to-Text는 인터넷 연결이 필요하지 않으므로 사용자가 오프라인 일 때도 올바르게 작동합니다.

위의 모든 단계를 완료하면 MainActivity는 다음과 같아야합니다.

import android.content.ActivityNotFoundException; import androidx.appcompat.app.AppCompatActivity; android.os.Bundle 가져 오기; android.content.Intent 가져 오기; android.speech.RecognizerIntent 가져 오기; import android.widget.TextView; import android.view.View; import java.util.ArrayList; 공개 클래스 MainActivity는 AppCompatActivity를 확장합니다. {private static final int REQUEST_CODE = 100; 개인 TextView textOutput; @Override protected void onCreate (번들 저장 인스턴스 상태) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); textOutput = (텍스트보기) findViewById (R.id.textOutput); } //이 버튼을 누르면 호출됩니다 .// public void onClick (View v) //“RecognizerIntent.ACTION_RECOGNIZE_SPEECH”action // {Intent intent = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); try {// 활동을 시작하고 응답을 기다립니다 // startActivityForResult (intent, REQUEST_CODE); } catch (ActivityNotFoundException a) {}} @Override // 결과 처리 // protected void onActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {case REQUEST_CODE : {if (resultCode == RESULT_OK && null! = data) {ArrayList 결과 = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); textOutput.setText (result.get (0)); } 휴식; }}}}

완성 된 프로젝트는 GitHub에서 다운로드 할 수 있습니다.

프로젝트 테스트

응용 프로그램을 테스트하려면 :

  • 실제 Android 장치 또는 Android 가상 장치 (AVD)에 프로젝트를 설치하십시오. AVD를 사용하는 경우 개발 컴퓨터에 내장 마이크가 있거나 외부 마이크 또는 헤드셋을 사용할 수 있습니다.
  • 응용 프로그램의 "Dictation 시작"버튼을 누릅니다.
  • 마이크 대화 상자가 나타나면 장치와 대화하십시오. 잠시 후 화면에 단어가 나타납니다.

마무리

이 기사에서는 Speech-to-Text Intent를 사용하여 Android 애플리케이션에 음성 인식을 빠르고 쉽게 추가 할 수있는 방법을 살펴 보았습니다. 놀랍거나 혁신적인 방식으로 음성 인식을 사용하는 Android 앱이 있습니까?

다음 것: Google ARCore를 사용하여 증강 현실 Android 앱 빌드

Android Oreo에 데뷔 한 멋진 기능 중 하나는 컬러 미디어 알림으로, 듣고있는 앨범 아트 나 비디오의 색상을 나타냅니다. Android Q Beta 2는 미디어 알림에 진행률 표시 줄을 포함시켜 이러한 알림을 한 단계 업그레이드합니다.이제 미디어 알림을 확장 할 수있을뿐만 아니라 현재 재생중인 모든 것에 대한 진행률 표시 줄이 나타납니다. 진행률 ...

현재 Android Q를 기반으로 제공되는 산소 O 베타 버전이 있습니다.이 베타 버전에는 게임 공간이라는 OnePlu에서 만든 새로운 앱이 있으며 게임 모드 및 Fnatic 모드 기능으로 확장됩니다.잠시 동안 Game pace를 시험해볼 수있는 유일한 방법은 Android Q 베타 버전 중 하나 인 Oxygen O를 설치하는 것이 었습니다. 그러나 이제 ...

최근 게시물