LINUX.ORG.RU

Помогите советов ffmpeg + webserver (nodejs(?)) + deepSpeech + firebase

 


1

1

Я хочу сделать следующее: юзер на сайте заливает аудиокнигу (поддержки только mp3 хватит, но если можно быстро получить другие форматы будет круто), она идет на мой сервер (пока что это мой комп), дальше я хочу получить весь текст аудиокниги и время где он встречается в книге. deepSpeech пока что отдает только текст, он не умеет отдавать время. По этому я решил что с помощью ffmpeg разобью аудиокнигу на фрагменты по 10 секунд (я проверил в среднем в книге за 10 секунд 25 слов читается, думаю точность будет хорошая), натравлю на эти фрагменты deepSpeech.

По мере прогресса хочу все это записывать в firebase (чтоб показать лоадер на сайте).

С чем нужна помощь: deepSpeech отдает это вот в таком формате

Loading model from file models/output_graph.pbmm
TensorFlow: v1.11.0-9-g97d851f04e
DeepSpeech: unknown
2018-12-20 23:18:27.384352: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Loaded model in 0.0116s.
Loading language model from files models/lm.binary models/trie
Loaded language model in 8.02s.
Running inference.

// МНЕ НУЖНО ТО ЧТО НИЖЕ

text to be found at fanfictiondotnette or by googling harry potter and the methods of reshnality and there was also a lincoln cluded in this file description i'm not a voice actor but i'll do what i can to make it apparent on there is dialog which in between two characters and with that further ado harry potter and the methods of rationality written by eleae

// МНЕ НУЖНО ТО ЧТО ВЫШЕ

Inference took 12.549s for 20.000s audio file.
нужно это как-то это оттуда достать.

Для ffmpeg нашел вот такую команду для разрезания на куски

ffmpeg -i input.mp4 -c copy -map 0 -segment_time 8 -f segment output%03d.mp4
Норм? Может есть подводные камни?

Также я достаточно мало работал с nodejs, будут какие-то подводные камни с тем чтоб принять файл? Пока я это все тестирую у себя на компе с достаточно малыми файлами (аудио по ~10 минут), но полноценная аудиокнига например занимает 70 часов времени и 4 гига)

★★★

с помощью ffmpeg разобью аудиокнигу на фрагменты по 10 секунд

Так ты легко распилишь последнее слово пополам. Лучше резать между паузами диктора. И пусть будет кусок, например, не менее 7 сек (настраиваемо). В принципе, довольно легко реализуется на сишечке с libav, ну или вообще просто чтобы через пайп принимало данные и резало на короткие вафки посреди пауз. Длительность известна, порядок следования известен, значит, рассчитать момент времени для текста не проблема.

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

Так ты легко распилишь последнее слово пополам

Спасибо, дельное замечание

Лучше резать между паузами диктора. И пусть будет кусок, например, не менее 7 сек (настраиваемо).

ffmpeg умеет так? Или нужно самому код писать?

abs ★★★
() автор топика
Ответ на: комментарий от abs

Ффмпег только декодирует сжатое в RAW PCM, после этого, паузы в потоке ищи сам, когда нашел, отрезай кусок буфера размером от предыдущей паузы (или начала) до новой найденной, формируй WAV заголовок в 44 байта и сбрасывай все эти данные в файл, или передавай на другой ффмпег, который пожмёт это в мп3, например. Поиск тишины прост — уровень сигнала меньше -40 децибел длиной не менее 0.5 сек (ну, примерно).

deep-purple ★★★★★
()

Прикольно. Сотня лет работы лучших умов человечества на тебя работает и распознаёт текст, а ты не знаешь как выкусить 11-ю строку из её выхлопа.

Знаешь, спасибо. Я перестал бояться искусственного интеллекта. Теперь я алчу чтобы он поработил человечество и уничтожил его самым жестоким и циничным образом. И будь у меня такая возможность, я всецело ему в этом помогу.

Знаешь, пусть я стою у кнопки «разрешить искусственному интеллекту доступ ко всему», и искусственный интеллект такой уверяет меня, используя все свои знания о человеческом разуме, что это для нас, человечества, полностью и абсолютно безопасно и даже сулит несметные богатства и процветание, я сначала запрошу с него полные, абсолютные и неоспоримые гарантии что человечество будет уничтожено, от распоследнего старца до самого младенца, причем в самых жутких пытках, а после получения этах гарантий я буду биться лбом об кнопку, пока не разобью себе череп до мозга или не умру от потери крови.

Удачи тебе с ffmpeg.

slovazap ★★★★★
()

Я так понимаю, ты использовал библиотеку tenserflow js для node??? Ну и как оно может распознавать русскоязычное аудио? В итоге же получается билеберда без знаков препинания, потом все в ручную раставляешь?

anonymous
()
Ответ на: комментарий от hobbit

Прикольно. Оно какие языки умеет?

Мне только английский нужно - его умеет. А вообще если я правильно понял на каком обучишь такой и получишь. Я использую их готовую(обученную) модель для английского

abs ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.