Кто знает как разложить звуковой файл
разложить готовый(уже записаный) звуковой файл по инструментам ещё не получалось ни у кого.
Если же ты сам создаёшь музыку, ты можешь просто записать каждую дорожку в отдельный файл (wav, mp3, ogg, да что угодно) и проигрывать их одновременно, регулируя для каждой дорожки и громкость и баланс и всё остальное.
Можешь сделать собственный формат, куда запихать сами дорожки, а так же информацию об их числе, длительности и т.д. В своей программе доставать звук во временную папку, кодировать (если надо) и после - проигрывать.
Ну а проигрывать.. есть хороший контрол msdxm.ocx (его нужно взять с 98ой винды 6ой версии (800кб примерно), а НЕ новый 7,8,9,10 из ХР)
позволяет играть мп3, регулировать громкость, баланс, скорость воспроизведения)
Есть много других контролов, бесплатных и не очень.
А можно через DirectSound. Звук должен быть WAV, чтобы не таскать с собой большие файлы придётся таскать с собой декодер.. мне нравится OGG хорошим качеством при низких битрейтах, утилитка OGG2WAV весит порядка 100кб. А в DS сделаешь со звуком чего хочешь.. но эт более сложный вариант.
Остаётся добавить, что пользоватся WinAPI (sndPlaySound) - не тру.