Я хочу начать программирование синтезатора. Я считал, что мне нужно будет использовать звуковую карту, поэтому я начал заниматься Google. Через некоторое время было обнаружено множество опций:
- API WaveOut - я слышал, что этот устарел, поэтому я отказался от этого.
- WASAPI - Считается немного слишком низким для того, что я хотел.
- DirectSound, XAudio, XAudio2 - Кажется разумным, но я хочу иметь как можно меньше латентности.
- Asio - Казалось, что я хочу!
Лучший способ начать аудиопрограммирование?
Я нашел пару учебников и исходный код, чтобы начать работу с аудиопрограммами. К сожалению, only one I got to work использует API waveOpen, который я не хочу использовать.
Затем я нашел this tutorial, который казался идеальным для моих нужд. Этот учебник, как ни странно, единственный полезный (ну, не тот, который можно использовать, так как я не могу заставить его работать) ресурс, который я могу найти при использовании ASIO. Дело в том, что я не могу заставить его работать. Когда я бегу демо я получаю «Application остановил working' ошибок, а затем выход консоли:
Необработанное исключение: System.BadImageFormatException: Не удалось загрузить файл или сборку» BlueWave.Interop.Asio, версия = 1.0.0.0, Culture = neutral, PublicKeyToken = null или одна из его зависимостей. Была сделана попытка загрузить программу с неправильным форматом. Имя файла: 'BlueWave.Interop.Asio, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null' в BlueWave.Interop.Asio.Test.TestConsole.Main (String [] args)
WRN: Связывание сборки ведение журнала отключено. Чтобы включить ведение журнала сбоев сборки, установите значение реестра [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) на 1. Примечание. Существует некоторое ограничение производительности, связанное с протоколированием сбоев привязки сборки. Чтобы отключить эту функцию, удалите значение реестра [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
Когда я пытаюсь скомпилировать, я получил целую кучу
Рози
ошибки:
Это после того, как я вручную помещен msvcr90.dll и msvcd90.dll в C: \ Windows \ System32 (Я не мог заставить их установить другой способ). Ой да, и, конечно же, я все-таки установил ASIO4ALL.
Итак, это не вопрос, но я просто прошу совета. Я думаю, что это не должно быть ТЫ ЧТО ТЫ ХОЧУ РАБОТАТЬ АЗИО, но в то же время ссылка на другой ресурс для изучения API ASIO была бы отличной, как и любые другие советы. (Может быть, проще просто пойти и попытаться заставить Xaudio2 работать? Я не знаю ...)
Спасибо заранее, и извините, если вы думаете, что мой вопрос длинный или скучный!
EDIT: Спасибо за реакцию. Я столкнулся с ASIOHost API by TropicalProgrammer. Не знаю, хорошо ли это, но выглядит многообещающим. Я изучаю это в настоящее время. Могут быть лучшие варианты, но я должен признать, что в свое время я решил настроить ASIO.
Возможно, мне стоит отправить Steinberg письмо и спросить, есть ли у них какие-либо ресурсы для API. Я не мог найти их в своей базе знаний или на своих форумах. – Ruben
Ой, я уже видел это, но я снова забыл, глупый. Steinberg имеет руководство по API, которое входит в загрузку SDK, но также доступно [онлайн] (http://www.scribd.com/doc/14562218/9-ASIO-SDK-21). Я на самом деле не использовал его, поскольку он касается только API (и это не моя проблема). – Ruben