Ja, clientseitig mit JS, vermutlich unter Hinzunahme von irgendeinem aufgeblasenen Framework, und serverseitig mit irgendeiner beliebigen Sprache, z. B. PHP, Python, Ruby, Java, wasauchimmer.
Wenn die Audiodateien auf dem Server als PCM vorliegen (WAV, AU, AIFF, etc.) kannste die im Speicher als eine Hauptspur zusammen fügen, und dann durch einen Encoder jagen. Da die Längen ja gleich sind, kannst du an den Client MP3, OGG, AAC, o. ä. senden um Bandbreite zu sparen. Der client muss dir ja dann nur noch die Position und Länge der einzelnen Audiodateien auf der Hauptspur mitteilen, was ein einziger kleiner Request sein dürfte.
Ich habe auch mal genau das gleiche gemacht, und etwas gebaut, was entfernt an LMMS erinnert. Dabei bin ich vorgegangen wie oben beschrieben, nur ohne den Teil mit dem "aufgeblasenen Framework". Am Ende war der gesamte Code, sowohl client- als auch serverseitig, sehr schlank, flink und sauber.
Für den Client hab ich JS, CSS und HTML genutzt (was sonst?), und auf dem Server PHP (ekelhaft, aber halt billig und überall verfügbar). Nur den eigentlichen "Kern" habe ich in C++ geschrieben, weil das Bearbeiten der PCM-Daten und das Encoding in ein verlustbehaftetes Format einige Tausend mal schneller war, als Gefrickel mit PHP.