#python#audiobooks#epub#kokoro#python#tts
You can easily turn e-books in .epub format into high-quality audiobooks using Audiblez, a free tool that uses Kokoro's natural-sounding text-to-speech voices in many languages. It works on Windows, Mac, and Linux, with options for command line or a simple graphical interface. You can choose different voices, adjust reading speed, and even pick specific chapters to convert. Using a GPU speeds up the process significantly. The final audiobook is saved as an .m4b file, playable on most audiobook apps. This saves you time and money compared to hiring narrators and lets you listen to books hands-free anywhere.
https://github.com/santinic/audiblez
🚀 Вышел стабильный JavaScript движок от Google для Android
Новая стабильная библиотека Jetpack JavaScript Engine позволит разработчикам выполнять JS код в изолированной и ограниченной среде.
class MainActivity : ComponentActivity() {
// Теперь nullable, без lateinit
private var jsSandbox: JavaScriptSandbox? = null
private var jsIsolate: JavaScriptIsolate? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (!JavaScriptSandbox.isSupported()) {
Log.e("JS", "JavaScriptSandbox не поддерживается")
return
}
lifecycleScope.launch {
// Создаём и сохраняем в nullable-поле
jsSandbox = JavaScriptSandbox
.createConnectedInstanceAsync(applicationContext)
.await()
jsIsolate = jsSandbox?.createIsolate()
// При выполнении гарантируем, что jsIsolate != null
val result: String = jsIsolate
?.evaluateJavaScriptAsync(JS_SCRIPT_SCRING)
?.await()
?: "Ошибка: isolate не инициализирован"
Log.d("JS", "Результат выполнения: $result")
}
}
override fun onDestroy() {
super.onDestroy()
// Закрываем только если не null
jsIsolate?.close()
jsSandbox?.close()
}
}
#jetpack#js