user requirement for the audio editor 1. the file to be edited will be provided from the command-line or as an alternative, be typed in. 2. A working copy of the file will be made on which the actual editing will be done. It would be copied over the original once the edit is complete. 3. The user will give editing commands with single key strokes. At least the following commands must exist. play: start to play the file. stop: stops playing the file, remaining at the position in the file where it was busy playing when stop had been pressed. Insert: First stops playing of the file and then start inserting audio at the current position. The audio can come either from the sound card/microphone or from a file. Two options should be provided in order to prevent delays when real-time insertion is required. When real-time insert is pressed, play must stop and recording from the microphone must start immediately. A key must be pressed to stop recording. When Insert from file is pressed, play must stop and the user must have a way of supplying the file name to be inserted. Once the file is inserted, some audible indication indicating completion of the task would be desirable. begin-mark: When this key is pressed the current position in the file is captured. If the file was playing when begin-mark was pressed, play must continue un-interrupted. end-mark: When this key is pressed, the current position in the file must be captured while play is continuing. end-mark and begin-mark does not change the play/stop status but can be used in both modes. Remove block: When this key is pressed, the audio portion delimited by the begin and end marks must be deleted from the file. As a safety precaution, the begin and end marks must be cleared as part of the delete operation. Play block: When this key is pressed, the marked audio block must be played. Write block: When this key is pressed, the marked audio block must be written to an audio file. The program must prompt the user for the file name. Move block: This is not required for the first version. When this key is pressed, the currently marked area of the audio is removed from where it is and inserted at the current position. The begin and end marks has to be updated so that it reflects the new begin and end of the moved data. where am I: When this key is pressed, the current position of the file relative to its beginning must be reported. Jump to: When this key is pressed, play must be stopped and the user must be prompted for a position in the file to jump to. If the file was being played when the jump key were pressed, play should be resumed at the entered position. fast forward: When this key is pressed, the current position in the file is moved forward by 60 seconds. Play/stop status should not be changed. fast rewind: Same as fast forward, but the position is moved back in stead of forward by one minute. forward: When this key is pressed, the position is moved forward by one second. rewind: Same as forward but the position is moved back by one second in stead of forward. Done: When this key is pressed, the program should exit and keep the changes to the audio file. Quit: Quits the program, discarding all changes by returning the file to its original state. Better ask the user for confirmation.