Ses Tanımlama ve Seslendirme :MobileCoder I MobileCoder.NET I Mobil Programlama I Android Programlama I Mobil Geliştiricilerin Buluşma Noktası I www.MobileCoder.Net

Ses Tanımlama ve Seslendirme

05.04.2015 tarihinde Android Programlama kategorisine eklenmiş, 434 views Kişi Okumuş ve 0 Yorum Yapılmış.

                                        Ses Tanımlama ve Seslendirme 

 Ses tanımlama

Ses tanımlama sitemi sizin gönderdiğiniz sesin sinyalini analiz etme işlemine denir.Konuşmayı yazıya çevirme ve ses ile komut vermeye olanak sağlar.

Ses tanımlama sisteminin kullanıcıya sağladığı yararlar ise ses ile veri girişi sağlamak başta gelmektedir. Speech-to-text olarak da bilinen ses tanıma uygulaması kullanıcıya büyük kolaylıklar sağlamaktadır.Ses tanıma uygulamaları  genellikle Speech Recognition teknolojisini kullanmaktadır.

Yazmanın verdiği zaman kaybını önlemesinin yanı sıra kişilerin hayatını kolaylaştıran bireysel çözümlerde sağlamaktır. Örneğin ellerin meşgul olduğunu alanlarda ( araç kullanımı vb. ) sesli kontrol ile kolaylık sağlanmaktadır.


Ses Tanımlama Kod Bloğu
// string.xml program içerisinde kullanılan nesnelerin yazıları
<?xml version=”1.0″ encoding=”utf-8″?>
<resources>
<string name=”app_name”>Konuş yazsın</string>
<string name=”action_settings”>Ayarlar</string>
<string name=”hello_world”>Merhabalar</string>
<string name=”speech_prompt”>Say something…</string>
<string name=”speech_not_supported”>Cihazınız programı desteklemiyor</string>
<string name=”tap_on_mic”>Konuşmaya Başla</string>
</resources>
/ main layout unun kodları
<RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android / realative layout oluşturduk
xmlns:tools=”http://schemas.android.com/tools”
android:layout_width=”match_parent” / genişlik ayarlandı
android:layout_height=”match_parent” / yükseklik ayarlandı
android:background=”@drawable/bg_gradient”
android:orientation=”vertical” >
<TextView / yazı alanı
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 / sıralı layout
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 / image buton konuşma
android:id=”@+id/btnSpeak”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:background=”@null”
android:src=”@drawable/ico_mic” />
<TextView / yazı alanı
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>
/ gerekli kütüphaneleri dahil ediyoruz
package info.androidhive.speechtotext;
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; / gerekli tanımlamaları yaptık
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); / speechi aldık
btnSpeak = (ImageButton) findViewById(R.id.btnSpeak); / butona basıldığında
// hide the action bar
getActionBar().hide();
btnSpeak.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
promptSpeechInput(); / butona basıldığında girişi aktifleştirdik
}
});
}
private void promptSpeechInput() {
/ konuşma için gerekli dil ve action ayarlarını tanımladık
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
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();
}
}
@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_RESULTS);
txtSpeechInput.setText(result.get(0)); / yakalama işlemi ve yazdırma işlemi
}
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;
}
}

 Programı çalıştırdığımızda ekran görüntüsü bu şekilde
abcdabcc

 

 

 

 

 

 

 

 

 

 


 Seslendirme

Yazılı bir metni sese çeviren uygulamadır. Text to speech  olarakta adlandırılan uygulama farklı dillerdeki telafuzu da dinlemeye olanak verir.

Android cihazınızda Google Metin Okuma işlevini kullanmak için Ayarlar > Dil ve Giriş > Metin okuma çıkışı’na gidin. Tercih edilen motorunuz olarak Google Metin Okuma Motoru’nu seçin. Pek çok Android cihazında Google Metin Okuma işlevinin zaten etkin olduğunu unutmayın, ancak en yeni sürüme buradan güncelleyebilirsiniz.

Desteklenen diller: Almanca, Endonezay dili, Felemenkçe, Fransızca, Hintçe, İngilizce (ABD), İngilizce (Hindistan), İngilizce (İngiltere), İspanyolca (ABD), İspanyolca (İspanya), İtalyanca, Japonca, Korece, Lehçe, Portekizce (Brezilya), Rusça.

Seslendirme Kod Bloğu


res\layout kısmına main.xml oluşturulur.

Ve bu kodlar yazılır
<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=http://schemas.android.com/apk/res/android //kod açıklaması layout oluşturulur
android:layout_width=”fill_parent” / genişlik ve yükseklik fill_parent olarak ayarlanır.
android:layout_height=”fill_parent”
android:orientation=”vertical” / satır şeklinde hizalama
android:background=”#ffffff”> / arka plan rengi beyaz
<TextView android:layout_width=”fill_parent” / ardından bir adet bilgilendirme kutusu yani textview eklenir
android:layout_height=”wrap_content” / yüksekliği
android:text=”Yazıdan Konuşmaya” / metni
android:padding=”15dip”
android:textColor=”#0587d9″ / yazı rengi
android:textSize=”26dip” / yazı boyutu
android:gravity=”center” / hizalaması
android:textStyle=”bold”/> / kalınlığı

<EditText android:id=”@+id/txtText” /girilecek metin yazılır
android:layout_width=”fill_parent” / yatay genişlik
android:layout_height=”wrap_content” /dikey genişlik
android:hint=”Lütfen Yazıyı Yazınız” / içerik yazısı
android:layout_marginTop=”20dip”
android:layout_margin=”10dip”/>
<Button android:id=”@+id/btnSpeak” / çevir butonu
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”Çevir” / yazısı
android:layout_margin=”10dip”/>
</LinearLayout>
Kodlar
package com.androidhive.texttospeech;
import java.util.Locale; / gerekli kütüphaneler import edilir
import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class AndroidTextToSpeechActivity extends Activity implements
TextToSpeech.OnInitListener /buton faaliyetlerini izlmek için listener başlatılır
private TextToSpeech tts; / var olan buton text edit ler tanımlanır
private Button btnSpeak;
private EditText txtText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tts = new TextToSpeech(this, this); / konuşma pencereleri eklenir
btnSpeak = (Button) findViewById(R.id.btnSpeak);
txtText = (EditText) findViewById(R.id.txtText);
// button on click event
btnSpeak.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
speakOut(); / butona basıldığında speakout çalıştırılır
}
});
}
@Override
public void onDestroy() {

if (tts != null) {
tts.stop();
tts.shutdown();
}
super.onDestroy();
}
@Override
public void onInit(int status) {
// TODO Auto-generated method stub
if (status == TextToSpeech.SUCCESS) { / durum kontrolü yapılır
int result = tts.setLanguage(Locale.ENGLISH); / dil tercümesi eklenir
if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e(“TTS”, “Language is not supported”);
} else {
btnSpeak.setEnabled(true);
speakOut();
}
} else {
Log.e(“TTS”, “Initilization Failed”);
}

}
private void speakOut() { / buton tıkladığı için yazı sese dönüştürülür.
String text = txtText.getText().toString();
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}
}


 

Uygulamaları BURADAN indirebilirsiniz.

 

Abdussamet GÜNAY

Burhan USLU

 

İlgili Terimler :
Yazar Hakkında

Yazar : sametgunay96

Yazar Hakkında :

Yazarın Tüm Yazıları İçin Tıklayınız

Yorumlar

Sitemizde En Çok Okunan İçerikler

ANDROİD TELEFONLARA ROOT ATMA
ANDROİD TELEFONLARA ROOT ATMARoot Ne demek ? Bir android cihazı root etmek telefonun
fragment
ANDROİD FRAGMENT YAPISI VE KULLANIMIFragmentler Activity içerisinde yer alan kullanıcı ara yüzleridir. Fragment
Asp.NET’de web servis hazırlama ve Android de kullanimi  Web Servis Nedir ? Web üzerinden HTTP protokolü ile hizmet
ANDROİD TELEFONLARDA KONFERANS GÖRÜŞME
ANDROİD TELEFONLARDA KONFERANS GÖRÜŞMEANDROİD TELEFONLARDA KONFERANS GÖRÜŞME   Konferans görüşme çok fazla bilinmeyen androidin

Sitemizde En Çok Yorumlanan İçerikler

WEB UYGULAMALARINDA EKRAN UYUMU
WEB UYGULAMALARINDA EKRAN UYUMUAndroid için web uygulamaları hazırlarken odaklanmamız gereken en önemli
ActionBar Kullanım Özellikleri
ActionBar Kullanım ÖzellikleriActionBar Genel Bakış ActionBar temel olarak 4 ana işlevsel alan barındırır.

Son Yapılan Yorumlar

  • Kategoriler

  • Son Yazılar

  • Takvim

    Haziran 2017
    P S Ç P C C P
    « Kas    
     1234
    567891011
    12131415161718
    19202122232425
    2627282930  
  • Etiketler

  • Son Yorumlar

    • Arşivler

    • Meta