Answered You can hire a professional tutor to get the answer.


Part 1 - Command line digital audio editor - trimming canonical WAVE files - 40 marks A command line digital audio editor enables a user to process...

Part 1 - Command line digital audio editor - trimming canonical WAVE files - 40 marksA command line digital audio editor enables a user to process and modify audio files using the command line. Generally an audio editor would enable a user to: join, fade, record, playback, mix, amplify, compress, flange, reduce noise, apply equalisation, convert between formats, etc. An example of such a program is the SoX digital audio editor. However, in the basic part of this assignment your audio editor is only required to be able to trim the ends off an audio clip. Also your program only needs to be able to work using a restricted form of the canonical WAVE file format.The "WAVE" format is a sub-format of the "RIFF" file format. In the "RIFF" format files a partitioned into a number of 'chunks', these 'chunks' may contain a number of sub-chunks. You may assume the audio file you use has single "RIFF" chunk which is formatted as a "WAVE" chuck which contains 2 sub-chunks. The first sub-chunk is of type "fmt ", this contains information about the audio format (for this basic part you may assume the audio format is: PCM, Mono, sample rate of 44100, 16 bits persample, byte rate of 88200, blockalign of 2). The second sub-chunk is of type "data" and contains the sampled data of the audio (in this case 16 bit samples).If you do a simple search on the web you should be able to track down how WAVE files are formatted. I have found the following site useful .The program works from the command line and you provide it with the input and output file names along with the amount you wish the file to be trimmed. The program is call 'audioedit' and has the following man page (this is to let you know how the command line parameter are to be formatted):NAMEaudioedit - command line program for editing WAVE audio files.SYNOPSISaudioedit -helpaudioedit -versionaudioedit [-tb n] [-te m] -i inputfile.wav -o outputfile.wavDESCRIPTIONThis program enables the basic audio editing of restricted canonical wave audio files.OPTIONSdisplay the command line options-version display the version numbertrim n samples from the beginning for the audio cliptrim m samples off the end of the audio clipprovide the input file nameprovide the output file name (overwriting an existing file) Your program should display an error message and exit if there some problems with the options given or the format of the file provided.A wave audio file which needs some trimming is available from: trimends.wav .This basic part of your program should be written in c without the use of 3rd party audio libraries or programs.Part 2 - README file - 20 marksWrite a 1 to 2 page README document that contains the following:Your name and uni id.Copyright and license associated with your software. (the license is optional)A summary of your programs working.How to compile and run your program.The testing you did.Optional extensions you did and what makes them deserving of a high mark.Limitations of your program and what you would do next to improve the program.Part 3 - Optional Extension - 40 marksIn this part of the assignment you are free to explore a number of possible extensions to your audio editor program. These include:make the program work on other audio formats (e.g. get it working with stereo)add an audio filter such as: amplification, compression, echo effects, equaliser, noise reduction, ...add the ability to join clips one after the otheradd the ability to mix two clips (merging them)add the ability to record or play clipsYou are also free to dream up some other extensions. Highest marks will be gained a doing one (or two) extensions very well, rather, than doing a lot of them poorly. You may make use of 3rd party libraries for completing this extension part if you like.MarkingEach part of the assignment will be separately marked. Marks will be given for:Correctness - Does it work?Robustness - Does it fall over if any unusually input is given to it?Clarity - Is the code (and README) simple to understand?Style - Is the coding style consistent? Are variable names well chosen?Formatting - Is the code formatted consistently and using a standard formatting approach?

Show more
Ask a Question