PDA

View Full Version : برنامه تبدیل گفتار به متن



pcpsoft
جمعه 10 بهمن 1393, 17:03 عصر
سلام دوستان در این آموزش قصد دارم شما رو با آموزش ساخت برنامه تبدیل گفتار به نوشتار آشنا کنم

1- ابتدا یک پروژه جدید در برنامه Eclipse ایجاد کنید و اطلاعات لازم رو وارد کنید
2- قسمت strings.xml را باز کنید و کد های زیر رو داخل آن کپی کنید
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Speech To Text</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="speech_prompt">Say something…</string>
<string name="speech_not_supported">Sorry! Your device doesn\'t support speech input</string>
<string name="tap_on_mic">Tap on mic to speak</string>
</resources>



3- قسمت colors.xml را باز کنید و کد های زیر را در آن کپی کنید.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#ffffff</color>
<color name="bg_gradient_start">#31244e</color>
<color name="bg_gradient_end">#6b394c</color>
</resources>

4- کد های زیر را در activity_main.xml کپی کنید


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_gradient"
android:orientation="vertical" >

<TextView
android:id="@+id/txtSpeechInput"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="100dp"
android:textColor="@color/white"
android:textSize="26dp"
android:textStyle="normal" />

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="60dp"
android:gravity="center"
android:orientation="vertical" >

<ImageButton
android:id="@+id/btnSpeak"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:src="@drawable/ico_mic" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/tap_on_mic"
android:textColor="@color/white"
android:textSize="15dp"
android:textStyle="normal" />
</LinearLayout>

</RelativeLayout>





















5- کدهای زیر را در MainActivity.java کپی کنید.

import java.util.ArrayList;
import java.util.Locale;

import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.os.Bundle;
import android.speech.RecognizerIntent;
import android.view.Menu;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

private TextView txtSpeechInput;
private ImageButton btnSpeak;
private final int REQ_CODE_SPEECH_INPUT = 100;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

txtSpeechInput = (TextView) findViewById(R.id.txtSpeechInput);
btnSpeak = (ImageButton) findViewById(R.id.btnSpeak);

// hide the action bar
getActionBar().hide();

btnSpeak.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
promptSpeechInput();
}
});

}

/**
* Showing google speech input dialog
* */
private void promptSpeechInput() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MO DEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
getString(R.string.speech_prompt));
try {
startActivityForResult(intent, REQ_CODE_SPEECH_INPUT);
} catch (ActivityNotFoundException a) {
Toast.makeText(getApplicationContext(),
getString(R.string.speech_not_supported),
Toast.LENGTH_SHORT).show();
}
}

/**
* Receiving speech input
* */
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

switch (requestCode) {
case REQ_CODE_SPEECH_INPUT: {
if (resultCode == RESULT_OK && null != data) {

ArrayList<String> result = data
.getStringArrayListExtra(RecognizerIntent.EXTRA_RE SULTS);
txtSpeechInput.setText(result.get(0));
}
break;
}

}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}




سوالی بود در خدمتم
منبع : انجمن دانشجویان کردستان (http://shetaw.ir/f299/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-%DA%AF%D9%81%D8%AA%D8%A7%D8%B1-%D8%A8%D9%87-%D9%85%D8%AA%D9%86-2582/#post3194)

tux-world
جمعه 10 بهمن 1393, 21:47 عصر
دستت درد نکنه. برای چه زبانهایی کاربرد داره؟

pcpsoft
جمعه 10 بهمن 1393, 22:07 عصر
از زبانهایی که تو قسمت سرچ صوتی گوگل استفاده شده

TohidNajafi
شنبه 11 بهمن 1393, 23:00 عصر
ممنون
خیلی خوب بود
ولی این تو یه صفحه جدا کار میکنه
نمیشه همین کار رو در همون اکتیویتی انجام بدیم؟
خیلی لازم دارم لطفا راهنمایی کنین

mrtzxxx
یک شنبه 12 بهمن 1393, 00:22 صبح
فارسی ساپورت میشه؟ آیا میشه بدون استفاده از اینتنت این کارو رو کرد؟؟؟!

pcpsoft
یک شنبه 12 بهمن 1393, 06:32 صبح
دوست عزیز از سرچ صوتی گوشی استفاده میکنه فارسی نداره,بله افلاینم کار میکنه

Ebrahimkh
یک شنبه 12 بهمن 1393, 11:00 صبح
در کل لیست زبانهایی که ساپورت می کنه رو ممکنه بزارید...

ممنون

pcpsoft
یک شنبه 12 بهمن 1393, 11:03 صبح
در کل لیست زبانهایی که ساپورت می کنه رو ممکنه بزارید...

ممنون

یکم وقتم آزاد بشه آموزش کاملشو میزارم:قلب:

Ebrahimkh
یک شنبه 12 بهمن 1393, 11:28 صبح
ممنون دوست عزیز
یه سوال دیگه این که باید همش به نت متصل باشیم
راهی سراغ ندارید تا بتونیم آفلاین هم کار کنیم



آفلاین جواب نمیده تست کردم./:قلب:

pcpsoft
یک شنبه 12 بهمن 1393, 12:05 عصر
ممنون دوست عزیز
یه سوال دیگه این که باید همش به نت متصل باشیم
راهی سراغ ندارید تا بتونیم آفلاین هم کار کنیم



آفلاین جواب نمیده تست کردم./:قلب:

البته قابلیت آفلاین برای همه گوشی ها نیست اما به هر حال به مسیر زیر برید

Settings -> Language and Input-> Google voice input -> offline speech recognition

TohidNajafi
یک شنبه 12 بهمن 1393, 20:13 عصر
ولی این تو یه صفحه جدا کار میکنه
نمیشه همین کار رو در همون اکتیویتی انجام بدیم؟
خیلی لازم دارم لطفا راهنمایی کنین

mrtzxxx
یک شنبه 12 بهمن 1393, 23:33 عصر
ممنون از جوابتون .:لبخند:

skkhossein
دوشنبه 13 بهمن 1393, 00:27 صبح
برنامه ی دستیار صوتی فارسی توی کافه بازار موجود هست از این نوع تکنولوژی برای برنامه شون استفاده کردن
این برنامه نیز باید به اینترنت وصل باشه و خوده شازنده هم توی توضیحات فرمودن که باید گوگل سرویس آپدیت باشه
و یه سری تنظیمات دیگه اگه خودتون مایلید برین دنبالش و ببینید چی هست

TohidNajafi
دوشنبه 13 بهمن 1393, 01:37 صبح
ولی این تو یه صفحه جدا کار میکنه
نمیشه همین کار رو در همون اکتیویتی انجام بدیم؟
خیلی لازم دارم لطفا راهنمایی کنین