plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) } android { namespace = "net.mmanningau.speechtokeyboard" compileSdk = 36 defaultConfig { applicationId = "net.mmanningau.speechtokeyboard" minSdk = 28 targetSdk = 36 versionCode = 12 versionName = "1.1" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } debug { applicationIdSuffix = ".streaming" // This changes the app name on your homescreen to "MyApp (Dev)" resValue("string", "app_name", "Speech To Keyboard (Streaming)") } } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = "11" } } dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.appcompat) implementation(libs.material) implementation(libs.androidx.activity) implementation(libs.androidx.constraintlayout) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) // 1. The "Brain": Vosk Offline Speech Recognition //implementation("com.alphacephei:vosk-android:0.3.47") - removed as part of the migration to whisper // (Optional) Helper for memory management if needed later // Removed the following as it was listed as optional and it did cause errors - // so to avoid a whole list of duplicate class found errors - this is already required via the VOSK libraries // implementation("net.java.dev.jna:jna:5.13.0") // New Whisper include... // implementation("com.k2fsa.sherpa.onnx:sherpa-onnx:1.12.23") // The engine implementation("com.github.k2-fsa:sherpa-onnx:v1.12.23") // 2. The "Mouth": USB Serial Driver for Android implementation("com.github.mik3y:usb-serial-for-android:3.7.0") }