Skip to content

Instantly share code, notes, and snippets.

View yektasarioglu's full-sized avatar
🤓
Working on some interesting stuff

Yekta Sarioglu yektasarioglu

🤓
Working on some interesting stuff
View GitHub Profile
@yektasarioglu
yektasarioglu / TTSFragment.kt
Created October 30, 2020 15:41
onViewCreated(...)
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
configureEnginePreferences()
initializeEngine()
initializeCallback()
initializeUI()
}
@yektasarioglu
yektasarioglu / TTSFragment.kt
Last active October 30, 2020 15:44
configureEnginePreferences method
private fun configureEnginePreferences() {
ttsConfig = MLTtsConfig()
.setLanguage(ENGLISH_LANGUAGE_CODE)
.setPerson(ENGLISH_LANGUAGE_CODE + FEMALE_SPEAKER_CODE)
.setSpeed(1f)
.setVolume(1f)
}
@yektasarioglu
yektasarioglu / TTSFragment.kt
Last active October 30, 2020 15:56
initializeEngine() and initializeCallback()
private fun initializeEngine() {
ttsEngine = MLTtsEngine(ttsConfig)
}
private fun initializeCallback() {
ttsCallback = object : MLTtsCallback { // Whole MLTtsCallback implementation }
ttsEngine.setTtsCallback(ttsCallback)
}
@yektasarioglu
yektasarioglu / TTSFragment.kt
Created October 30, 2020 15:53
Trigger TTSEngine's speak() method
private fun initializeUI() {
binding?.apply {
voiceSpeedSlider.addOnChangeListener { _, value, _ ->
voiceSpeed = value
isDefaultSpeedValueExceeded = value > 1f
}
maleRadioButton.setOnClickListener {
isMale = true
languageRadioGroup.clearCheck()
@yektasarioglu
yektasarioglu / ASRFragment.kt
Created October 30, 2020 18:48
onViewCreated(...)
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initializeASR()
initializeUI()
}
@yektasarioglu
yektasarioglu / ASRFragment.kt
Created October 30, 2020 18:50
initializeASRRecognizer()
private fun initializeASRRecognizer() {
asrRecognizer = MLAsrRecognizer.createAsrRecognizer(activity)
}
@yektasarioglu
yektasarioglu / ASRFragment.kt
Created October 30, 2020 18:54
initializeCallback()
private fun initializeCallback() {
asrRecognizer.setAsrListener(object : MLAsrListener {
override fun onResults(result: Bundle?) {
MediaPlayer.create(activity, R.raw.stop_record).start()
Log.i("ASRFragment", "result is ${result?.getString(MLAsrRecognizer.RESULTS_RECOGNIZED)}")
showResult(result?.getString(MLAsrRecognizer.RESULTS_RECOGNIZED) ?: "")
}
override fun onRecognizingResults(partialResult: Bundle?) {
Log.i("ASRFragment", "partialResult is ${partialResult?.getString(MLAsrRecognizer.RESULTS_RECOGNIZED)}")
@yektasarioglu
yektasarioglu / ASRFragment.kt
Created October 30, 2020 18:56
initializeUI()
private fun initializeUI() {
binding.apply {
withPickUpUIRadioButton.setOnClickListener { isPickUpUI = true }
withoutPickUpUIRadioButton.setOnClickListener { isPickUpUI = false }
asrButton.setOnClickListener {
if (isPickUpUI) startRecognizeWithSpeechPickupUI()
else startRecognizeWithoutSpeechPickupUI()
}
}
}
@yektasarioglu
yektasarioglu / ASRFragment.kt
Created October 30, 2020 18:57
startRecognizeWithSpeechPickupUI() and startRecognizeWithoutSpeechPickupUI()
private fun startRecognizeWithSpeechPickupUI() {
val intent = Intent(activity, MLAsrCaptureActivity::class.java)
.putExtra(MLAsrCaptureConstants.LANGUAGE, ENGLISH_LANGUAGE_CODE)
.putExtra(MLAsrCaptureConstants.FEATURE, MLAsrCaptureConstants.FEATURE_WORDFLUX)
startActivityForResult(intent, ASR_RESULT_CODE)
}
private fun startRecognizeWithoutSpeechPickupUI() {
val intent = Intent(MLAsrConstants.ACTION_HMS_ASR_SPEECH)
.putExtra(MLAsrCaptureConstants.LANGUAGE, ENGLISH_LANGUAGE_CODE)
@yektasarioglu
yektasarioglu / MyApplication.kt
Created November 1, 2020 10:48
Set ML Kit API key
override fun onCreate() {
super.onCreate()
MLApplication.getInstance().apiKey = BuildConfig.HMS_API_KEY
}