Perl/PHP/Java App to Convert Audio and Extract Amplitude

IN PROGRESS
Bids
12
Avg Bid (USD)
$908
Project Budget (USD)
$300 - $1500

Project Description:
-
This is a Perl/PHP job. But if you want to propose it as Java, please do and help me understand how it will work.

IN A NUTSHELL

An upload form accepts up to 10 MP3 files, with a few additional fields for each file. The files are uploaded to a tmp directory on the server and the user is notified of success/failure. Then, for each uploaded file, the following is performed:
- Extract amplitude (loudness) data and write to a TXT file in the tmp directory.
- Convert the MP3 file to SWF and write the SWF file to the tmp directory.
- If successful, move the TXT and SWF (audio only) files to another directory.
- Update a MySQL table with the file info.


DETAILS

I’d prefer you integrate Uber Uploader to handle the upload to the tmp directory and notification. It has the functionality needed and it is currently running elsewhere on the server. But if you have another WELL DOCUMENTED uploader you’d prefer to use, please propose it.

The upload form will contain the file fields (with browse buttons) and three additional fields (to be determined) associated with each file. It will also contain a couple of global fields (associated with all files).

To extract the amplitude data, it needs to read the MP3 binary data and parse out what’s needed. An example of a commercial application that does this as one of its functions is FlashAmp (www.marmalademedia.com.au/flashamp/index.html). Look at their explanation of the amplitude data and you’ll understand what we need (extraction of amplitude data is just one part of what FlashAmp does; we don’t need the rest). Ultimately, we want a CSV list with one value for each half second in the MP3 file. The TXT file is named using a value from the upload form.

To create the SWF file, please indicate in your bid if you will integrate an existing conversion technology like ffmpeg or develop something from scratch. It needs to be able to set at least the following parameters: fps, bitrate, sampling rate. The SWF file is named using a value from the upload form.

The movement of successful TXT and SWF files to a new directory is a matter of using a hard-coded path plus directory name value obtained from the upload form. The server is Linux.

The MySQL table update is just a matter of checking for the existence of a matching record (using the value of an ID field associated with the upload file on the upload form). If it exists, update a few fields (using values from the upload form). If it does not exist, create a record and set a few fields.

This should be a fast process (except for the upload of files), not requiring real-time (or even close) processing of the audio.

It needs to run on a LAMP server. We can add any Perl modules needed, and probably any other software required. Use of third-party software is fine (even commercial apps as long as license issues are considered and detailed). Any anticipated third-party software should be noted in the bid (except perl mods which are expected).

The final details, like upload form field names and database structure, will be provided at the start of work. The database is already developed and will be provided with structure and sample data (you can revise structure if necessary). The upload form will be designed afterward (making it look nice is not part of this job). Everything needs to be commented very well.

Thanks.
-

Skills required:
Java, Perl, PHP
About the employer:
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.


Hire mrroberto
$ 700
in 14 days
Hire waswas
$ 1000
in 12 days
Hire nadeem2005
$ 1000
in 10 days
Hire kvv20
$ 500
in 20 days
Hire vvjj
$ 550
in 14 days
Hire rsathish
$ 1000
in 30 days
Hire HcubeIndia
$ 1200
in 10 days
Hire BigFM
$ 1200
in 15 days
Hire rsramiya
$ 750
in 30 days
Hire ashkan2535
$ 1000
in 7 days