Add examples for Kotlin API (#124)

This commit is contained in:
Fangjun Kuang
2023-04-19 17:29:35 +08:00
committed by GitHub
parent ad05f52666
commit 4024bfab32
15 changed files with 146 additions and 88 deletions

View File

@@ -38,19 +38,23 @@ data class OnlineRecognizerConfig(
)
class SherpaOnnx(
assetManager: AssetManager, var config: OnlineRecognizerConfig
assetManager: AssetManager? = null,
var config: OnlineRecognizerConfig,
) {
private val ptr: Long
init {
ptr = new(assetManager, config)
if (assetManager != null) {
ptr = new(assetManager, config)
} else {
ptr = newFromFile(config)
}
}
protected fun finalize() {
delete(ptr)
}
fun acceptWaveform(samples: FloatArray, sampleRate: Int) =
acceptWaveform(ptr, samples, sampleRate)
@@ -70,6 +74,10 @@ class SherpaOnnx(
config: OnlineRecognizerConfig,
): Long
private external fun newFromFile(
config: OnlineRecognizerConfig,
): Long
private external fun acceptWaveform(ptr: Long, samples: FloatArray, sampleRate: Int)
private external fun inputFinished(ptr: Long)
private external fun getText(ptr: Long): String
@@ -86,7 +94,7 @@ class SherpaOnnx(
}
fun getFeatureConfig(sampleRate: Int, featureDim: Int): FeatureConfig {
return FeatureConfig(sampleRate=sampleRate, featureDim=featureDim)
return FeatureConfig(sampleRate = sampleRate, featureDim = featureDim)
}
/*

View File

@@ -4,10 +4,21 @@ import android.content.res.AssetManager
class WaveReader {
companion object {
// Read a mono wave file.
// No resampling is made.
external fun readWave(
assetManager: AssetManager, filename: String, expected_sample_rate: Float = 16000.0f
// Read a mono wave file asset
// The returned array has two entries:
// - the first entry contains an 1-D float array
// - the second entry is the sample rate
external fun readWaveFromAsset(
assetManager: AssetManager,
filename: String,
): Array<Any>
// Read a mono wave file from disk
// The returned array has two entries:
// - the first entry contains an 1-D float array
// - the second entry is the sample rate
external fun readWaveFromFile(
filename: String,
): Array<Any>
init {