!!! ВАЖНО !!!

1) Във връзка с превенцията на зачестилите СПАМ теми във форума, паролите на всички потребители бяха автоматично инвалидизирани на 22 Май 2024 14:20 ч.. За да възстановите своята парола (и създадете нова), моля използвайте опцията за забравена парола тук.
2) Ако акаунта ви е "баннат", без да знаете защо, вероятно от ваше име са публикувани СПАМ съобщения.
Съжаляваме за причиненото неудобство. При проблеми с възстановяването на паролата или баннати акаунти, моля пишете на kodibg в гмаил.ком или във Фейсбук страницата на КодиБГ Форум тук

Оценете темата:
  • 0 гласа - средно 0
  • 1
  • 2
  • 3
  • 4
  • 5
Четец на Аудио Книги
#1
Music 
Целта на проекта е създаването на Audio Addon за четене на книги, през Коди на български език.

В интернет пространството се намират аудио книги на български език, но предимно стари, които да са със свободен достъп. Също така количествено са съвсем малко, че да представляват интерес. Затова пренасочваме архитектурата към изчитане на глас на подадени в текстов формат книги - ще използваме TTS (Text to Speech).

1. Ще ни трябва някакъв python модул, който да прави интеграцията между Kodi addon-а и TTS модула. Може да използваме например voicebox: https://pypi.org/project/voicebox-tts/ Измежду всички TTS енджини, които той поддържа: ElevenLabs, eSpeak NG, Google Cloud Text-to-Speech и gTTS "говорят" на български език, а: Amazon Polly и Pico TTS не "говорят" на нашия език.

2. Трябва да изберем подходящ TTS енджин, който да притежава български глас. Някои от изброените в т.1 енджини са платени и за тях тарифата е твърда месечна такса и лимит на броя символи/знаци, обработени през онлайн API-то на платформата им. Други са безплатни за конкретна употреба, стига да не се нарушават правилата им на употреба. Интересен например е TTS енджинът на българската компания SkyCode, която беше известна с програмата за офлайн превод на текст към български език: WebTrance. Техния енджин поддържа мъжки и женски български гласове и има приложение за Андроид, което може да се ползва офлайн. То, ако става дума и в новите Андроид устройства си има вграден български глас, разработен от Google, който също може да си използвате офлайн. Въпросът е, какъв енджин да изберем, който да се използва офлайн (по възможност, предвид огромното количество текст, което ще му подаваме) и да бъде съвместим с всички или поне повечето системи, върху които работи Коди. Измежду поддържаните от voicebox-tts енджини се спрях на eSpeek NG. Той е напълно офлайн, поддържа един мъжки български глас, безплатен е и може да се инсталира в Linux, Windows, Mac OSX, BSD, Solaris (не представлява интерес) и евентуално в Андроид (когато е инсталиран в Андроид, не съм сигурен, как точно ще бъде стартиран???).

3. За осигуряване инсталацията на TTS енджина, той трябва да е е с малко зависимости, лесен за компилиране и разполагане. Аз работя под Линукс и затова ще го пробвам на x86_64 битов Ubuntu, както и на aarch64 LibreELEC. За по-лесен деплоинг, без нужда от рекомпилация, използвам скрипта tts_addon_bundler. Във файла tts_addon_bundler.sh посочих:
Цитат:ADDON_VERSION=0.1.1
LE_VERSION=12.0
KODI_VERSION=v21
и деплойнах два пъти съответно за x86_64 и aarch64. Инсталационния пакет, може да се инсталира в Коди, като всяка една друга добавка. Може да тествате конкретен език/глас, през терминала на операционната система, например:
Код:
kodi@xbmc:~/Свалени/tts_addon_bundler-main/build/espeak-ng/x86_64/script.module.espeak-ng/bin$ ./espeak-ng -v bg "Здравей приятел! Как си днес? Ще ходиш ли на работа?"
Гласът звучи много брутално и роботизирано. Не бих могъл да го изтърпя повече от 30 секунди! Можете да го тествате и онлайн през тази страница. По принцип, добрите гласове изискват повече хардуерни ресурси, натоварват повече, а най-съвременните са базирани на невронни мрежи. Това означава, че някой ден, когато всяко хардуерно устройство притежава и NPU чип, ще може да изпълнява локално такива AI гласове (с изкуствен интелект) или пък да превежда субтитри на филмите в Коди напълно локално/офлайн. При това доста качествено.

4. Принципът на действие измислих да е такъв: През интерфейсът на Коди се браузва сайтът на Читанката или друг сайт за електронни книги. Когато бъде избрана конкретна книга, тя се листва в Коди като директория. В нея всяка страница, ще се показва като отделен елемент за възпроизвеждане - в случая аудио съдържание. Потребителя избира "четвърта страница" и текстът от нея се изпраща през voicebox-tts към eSpeek NG, който в реално време, започва да го чете на глас. Звуковия файл няма да се съхранява локално, за да не пълни локалния сторидж на устройството. Когато бъде прочетена конкретната страница/аудио елемент, Коди автоматично преминава към следващия в директорията/книгата. Няма да подаваме цялата книга наведнъж, заради лимита в енджина и хардуерните ресурси на устройството.

В общи линии, това е идеята. Ако сте прочели проекта до края, вероятно сте разбрали, че не започвам да го правя, въпреки, че може, защото хубавите български гласове са платени (доста скъпа е употребата им през API) и за локално използване не намерих добър български глас, който да работи и под Линукс. Някой ден, да се надяваме докато сме живи, ще се промени ситуацията. Идват и други интересни приложения на AI, които ще намерят място в Kodi, но поне половината от тях ще бъдат свързани с обработка на текст:

- командване на Коди с гласови команди (има го тук, там);
- превеждане на субтитри офлайн от един език към друг, директно в Коди (има го, но онлайн за момента);
- четене на текстови файлове с книги; списания; вестници и др. сайтове през Коди;
- превеждане на дублажа на видеото в Коди напълно офлайн от един език към друг! При наличие на два български гласа М/Ж, на съответните герои/участници във видеото ще бъде избиран подходящ глас (измежду наличните) - разбира се от AI. Той ще прави всичко това.

Към момента, всичко това ни звучи като научна фантастика, но ако сте чели книгите на Жул Верн, вероятно усещате как духа вятъра на промяната Cool
[Изображение: notrobosmall.jpg]
Отговори


Съобщения в темата
Четец на Аудио Книги - от Majide - 19-05-2024, 13:18

Отваряне на: