Skip to content

whitebehemoth/uga-chacka

Repository files navigation

это заготовка для проекта по озвучке книг на русском языке. Озвучка будет проходить через несколько этапов:

1. Подготовка текста 
1.1. Открытие файла (с возможностью выбора кодировки Unicode/ascii cp 1251)
1.2. Отображение файла в WPF приложении на закладке "Оригинал"
1.3. Возможность расстановки ударений
1.3.3. Омографы (HomographResolver\dic.json)
    Текст проходится с разбивкой по предложениям. Если предложение содержит омограф (найденный по словарю), вызывается LLM с инструкцией выбрать из предложенных вариантов на основе контекста.
    Выбор делается исходя из морфологической формы (поле gram_def) и определения леммы (поле cotext_def (где есть)). LLM должна вернуть индекс выбранного слова и его вероятность. 
    Если предложение с омографом короткое (меньше 5 слов), к контексту добавляется предыдущее предложение.
    После разрешения всех омографов отредактированный текст показывается на закладке "Результат". Там же есть навигация по омографам (следующий / предыдущий) которые разрешились с вероятностью ниже пороговой (порог конфигурируется в настройках). При навигации омограф подствечивается и в статус-баре показываются вероятности. Пользователь может поменять ударение.
    Навигация реализована просто - когда омограф найден, его абсолютная позиция в тексте запоминается. Поэтому навигация идёт от конца к началу.
    Так же в статус баре показан индекс омографа, напрмер (5/1020) 
    LLM настраивается через конфиг. Варианты OpenAI API (Url, model name, api key) / FoundryLocal 

1.3.4. Ударения по словарю (HomographResolver\dic-a.json)
1.3.5. Ударения по словарю 2 (HomographResolver\dic-a2.json)
1.4. Коррекция концов строки (если строки бились по фиксированной ширине) через разбивку по предложениям 
1.5. Поиск/замена по тексту ( с поддержкой regex )
2. Настрока озвучки (через конфигурацию) (F5 TTS движок)
2.1 Проверка озвучки


3. UI (WPF приложение)
3.1. Главная форма представляет собой мульти-табовое окно
3.2. Две закладки - "Оригинал" и "Результат". Размер шрифта меняется по ctrl + колесо мыши. 
3.3. Закладка "настройки" для настройки LLM и TTS движка и омографов
3.4. Два пункта в главном меню: "Файл" и "Действие". 
3.4.1. В "Файл" есть пункты "Открыть" (для открытия текстового файла), "Сохранить" (для сохранения отредактированного текста) "Выход",
3.4.2. В "Действие" есть пункты "Анализ текста", "Разрешить омографы", "Проверить омографы", "Расставить ударения", "Поиск", "Замена" и "Озвучить" (для запуска процесса озвучки)
2.5. В статус-баре отображается статистика, собираемая по "Анализу текста" - количество слов, количество предложений, количество омографов, примерное время озвучки. И секция для текущего омографа при навигации по ним.
2.6. Настройки сохраняются в appsettings.json (приложение не будет иметь установщика, только portable версию, поэтому все настройки будут сохраняться в файле рядом с исполняемым файлом)
2.6.1. User secrtes для хранения API ключей (при разработке)
2.6.2. Настройки - тоже мульти-таб, с отдельными секциями для LLM (тип, параметры), TTS движка (тип, параметры), омографов (порог вероятности, словари) и общие настройки 


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages