Может ли компьютер анализировать звук быстрее, чем воспроизведение в реальном времени?

Допустим, ваш компьютер транскрибирует звук (чьей-то речи) в текст. Поскольку он рассматривает цифровые значения аудио, «рендерит» ли он транскрипцию быстрее, чем время, необходимое для ее воспроизведения в реальном времени? Я предполагаю, что он не «слушает», как это делает человек, а скорее обрабатывает информацию в цифровом виде. Прав ли я в этом предположении?

Тот же вопрос применим и к анализу видео.

Меня смущает следующее: при более быстром воспроизведении звука слова становятся нечеткими, так как же компьютер это компенсирует? Извините, если я упускаю здесь что-то основное и фундаментальное.


Редактировать: когда я использую термин «реальное время» в этом вопросе, я не имею в виду момент записи, а затем расшифровку в реальном времени. Скорее, я имею в виду воспроизведение на скорости 1x (или скорости воспроизведения в реальном времени). Кажется, некоторые люди не поняли, что я имел в виду.

3 ответа

Ваш основной вопрос таков:

«Может ли компьютер анализировать звук быстрее, чем воспроизведение в реальном времени?»

Здесь есть и другие отличные ответы, но вот — то, что я считаю — очень распространенным реальным примером того, как компьютеры анализируют звук быстрее, чем воспроизведение звука в реальном времени…

Преобразование аудио компакт-диска в файлы MP3 на современной компьютерной системе всегда происходит быстрее, чем воспроизведение звука на этом компакт-диске в реальном времени.

Все зависит от скорости вашей системы и оборудования, но даже 20 лет назад преобразование компакт-диска в файлы MP3 всегда было быстрее, чем воспроизведение аудио с компакт-диска в реальном времени.

Так, например, как можно преобразовать 45-минутный аудио-CD в MP3 менее чем за 45 минут? Как это могло произойти, если компьютер был ограничен ограничениями на воспроизведение звука? Это все данные на стороне данных, но при воспроизведении они ограничены человеческим уровнем.

Подумайте об этом: компьютер считывает необработанные аудиоданные с компакт-диска со скоростью, превышающей скорость обычного воспроизведения звука, и запускает алгоритм для преобразования необработанного аудио в формат сжатых аудиоданных.

А когда дело доходит до расшифровки текста из аудио, это аналогичный процесс цифрового анализа, но с другим результатом. Гораздо более сложный процесс, чем просто перекодирование звука из одного формата в другой, но это еще один процесс цифрового анализа.


PS: К кажущемуся бесконечным потоку комментаторов, которые хотят отметить, что ПК до 1995 года не могли кодировать MP3 быстрее, чем в реальном времени… Да, я знаю… Вот почему я уточняю то, что написал, говоря: «… в современной компьютерной системе …», а также заявление «…но даже 20 лет назад…».

Первый кодер MP3 вышел 7 июля 1994 года . .mp3расширение было официально выбрано 14 июля 1995 года. Целью этого ответа является объяснение на очень высоком уровне того, что на современных ПК процесс анализа звука быстрее, чем воспроизведение в реальном времени, уже существует так, как мы все используем: процесс преобразования аудио компакт-диск в файлы MP3.

Несмотря на хорошие ответы здесь, мне придется пойти на твердый

Это зависит

Некоторые алгоритмы зависят от вычислительной мощности грубой силы. Чем больше у вас вычислительной мощности, тем больше обработки (или более точной обработки) вы можете выполнить. Сейчас мы находимся на этапе, когда большая часть обработки звука больше не ограничена ресурсами. Однако обработка видео по-прежнему ограничена в ресурсах, о чем свидетельствует продолжающийся уровень развития игр.

Однако после этого проблема с обработкой в ​​реальном времени — это задержка — в данном случае задержка между тем, как вы что-то говорите, и компьютером, выдающим текст. Все алгоритмы обработки имеют некоторую задержку, но все, что основано на преобразованиях Фурье, особенно ограничено ею. Согласно математической теореме, чем более низкую частоту вы хотите распознать, тем больше данных вам нужно для ее обнаружения и, следовательно, тем дольше задержка, прежде чем компьютер выдаст вам результат. Итак, вы достигаете точки, когда не имеет значения, насколько быстро вы умеете считать, вы всегда как минимум настолько сильно отстаете.

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

А в крайнем случае некоторые алгоритмы просто невозможно запустить в реальном времени. Существуют некоторые очень эффективные алгоритмы фильтрации, которые требуют, например, прогона данных в обратном направлении. Они могут дать очень хорошие результаты для постобработки записанных данных, но, конечно, их совершенно невозможно использовать с данными в реальном времени.

Следует также учитывать, как человек обрабатывает звук по сравнению с компьютером. Для человека звук — это последовательность вибраций, которые мозг может обрабатывать в реальном времени только путем считывания этих вибраций в ухе. Таким образом, мозг учится и в некотором роде устроен так, чтобы обрабатывать звук со скоростью, с которой он воспроизводится.

Что касается компьютера, мы оцифровываем звук в формат, который может читать компьютер — последовательность амплитуд в виде списка. В отличие от вибраций, с помощью которых мы записали эти данные, простой список можно читать с любой скоростью, с которой компьютер может извлечь эти данные из памяти/жесткого диска и обработать их в ЦП. Конечно, скорость зависит от используемых операций и используемого оборудования. Если мы сохраним звук на дискете и используем микроконтроллер для его обработки, он может декодировать эти сигналы даже медленнее, чем человеческий мозг. Что касается современного оборудования, то вполне вероятно, что мы сможем обрабатывать эти данные (при простых операциях) со скоростью во многие сотни раз быстрее, чем компьютер.

Это также зависит от выполняемой операции. Мозг блестяще улавливает вибрации и определяет соответствующие частоты в этом сигнале, чтобы наш мозг мог их обрабатывать и преобразовывать в музыку или звуки. Он также очень хорошо распознает слова в аудиосигнале. Для компьютеров его сильные стороны заключаются в любых операциях, которые можно векторизовать и иметь решение в виде P — вычисления объема, преобразования Фурье и т. д. — все они очень быстро вычисляются компьютерами. Распознавание слов по-прежнему является очень сложной проблемой и поэтому занимает больше времени — часто компьютеры отправляют данные на сервер (например, TTS Google) для обработки и возврата ответа. В этом случае время обработки ограничено пропускной способностью Интернета, и вполне вероятно, что люди будут быстрее, даже если голосовой сигнал уже известен.

Другие вопросы по тегам