Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе приведены общие сведения о новых возможностях звука для Windows 10.
Сводка по функциям
Ниже приведены новые функции аудио в Windows 10.
Улучшения звука с низкой задержкой
Задержка звука — это задержка между тем временем, когда создается звук, и когда оно услышится. Низкая задержка звука очень важна для нескольких ключевых сценариев, таких как ниже.
- Pro Audio
- Создание музыки и смешивание
- Коммуникации, такие как Skype
- Виртуальная и дополненная реальность
- Игры
Общая задержка устройства — это сумма задержек следующих компонентов:
- Операционная система
- Объекты обработки звука
- Звуковой драйвер
- Звуковое оборудование
В Windows 10 была проделана работа с целью уменьшения задержки в ОС. Без каких-либо изменений драйвера приложения в Windows 10 будут испытывать более низкую задержку 4,5–16 мс. Кроме того, если драйвер был обновлен, чтобы воспользоваться новыми DDIS с низкой задержкой, которые используют небольшие буферы для обработки звуковых данных, задержка будет уменьшаться еще больше. Если драйвер поддерживает аудиобуферы в 3 мс, задержка по кругу составляет ~10 мс.
Звуковой стек поддерживает несколько размеров пакетов и динамическое изменение размера пакетов, чтобы оптимизировать компромисс между задержкой и питанием в зависимости от сценария пользователя. Кроме того, потоки будут приоритетными для обеспечения того, чтобы потоки с высоким приоритетом (например, телефонные звонки) имели выделенные ресурсы.
Чтобы звуковые драйверы поддерживали низкую задержку, Windows 10 предоставляет следующие 3 новые функции:
- [Обязательный] Объявите минимальный размер буфера, поддерживаемый в каждом режиме.
- [Необязательно, но рекомендуется] Улучшение координации потока данных между драйвером и ОС.
- [Необязательно, но рекомендуется] Зарегистрируйте ресурсы драйвера (прерывания, потоки), чтобы их можно было защитить операционной системой в сценариях с низкой задержкой. Дополнительные сведения см. в разделе "Звук с низкой задержкой".
Режимы обработки сигналов и звуковые категории
Режимы обработки сигналов
Драйверы объявляют поддерживаемые режимы обработки звуковых сигналов для каждого устройства.
Категории звука (выбранные приложениями) сопоставляются с звуковыми режимами (определяются драйверами). Windows определяет семь режимов обработки звуковых сигналов. Изготовители оборудования и IHV могут определить, какие режимы они хотят реализовать. Режимы приведены в таблице ниже.
Режим | Отрисовка и запись | Описание |
---|---|---|
Необработанные | Оба | Необработанный режим указывает, что к потоку не следует применять обработку сигналов. Приложение может запрашивать необработанный поток, который полностью не тронут и выполнять собственную обработку сигналов. |
По умолчанию | Оба | Этот режим определяет обработку звука по умолчанию. |
Кино* | Отображать | Воспроизведение звука фильма |
Медиа* | Оба | Воспроизведение звука музыки (по умолчанию для большинства потоков мультимедиа) |
Речь* | Захват | Запись человеческого голоса (например, входные данные в Кортана) |
Связь* | Оба | Визуализация и запись VOIP (например, Skype, Lync) |
Уведомление* | Отображать | Мелодии, будильники, уведомления и т. д. |
Драйверы аудиоустройств должны поддерживать по крайней мере режим "Необработанный" или "Стандартный". Поддержка дополнительных режимов является необязательным.
Выделенные режимы для речи, фильмов, музыки и коммуникаций. Звуковые драйверы смогут определять различные типы аудиоформатов и обработки на основе типа потока.
Категории аудио
В следующей таблице показаны категории аудио в Windows 10.
Чтобы сообщить системе об использовании аудиопотока, приложения могут пометить поток с определенной категорией аудиопотока. В Windows 10 есть девять категорий аудиопотоков.
Категория | Описание |
---|---|
Кинофильм* | Фильмы, видео с диалогом (заменяет ForegroundOnlyMedia) |
Медиа* | Категория по умолчанию для воспроизведения мультимедиа (заменяет BackgroundCapableMedia) |
Игровой чат* | Взаимодействие между пользователями в игре (новая категория в Windows 10) |
Речь* | Входные данные речи (например, личный помощник) и выходные данные (например, приложения навигации) (новая категория в Windows 10) |
Связь | VOIP, чат в режиме реального времени |
Уведомления | Будильник, рингтон, уведомления |
Звуковые эффекты | Beeps, dings и т. д. |
Игровые медиа | В игре музыка |
Игровые эффекты | Звуки отскакивающих мячей, двигателя автомобиля, пуль и т. д. |
Другие | Некатегоризованные потоки |
* Новые возможности Windows 10.
Дополнительные сведения см. в разделе "Режимы обработки звука " и "Архитектура объекта обработки звука".
Эффекты APO с аппаратной разгрузкой
Windows 10 поддерживает перенесенные на аппаратный уровень эффекты APO. APO можно загрузить поверх разгрузочного контакта. Это позволяет выполнять обработку звука как в программном обеспечении, так и в оборудовании. Кроме того, обработка может изменяться динамически. Некоторые или все обработки можно переместить из программного APO в DSP, когда есть достаточно аппаратных ресурсов, а затем вернуться к программному APO при увеличении нагрузки в DSP.
Дополнительные сведения см. в разделе "Реализация разгруженных APO-эффектов оборудования".
Активация голосовой связи Кортаны — пробуждение по голосовой связи
Кортана, технология личного помощника была впервые показана на конференции разработчиков Microsoft BUILD в 2013 году. Активация голосовой связи — это функция, которая позволяет пользователям вызывать подсистему распознавания речи из различных состояний питания устройства, сказав определенную фразу — "Эй Кортана". Функция голосовой активации "Hey Cortana" позволяет пользователям быстро взаимодействовать с приложением (например, Кортаной) за пределами активного контекста (т. е. то, что сейчас на экране), используя голос. Эта функция предназначена для сценариев, когда экран отключен, неактивен или когда он полностью активен. Если оборудование поддерживает буферизацию, пользователи могут объединить ключевую фразу и фразу команды. Это улучшает комплексный опыт активации голосом для пользователя. Дополнительные сведения см. в активации голосовой связи.
Универсальные драйверы Windows для звука
Windows 10 поддерживает одну модель драйвера, которая работает на ПК, устройствах 2-в-1 и Windows 10 для телефонов и планшетов с небольшими экранами. Это означает, что IHV может разрабатывать свой драйвер на одной платформе, и этот драйвер работает на всех устройствах (настольные компьютеры, ноутбуки, планшеты, телефоны). Результатом является сокращение времени разработки и затрат.
Для разработки универсальных звуковых драйверов используйте следующие средства:
- Visual Studio 2015: новые параметры драйвера позволяют задать для целевой платформы значение "Универсальная" для создания драйвера с несколькими платформами.
- APIValidator. Это средство WDK, которое проверяет, является ли драйвер универсальным и выделяет вызовы, которые необходимо обновить.
- Примеры аудио в GitHub: sysvad и SwapAPO были преобразованы в универсальные драйверы. Дополнительные сведения и указатели на пример кода GitHub см. в статье универсальные драйверы Windows для аудио.
Управление ресурсами для звуковых драйверов
Одна из проблем при создании качественного звукового опыта на дешёвом мобильном устройстве заключается в том, что некоторые устройства имеют различные ограничения одновременной работы. Например, возможно, устройство может воспроизводить одновременно только до 6 аудиопотоков и поддерживает только 2 разгружаемых потока. Если на мобильном устройстве есть активный телефонный звонок, возможно, что устройство поддерживает только 2 аудиопотока. При записи звука устройство может воспроизводить только до 4 звуковых потоков.
Windows 10 включает механизм для выражения ограничений параллелизма, чтобы убедиться, что высокоприоритетные звуковые потоки и мобильные телефонные звонки смогут воспроизводиться. Если у системы недостаточно ресурсов, то потоки с низким приоритетом завершаются. Этот механизм доступен только на телефонах и планшетах, а не на настольных компьютерах или ноутбуках.
Дополнительные сведения см. в управление аппаратными ресурсами аудио.
Перебалансировка PNP для звуковых драйверов
Перебалансирование PNP используется в определенных сценариях PCI, где ресурсы памяти должны быть перераспределены. В этом случае некоторые драйверы выгружаются, а затем перезагружаются в разных расположениях памяти, чтобы создать свободное непрерывное пространство памяти. Перебалансировать можно в двух основных сценариях:
- Пользователь подключает устройство, но у шины PCI недостаточно ресурсов для загрузки драйвера для нового устройства. Некоторые примеры устройств, которые попадают в эту категорию, включают Thunderbolt, USB-C и хранилище NVME. В этом сценарии ресурсы памяти должны быть переупорядочены и консолидированы (перебалансированы) для поддержки добавленных дополнительных устройств.
- PCI resizable BARs: после успешной загрузки драйвера устройства в память он запрашивает дополнительные системные ресурсы. Некоторые примеры устройств включают высокопроизводительные графические карты и устройства хранения. Дополнительные сведения см. в разделе Внедрение повторной балансировки PnP для аудио драйверов PortCls.