drum machine 같은걸 생각하고 있는데요.^^;

각 음원 하나하나를 mediaplayer로 생성해서 짧게 짧게 재생하자니 낭비가 심한거 같아서요.

pcm 레벨에서 합성해서 계속 출력하고 싶습니다.
(PCM = pulse code modulation, 그냥 음악/음성에 대한 raw data 입니다. mp3 --> decoding --> pcm 추출 --> 출력)

먼저 입력단에서요. 
    pcm 이나 wav는 용량이 커서 mp3를 읽고 decoding 해서 pcm 데이터를 추출하고 싶은데요.
        가능한가요.? 안드로이드에서 media player layer가 좀 아래쪽 layer에 있잖아요.
        app 레벨이 아니라 platform 레벨에서 만져야 하는 내용인가요?

    정 안되면 합성하는거 까지는 그냥 file io를 pcm data 읽으면 되긴 하지만.. (용량이 -_-..)

그리고 중요한건 출력단인데요..
    이 pcm을 스피커를 통해 출력시키는건 어떻게 해야 할까요.? app layer단에서 가능한 작업인지 알고 싶습니다.
    즉.. mp3,wma, ogg 등 파일 --> decoding등으로 pcm 추출 ---------------------------------------> 스피커로 출력
                                                                                                                       ^^^^ 이부분..

    긴 화살표인 '이부분'에서 임의적인 가공을 거쳐 data를 스피커로 넘겨줄 수 있는지 알고 싶습니다.

music player 자체 제작하시는 분들도 많고.. 하니 시도해 보신 분들이 계실거 같은데

답변 부탁드립니다.