2009-03-18 13 views
4

Ok, hat jemand eine Idee für gute Möglichkeiten, um Folgendes zu erreichen: Ein Benutzer programmiert einige Drumloops im Flash und ist irgendwie in der Lage, ein MP3 des Loops herunterzuladen oder zu speichern.automatisch komponieren Sound - php oder so ähnlich - GD Bibliothek für Sound?

Ich dachte, dass das Muster auf der Serverseite kompostiert werden könnte. Dann wird ein Link zu der Datei an den Benutzer gesendet.

Ich hatte gedacht, dass da etwas wie imageGD oder imageMagick für Sound da draußen sein könnte?

Auch, wenn es für Flash möglich ist, etwas zu generieren, das der Benutzer im laufenden Betrieb speichern könnte? Das würde auch funktionieren, aber mir ist keine solche Funktionalität in Flash bekannt.

Ich nehme an, etwas könnte in der Verarbeitung getan werden, aber ich bin völlig unbekannt damit.

Irgendwelche Ideen darüber, wie diese Art von Sache erreicht werden könnte? Es scheint ein interessantes Konzept zu sein, oder?

Dank

Antwort

1

Werfen Sie einen Blick auf SoX.

SoX ist ein plattformübergreifendes (Windows, Linux, MacOS X usw.) Befehlszeilen-Dienstprogramm, das verschiedene Formate von Computer-Audiodateien in andere Formate konvertieren kann. Es kann auch verschiedene Effekte auf diese Sounddateien anwenden, und als zusätzlichen Bonus kann SoX Audiodateien auf den meisten Plattformen abspielen und aufzeichnen.

0

Schauen Sie sich diese MP3 class.

Ich benutze es für ein Projekt, das nur heute bereitgestellt wurde.

Es kann MP3s lesen, einen Teil davon extrahieren und Dateien unter anderem zusammenführen, außer dass es keine Überlappungen gibt.

Vorausgesetzt, Sie haben bereits diese Sound-Stücke (Schlagzeug, Gitarre, usw.) und Sie brauchen keine Überlappung, es scheint, das ist, was Sie suchen.

1

Wenn Sie die Kontrolle über Ihre Serverumgebung haben, können Sie ffmpeg verwenden, um die Aufgabe zu erledigen.

In Ihrem PHP-Code.

exec(escapeshellcmd("/path/to/ffmpeg -i /path/to/audiofile1.mp3 -i /path/to/audiofile2.mp3 -itsoffset 10 -i /path/to/audiofile3.mp3 -itsoffset 20 -acodec mp3 /path/to/outputfile.mp3"),$output,$status); 

Beachten Sie, dass die in Sekunden Offset -itsoffset ist wollen Sie die Audio-Datei in platziert werden also nicht ideal ist, wenn Sie sehr kleine Kontrolle über das Timing möchten, aber ich weiß nicht, ob du das brauchst.

+0

Ich frage mich, ob ein Bündel von 1/32 Sekunde Proben vor der Probe vorangestellt werden könnte, um feinkörnigere Probenkontrolle zu erzeugen? Das klingt allerdings "unelegant". –

+0

Einverstanden. Ich denke nicht, dass dies eine ideale Lösung ist, aber es ist die einfachste Option, die ich mir vorstellen könnte, die PHP nutzen könnte. –