Подтвердить что ты не робот

Начало работы с аудиопрограммами

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

Я совершенно новичок в звуковом программировании, но мне бы очень хотелось прорваться в него и испортить мне руки. Если вы можете придумать какие-либо учебники/ссылки/статьи/советы, я бы хотел их услышать!

Я использую Visual Studio С++ 2008.

4b9b3361

Ответ 1

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

Это, в целом, намного проще, чем пытаться написать плагин для управления данными, проходящими через аудиопотоки системы. Кроме того, аудио-API Windows значительно изменился с Vista, и в зависимости от того, какая версия Windows вы используете, вам нужно будет следовать различным соглашениям, чтобы заставить ваши вещи работать.

Но снова - начните просто. Получите VST SDK, ознакомьтесь с некоторыми учебниками и начните с детскими ступеньками.:)

Ответ 2

Вот некоторые ссылки, которые были очень полезны для меня:

Ответ 3

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

Что касается аудио API Windows, их много. Наиболее широко поддерживается WinMM. Последним и самым новым является новый интерфейс WASAPI, представленный с Vista.

Наконец, для достижения общесистемного эффекта эквалайзера вам может потребоваться изучить интерфейсы нижнего уровня, такие как sAPO

Ответ 4

Нежным введением в программирование VST является SynthEdit... www.synthedit.com, он обеспечивает перетаскивание программной среды, продвигаясь к написанию собственных С++-аддонов. Вы можете выполнять "скучные" биты (графический интерфейс) с помощью drag-and-drop и "забавных" алгоритмических бит в С++.

Ответ 5

Вероятно, вам нужно взглянуть на DirectSound, но имейте в виду, что вскоре его заменит XAudio2 - возможно, в Windows 7. Я должен подумать, что DirectSound будет продолжать поддерживаться на некоторое время дольше, так как это было в течение длительного времени.