Консольная версия "Балаболки" (balcon.exe)
Модератор: balabolka
- Lecron
- Специалист
Консольная версия "Балаболки" (balcon.exe)
balabolka, забыл что у меня авто-подключен cfg файл. Проблемы нашлись две.
1. В конфигурации по умолчанию, оказалось тоже работает нормально. Однако попробуйте повторить с параметром --silence-end 2000. Что отдельно, что в паре с --silence-begin 2000 дают пустой файл. silence-begin самостоятельно, данными вроде наполняет, но...
2. Когда пытаюсь восстановить заголовок
несмотря на видимое наличие данных, не восстанавливается. Пишет Invalid data found when processing input. Файл без тишины, восстанавливается корректно. Как и проигрывается в VLC.
1. В конфигурации по умолчанию, оказалось тоже работает нормально. Однако попробуйте повторить с параметром --silence-end 2000. Что отдельно, что в паре с --silence-begin 2000 дают пустой файл. silence-begin самостоятельно, данными вроде наполняет, но...
2. Когда пытаюсь восстановить заголовок
Код: Выделить всё
ffmpeg.exe -i ignore_length.wav normal.wav
- balabolka
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
Lecron
Не знаю, в чем может быть проблема. Возможно, это зависит от голоса.
Я экспериментировал с "Алёной", никаких проблем не увидел (не услышал).
Создаю файл формата WAV (PCM) без заголовка:
Затем восстанавливаю заголовок у файла:
(у "Алёны" частота 22,05 кГц, битрейт 16, моно).
Восстановленный файл нормально воспроизводится.
Не знаю, в чем может быть проблема. Возможно, это зависит от голоса.
Я экспериментировал с "Алёной", никаких проблем не увидел (не услышал).
Создаю файл формата WAV (PCM) без заголовка:
Код: Выделить всё
balcon -f text.txt -n Alyona -o -il --silence-end 2000 > ignore_length.wav
Код: Выделить всё
ffmpeg -acodec pcm_s16le -f s16le -ar 22050 -ac 1 -i ignore_length.wav normal.wav
Восстановленный файл нормально воспроизводится.
- balabolka
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
Ох, слона-то я и не приметил: если использовать параметр -il и сохранять звуковой файл на диске, то ignore_length.wav вообще не будет иметь заголовка. Но если данные записываются в оперативную память, то заголовок у данных есть (и в этом заголовке нет информации о размере данных).
Проверил с помощью консольной утилиты 7-Zip: она позволяет данные из STDIN записывать в архивный файл.
Звуковой файл будет внутри архива test.zip, и у аудиофайла есть заголовок (без информации о размере данных).
Не знаю, что это всё означает. Надо будет разобраться.
Проверил с помощью консольной утилиты 7-Zip: она позволяет данные из STDIN записывать в архивный файл.
Код: Выделить всё
balcon -f text.txt -n Alyona -o -il | 7z a test.zip -siignore_length.wav
Не знаю, что это всё означает. Надо будет разобраться.
- Lecron
- Специалист
Консольная версия "Балаболки" (balcon.exe)
Дополню, может будет легче разбираться.
С использованием -silence-begin
В файл ">" тишина вставится не в начале, а в конце.
В память "|" тишина корректно в начале.
- balabolka
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
Версия 1.67
- Добавлена поддержка формата WebVTT для преобразования субтитров в звуковые файлы.
- Небольшие улучшения.
- balabolka
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
Версия 1.68
- Добавлена поддержка формата LRC для преобразования субтитров в звуковые файлы.
- balabolka
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
Версия 1.69
- Добавлена поддержка фонетической транскрипции IPA для словарей формата BXD.
- Dimsok
- Постоялец
Консольная версия "Балаболки" (balcon.exe)
Возможно добавить опцию для чтения прямой речи (как в основной программе)? Или помогите составить .rex словарь для поиска кавычек и тире и вставки тегов для смены голосового движка. Результаты моих стараний не дают аналогичный результат.
- balabolka
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
Нет, пока не планирую добавлять это в программу. Пришлось бы передавать много дополнительных параметров в командной строке, да и работает поиск прямой речи не идеально (особенно с учетом того, что в разных языках прямая речь обозначается по-разному). Мне жаль.
- Dimsok
- Постоялец
Консольная версия "Балаболки" (balcon.exe)
Возможно ли добавить возможность читать больше одного файла за одну команду? Например:
cp -f "пример.txt" "пример 2.txt" "пример 3.txt"
cp -f "пример.txt" "пример 2.txt" "пример 3.txt"
- tonio_k
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
это же консоль cmd. Вы можете сами в bat прописать последовательность этих файлов друг за другом. Либо прописать автомат, который будет искать все *.txt в папке и применять к каждому balcon.exe. или "склеить" все файлы в 1.txt и применить к нему balcon.exe
Склеить, вроде, команда:
Код: Выделить всё
copy /b "пример.txt"+"пример2.txt"+"пример3.txt" 1.txt
- Dimsok
- Постоялец
Консольная версия "Балаболки" (balcon.exe)
Это понятно, но удобней, когда сама программа это поддерживает.
- balabolka
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
Теоретически добавить такую возможность несложно, но, действительно, зачем это нужно? На входе утилиты могут быть не только обычные текстовые файлы, но и субтитры, а их "склеить" не удастся. Также, для текстового файла может быть задана кодировка: значит, надо следить за тем, чтобы все входные текстовые файлы были в одной кодировке.
Могу добавить такую возможность в программу, это просто сделать (это уже реализовано для параметра -t, программа объединяет все текстовые строки из командной строки в один список). Но этот тот самый случай, когда рекомендуется использовать возможности командных файлов, а не перегружать параметрами командную строку.
- Dimsok
- Постоялец
Консольная версия "Балаболки" (balcon.exe)
Лично для меня это было бы полезно. Наверное не только для меня, поэтому если не сложно, пожалуйста, реализуйте.
- tonio_k
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
хочу поделиться мыслями в пользу от прочтения нескольких файлов по маске *.* (в т.ч. удобство) я вижу вот в каком варианте использования balcon.exe:
Книга разбивается на отрезки. Запускается balcon.exe, который применяет словари, и перезаписывает файлы. А второй balcon.exe стартует в фоне с отставанием (например после перезаписи первого файла отрезка текста, на файл обработанного словарями) и начинает озвучивать измененные текстовые файлы по маске. И вот тут для второго balcon.exe желательно понимать звёздочки что бы по фильтру брались нужные файлы.
Я предполагаю, что при озвучке отрезков текста, когда в батнике balkon.exe запускается к одному отрезку текста для его озвучки, затем (по завершению чтения) закрывается, затем снова открывается, применяется к следующему отрезку текста, закрывается - и так по всем файлам, даёт дополнительные паузы при озвучке между отрезками текста (особенно на маломощных ПК). А если balkon запустится один раз и начнет озвучивать список файлов по маске *.txt, то пауз между отрезками текста будет меньше и возникнет ощущение непрерывного звучания.
- Lecron
- Специалист
Консольная версия "Балаболки" (balcon.exe)
Звездочки разрешаться в список конкретных файлов на момент запуска программы. Появление подходящего под маску файла после запуска, ни на что не повлияет. А подключать нечто типа watchdog, следящего за обновлением папки, это совсем другое и намного сложнее.tonio_k писал(а): ↑23 окт 2020 11:02А второй balcon.exe стартует в фоне с отставанием (например после перезаписи первого файла отрезка текста, на файл обработанного словарями) и начинает озвучивать измененные текстовые файлы по маске. И вот тут для второго balcon.exe желательно понимать звёздочки что бы по фильтру брались нужные файлы.
Поэтому словари надо применять до разбиения, в blb2txt, а просто запуск озвучки, особых накладных расходов не создаст.
А какая разница при пакетной озвучке, что там происходит много фрагментов вперед? Если уж надо быстрее, нужно думать о многопоточности. Благо 4 ядра нынче почти стандарт.
- balabolka
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
Версия 1.70
- Небольшие улучшения.
- Командная строка может содержать имена нескольких входных текстовых файлов (то есть несколько параметров -f).
- balabolka
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
Версия 1.71
- Добавлен параметр для игнорирования URL-ссылок в тексте.
- Исправлено создание субтитров.
- balabolka
- V.I.P.
- balabolka
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
Версия 1.74
- Добавлены параметры для вставки пустых строк после предложений и абзацев в LRC-файлы.
- Dimsok
- Постоялец
Консольная версия "Балаболки" (balcon.exe)
Можно ли сделать использование ключа -f однократным независимо от количества входных файлов? Например, -f "c:\for example.txt" "c:\for example 2.txt" "c:\for example 3.txt" и
т.д. Нужно использования кнопкой в Total commander с параметром %P%S.
т.д. Нужно использования кнопкой в Total commander с параметром %P%S.
- balabolka
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
Версия 1.75
- Добавлен параметр для выбора имени файла со списком имен текстовых файлов.
- Обновлено преобразование субтитров в речь для SAPI 4.
- balabolka
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
Версия 1.76
- Исправлено создание субтитров.
- balabolka
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
Версия 1.77
- Обновлено сохранение звуковых файлов.
- Обновлено преобразование субтитров в звуковые файлы.
- balabolka
- V.I.P.
Консольная версия "Балаболки" (balcon.exe)
Версия 1.78
- Исправлено использование внешних звуковых файлов (аудиоклипов).