나는 음성을 인식하고이를 발음 텍스트로 변환하는 안드로이드 응용 프로그램을 만들고 싶습니다. (사실 발음 또는 특수 단어와 사용자 발음 사이의 발음을 비교합니다). 텍스트에 대한 연설을 만드는 것이 가능하다는 것을 알고 있습니다. 사용자가 말하는 모든 단어를 변환하고 싶습니다.음성을 발음으로 변환하는 가장 좋은 방법
API가 있습니까? 그렇지 않다면 구현 방법을 알려주십시오.
나는 음성을 인식하고이를 발음 텍스트로 변환하는 안드로이드 응용 프로그램을 만들고 싶습니다. (사실 발음 또는 특수 단어와 사용자 발음 사이의 발음을 비교합니다). 텍스트에 대한 연설을 만드는 것이 가능하다는 것을 알고 있습니다. 사용자가 말하는 모든 단어를 변환하고 싶습니다.음성을 발음으로 변환하는 가장 좋은 방법
API가 있습니까? 그렇지 않다면 구현 방법을 알려주십시오.
이러한 라이브러리가 유용 할 수 있습니다. 개인적으로 안드로이드에서는 사용하지 않았지만 Java 용 패키지입니다. 이 답변 밖으로
안드로이드는 개발자에게 SpeechRecognizer 클래스를 사용하여 음성 인식을 제공하는 기본 방법이있다.
이 답변이 API를 사용의 장점과 단점의 아주 좋은 설명이 있습니다
난 그냥 연설 텍스트하기위한 코드을 제공합니다. 그것은 데모입니다. 나는 이것이 당신을 도울 지 모른다. 하지만 난 내 응용 프로그램이 사용하고 있습니다. 그것을 사용해보십시오.
SpeechtoText.java
public class SpeechtoText extends Activity {
protected static final int RESULT_SPEECH = 1;
private ImageButton btnSpeak;
private TextView txtText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtText = (TextView) findViewById(R.id.txtText);
btnSpeak = (ImageButton) findViewById(R.id.btnSpeak);
btnSpeak.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(
RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US");
try {
startActivityForResult(intent, RESULT_SPEECH);
txtText.setText("");
} catch (ActivityNotFoundException a) {
Toast t = Toast.makeText(getApplicationContext(),
"Ops! Your device doesn't support Speech to Text",
Toast.LENGTH_SHORT);
t.show();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case RESULT_SPEECH: {
if (resultCode == RESULT_OK && null != data) {
ArrayList<String> text = data
.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
txtText.setText(text.get(0));
}
break;
}
}
}
}
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/textView1"
android:layout_toLeftOf="@+id/textView1"
android:gravity="center"
android:orientation="vertical" >
<ImageButton
android:id="@+id/btnSpeak"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:contentDescription="@string/speak"
android:src="@android:drawable/ic_btn_speak_now" />
<TextView
android:id="@+id/txtText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
확인 http://ispikit.com –
는 내가 원하는 게 아니에요. 안드로이드 라이브러리는 무료가 아닙니다. 나는 더 유연한 방법을 찾고 있습니다. 어려움은 중요하지 않습니다. –
무료 라이브러리를 원한다면 질문에 가리 키길 원할 수 있습니다. –