Manipulating Digital Audio

Closed

Description

This is a python based project !!!!

Introduction

In this project, you will be filling the shoes of an audio technician and explore the world of digital sound. You will be learning about what sound is, how it can be represented in the computer, and how to transform and modify the digital representation of sound waves in order to create your own audio files (in .wav format).

Objectives

Use and manipulate arrays/lists with numeric data

Practice different loop structures

Learn about what sound is and how it is represented and managed in the .wav format

Become familiar with basic principles of digital sound

Background: Sound and Digital Encoding

In the physical world, sound exists as fluctuations of pressure in the air around [url removed, login to view] fluctuations are continuous fluctuations over time that take on a continuous range of values, which is referred to as an analog signal. Any periodic analog signal can be decomposed into (and is thus the sum of) a (possibly infinite) number of sinusoidal waves. The simplest pure sound is a single sinusoidal wave, defined by the sine function (see Sine function)

Computers, however, cannot easily represent continuous functions because they have a finite amount of memory. Instead, an approximate representation is used, by taking sample values of the continuous function at discrete time intervals. Thus, although we don't have the original wave, we have samples of where the wave was for a number of points in time. This is referred to as a digital signal. A digital-to-analogue converter can reconstruct the original wave from samples, which can in turn be played on speakers.

The rate at which samples are taken is known as the sampling frequency. It is measured in Hertz (Hz), or samples per second. The sample size is the number of digits used in the digital representation of each sample. Higher sampling frequency and higher sample size lead to higher quality sound.

An analogue-to-digital converter (ADC) takes an analog signal as an input and produces a digital signal as output. Such a device is used in a microphone. As you speak or play into a microphone, your voice causes a membrane to vibrate. It is recorded how far the membrane is displaced in either direction, many times per second. These samples may be saved easily for playback at a later time. A digital-to-analog converter (DAC) performs a transformation that is the the inverse of the one performed by the ADC. Namely, a DAC takes discrete samples in time and constructs a continuous wave from them. You may find such a device in your sound card or in your CD player. Whenever you listen to a sound on your computer, these discrete samples are converted to a continuous signal that can be fed to your speakers.

It is possible to exactly reconstruct an analogue signal from digital samples subject to a few conditions. When recording an analog signal it is important to know the highest frequency that will be captured. This is known as the Nyquist frequency. The Nyquist-Shannon theorem states that it is possible to exactly reconstruct a wave consisting of frequencies up to the Nyquist frequency if the sampling frequency is at least twice as large.

The most common sampling frequencies found on audio hardware are currently 11025 Hz, 22050 Hz, and 44100 Hz. Since the average human ear can only hear a maximum frequency of up to 20000 Hz, we should set our sampling rate to at least 40000Hz. Sampling at a higher frequency only results in more samples that can capture sounds that are inaudible to humans.

.wav File Format

Skills: PHP, Software Architecture

See more: what is data structures in c, what is data structures, what is a data structures, what are data structures in c, what are data structures, set data structures, python learning, php to python converter, lists in data structures, lists data structures, learning data structures, learn how to create software, learn data structures in c, learn data structures, introduction to structures, introduction to data structures in c, introduction to data structures, introduction data structures, how to learn more about computers, how computers represent data, format theorem, finite it, find technician, find computer technician, find a computer technician

Project ID: #4959766

3 freelancers are bidding on average $42 for this job

Venky117

Hi.. I can do this. Please let me know. I have already worked on similar problem. I can deliver you this program in one day. thanks, waiting for your reply

$35 USD in 1 day
(4 Reviews)
2.4
arashtabriziyan

Hi, I guess i can do that. Seems, I'm the only python programmer around here!

$50 USD in 3 days
(1 Review)
1.7
geetkalani

hi, i think , i am easly do this one.....

$40 USD in 3 days
(0 Reviews)
0.0