Вопрос сводится к следующему: чего вы пытаетесь достичь?
Из описания вашего вопроса о декодировании MP3 и воспроизведении его на звуковой карте звучит так, как будто вы пытаетесь сделать медиаплеер.
Однако, если вы намереваетесь поиграться с эффектами DSP, то, похоже, вопрос скорее в обработке звука, а не в декодировании MP3. в этом случае, вероятно, поиск написания плагинов для существующих медиаплееров (таких как Windows Media Player и Winamp ) был бы самым простым путем к тому, чего вы пытаетесь достичь.
Честно говоря, научиться писать собственный декодер с нуля - это не просто проблема программирования, а математическая проблема, поэтому использование существующих библиотек - это путь. Общение с операционной системой или библиотеками, такими как DirectSound, для вывода звука кажется ненужной работой. Я чувствую, что работа над подключаемыми модулями для существующих плееров была бы хорошей идеей, если только ваша цель не состоит в том, чтобы создать собственный медиаплеер.
Если вы действительно хотите воспроизвести аудиоданные, то, вероятно, декодируйте MP3 в несжатый PCM с помощью любого MP3-декодера, а затем манипулируйте им на выбранном вами языке, чтобы достичь цели, связанной с эффектами со звуком.
Выбор языка будет зависеть от того, собираетесь ли вы напрямую взаимодействовать с библиотеками декодирования MP3 или можете ли вы просто использовать необработанный аудиовход, что позволит вам использовать практически любой язык по вашему выбору.
Некоторое время назад был похожий вопрос, Начало работы с программным звуком , где я опубликовал ответ о некоторых основных способах управления звуком, таких как усиление, изменение скорости воспроизведения и выполнение некоторой работы с FFT.