Programs for implement tools for digital sound, Computer Networking

Assignment Help:

You must write the 6 programs described below. All of these are command-line tools that follow the Unix style of passing switches and arguments on the command line. As such, your programs should never prompt the user for anything. You may assume that all switches appear before the first argument. The requirements below are minimal requirements; you may provide extra functionality or handle extra cases as you choose. For example, you might include a --debug switch that causes extra debugging information to be written to standard error. As a general rule, your programs should be user friendly". That means they should print useful error messages whenever possible. Additionally, your programs should print any messages or diagnostic information to standard error, with standard output reserved for sound output. I do not require that your programs be absolutely \quiet", but take care that the default behaviour prints at most a few messages.

All programs should handle the following 2 formats for sound files: .cs229 format, and .wav format, described in Appendix B. Similarly, all programs should accept the -h switch, which causes the program to display a "help" screen and then terminate. The help screen should describe the program, its usage, and all legal switches (including any extra ones you implemented).

1.0 sndinfo

This program reads all sound files passed as arguments, and for each one, displays the following.

 The file name

 The file type (.cs229 or .wav)

 The sample rate

 The bit depth

 The number of channels

 The number of samples

 The length of the sound (in seconds)

If no files are passed as arguments, then the program should read from standard input. The only required switch for this program is -h.

1.1 sndcat

This program reads all sound files passed as arguments, and writes a single sound file that is the concatenation of the inputs. If no files are passed as arguments, then the program should read from standard input. You must support the following switches.

-h: show the help screen.

-o file: specify the output file name; if omitted, write to standard output.

-w: output in .wav format instead of .cs229 format

1.2 sndchan

This program reads all sound les passed as arguments, and produces a single sound le where each channel corresponds to one of the input le channels (channel order should be preserved). For instance, if the first sound le has 2 channels and the second sound le has 3 channels, then this produces a sound le with 5 channels. If no les are passed as arguments, then the program should read from standard input. You must support the following switches.

-c n : output channel n only; otherwise all channels

-h : show the help screen.

-o file : specify the output le name; if omitted, write to standard output.

-w : output in .wav format instead of .cs229 format.

1.3 sndmix

This program reads all sound les passed as arguments, and "mixes" them into a single sound le. The program is invoked as

sndmix [switches] mult1 file1 ...multn filen

where the sample data of filei is multiplied by multi (a real value between -10 and 10); the scaled data is summed to produce the output le. You must support the following switches.

-h : show the help screen.

 -o file : specify the output le name; if omitted, write to standard output.

-w : output in .wav format instead of .cs229 format.

1.4 sndgen

This program is a mess of switches. It produces a sound of a specified frequency and waveform, using a simple ADSR envelope (see Appendix D). You must support the following switches.

-h : show the help screen.

-o file: specify the output le name; if omitted, write to standard output.

-w: output in .wav format instead of .cs229 format

--bits n : use a bit depth of n

--sr n : use a sample rate of n

-f r : use a frequency of r Hz

-t r : total duration of r seconds

-v p : Peak volume. 0  p  1

-a r : attack time of r seconds

-d r : decay time of r seconds

-s p : sustain volume. 0  p  1

-r r : release time of r seconds

--sine : generate a sine wave

--triangle : generate a triangle wave

--sawtooth : generate a sawtooth wave

--pulse : generate a pulse wave

--pf p : Fraction of the time the pulse wave is "up"

Note that the volume parameters are given as the percentage of the maximum volume.

1.5 sndplay

This program reads a music file in .abc229 format and produces a sound file of that music.

You must support the following switches.

-h : show the help screen.

-o file : specify the output file name; if omitted, write to standard output.

-w: output in .wav format instead of .cs229 format

--bits n: use a bit depth of n

--sr n : use a sample rate of n

--mute n : do not play instrument n


Related Discussions:- Programs for implement tools for digital sound

Evaluate error detection in crc polynomials, Q. Evaluate Error Detection in...

Q. Evaluate Error Detection in CRC Polynomials? The divisor in the CRC generator is most habitually represented as an algebraic Polynomial. Reasons: It is short

Osi network layer addressing, Q. OSI Network Layer Addressing ISO/I...

Q. OSI Network Layer Addressing ISO/IEC and CCITT mutually administer the global network addressing domain. The primary hierarchical decomposition of the address is defined

Parallel construct in openmp, Parallel Construct The syntax of the para...

Parallel Construct The syntax of the parallel construct is as follows: #pragma omp parallel [set of clauses]  where clause is one of the following:  structured-block if(sca

Unused reserved - trannsport layer, Unused Reserved This  is a 6 bi...

Unused Reserved This  is a 6 bite field  reserved for future use.

List some most useful advantages of token ring, List some most useful advan...

List some most useful advantages of Token Ring. Here are Token ring's most useful advantages: a. It depends excellent throughput under high-load conditions. b. Token Ring

Layer 2 switch, A typical layer 2 switch has a number of features. Identify...

A typical layer 2 switch has a number of features. Identify and explain 5 features that you think are important that you would consider in your evaluation of L2 switches offered b

Urgent pointer - transport layer, Urgent Pointer This 16 bite whic...

Urgent Pointer This 16 bite which is valid  only f the urgent  flag is set is used  when the segment  contains  urgent data. If  defines  the number  that must be  added  t

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd