项目文件夹

文件
Doomsdayrs a40742bbaf Kotlin: Numerous Improvements (#1274)
* kotlin: bump version for future release

* kotlin: Unify dependency versions

* kotlin: Add AUTHORS

* kotlin: Add MAINTENANCE.md

* kotlin: Add README.md

* kotlin: Update common/Vosk.kt documentation

* kotlin: Fix indentation in build.gradle.kts

* kotlin: Add .idea files to unify how IDEs work

* kotlin: Reformat all code

* kotlin: Update all code headers

* kotlin: Add @JvmStatic to objects

* kotlin: Use Consumer instead of Kotlin lambda in StorageService.kt

* kotlin: Annotate SpeechService.kt as throwing IOException

* kotlin: Add gradle migration settings

* kotlin: Add Deprecated annotation to jvm/LibVosk.setLogLevel

* kotlin: Overhaul exceptions

* Update documentation

* Add function for creating a Recognizer with a proper list

* Update documentation
2023-03-03 19:12:54 +03:00
..
2023-03-03 19:12:54 +03:00
2023-02-17 03:47:20 +03:00
2023-03-03 19:12:54 +03:00

vosk-api-kotlin

The vosk-api wrapped using Kotlin Multiplatform.

Usage

The following are ways to use this wrapper.

JVM

For Java & Android targets.

dependencoes {
    val voskVersion = "0.4.0-alpha0"

    // Generic
    implementation("com.alphacephei:vosk-api-kotlin:$voskVersion")

    // Android
    implementation("com.alphacephei:vosk-api-kotlin-android:$voskVersion")
}

Building

To build this project, follow the following steps.

  1. Install libvosk. This can be done from source (parent monorepo) or downloaded.
  2. Download a Vosk model to use.
  • It is suggested to use a small model to speed up tests.
  1. Once both are downloaded and placed into a proper location (hopefully following UNIX specification). Set the following environment variables:
  • VOSK_MODEL to the path of the model.
  • VOSK_PATH to the path of libvosk. These are used by the various tests to operate.
  1. Now that the required steps are complete, one can run ./gradlew build.

Kotlin/Native

Currently, the native target is disabled due to a lack of vosk-api packaging on platforms. Further worsened by the fact that installing the vosk-api on Linux systems is a chore.

First, either install from source or download and install into the proper unix directories as expected in libvosk.def.

To enable development for Kotlin/Native, do either for the following.

  • Add NATIVE_EXPERIMENT=true to your environment.
  • Go into build.gradle.kts & find enableNative & set the right side to true.

Afterwards, when syncing the project, the native source sets will become available to work on. It is suggested to run cinteropLibvoskNative to generate the Kotlin C bindings to work with.

Future

  • Possibly target Kotlin/JS
  • Possibly target Kotlin/Objective-C (?)