> iTunesやWMPなど、いろんなプレーヤーがありますが、
> こういうものは個人でプログラムを組んで作れるものなんでしょうか?
CODECがある前提での再生でいいなら、例えばWindowsならDirectXで簡単なプレイヤは作れると思います。
この場合、言語的にはDirectXが呼べればいいので、C++やC#等が有力でしょうか。
自分でデコーダから作るとなると専門知識が必要で、個人で作るにはかなり難易度は跳ね上がると思いますが、こちらは処理効率のよい言語、例えばC/C++等の方が向いているかもしれません。
> もし出来るとすれば何言語を学べばいいのでしょうか?
向き/不向きがあるのは確かですが言語は問わないと思います。
CODEC前提でGUIが作りたいならC#やC++あたりだと思います。
.NETframeworkが使えるならC#の方が楽かもしません。
デコードから自分でやるとすれば、問題になるのはアルゴリズムです。
# あと、既存フォーマットの場合仕様公開されているか否か。
言語は、C/C++とかアセンブリとかの混在かもしれませんし…効率がよければ何でもよいかと。
> 音の良し悪しはプログラムの何で決まるものなんでしょうか?
プログラムという意味では、ほとんどデコーダの実装です。
# 環境設定なども無関係ではないでしょうが。
デコーダがCODECとして提供されてる場合、提供されてるCODECの種類や提供元などにより音の良し悪しが変わります。
この部分を自分で書くということなら、その書いた処理しだいです。
とはいえ、元々エンコードされたデータ以上にいい音になることはないですね。