Porting Algorithm from MATLAB to C++ or Objective-C (repost)
$100-500 USD
已取消
已发布超过 15 年前
$100-500 USD
货到付款
I need to take the **working** MATLAB pitch correction code posted at [[login to view URL]][1] and port it into standard Objective-C or C++.
I want to end up with a function that pitch corrects a given WAV file. This does not actually REQUIRE any knowledge of sound, because the algorithm code is all completely written. Knowledge of sound will help, though.
Also, I will need either implemented CAF file I/O OR for you to find a properly licensed library that will perform CAF file I/O.
## Deliverables
**First, the list of deliverables:
1) Source code that implements the algorithm to process 44.1Khz 16-bit mono sounds.
2) Source code that does CAF file I/O for 16-bit uncompressed mono sounds OR uses a properly licensed library to do this.
3) Source code of a test harness program that reads in a CAF file, corrects pitch and writes to a new CAF file.
The converted samples will be tested against the given samples by way of a 25-run ABX test with the "Why" sample. In the event of a dispute, the result will be determined by 2/3 vote between the coder, the seller, and the arbiter.
**
The main goal of this project is a Objective-C OR C++ function, since this is targeted for the iPhone I should be able to mix the two languages:
bool transform(string inputfilename, string outputfilename); (or the Objective-C equivalent)
Pre-condition: inputfilename is a file path that points to a containing a recorded human voice and no other instruments.
Post-condition: outfilename is a file path that points to a standard Linear PCM sound file in a CAF container containing the same recorded human voice pitch corrected to the nearest perfect note.
Returns true if successful, false if there is a failure.
Go to [[login to view URL]][2] for complete information about the pitch correction algorithm, sample code and sample output is available at [[login to view URL]][3] (use the time-domain pitch detector and the PSOLA pitch shifter). The attached file also contains everything you need.
Since this is targeted for the iPhone, certain licensing issues exist. Do not assume you can use LGPL libraries, because newer versions of the license prohibit static linking into proprietary code on embedded systems.
Code should be well-commented, understandable, and maintainable.
This is targeted for the iPhone. If you know both, Objective-C would be preferred, but it's not a big deal if you don't and you write it in C++.