0% found this document useful (0 votes)
42 views

Create A Voice Recorder Using Python

Uploaded by

ankushmahato789
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views

Create A Voice Recorder Using Python

Uploaded by

ankushmahato789
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Create a Voice Recorder using Python

Python can be used to perform a variety of tasks.


One of them is creating a voice recorder. We can use
python’s sounddevice module to record and play
audio. This module along with the wavio or the scipy
module provides a way to save recorded audio.

Installation:

sounddevice: This module provides functions to


play and record NumPy arrays containing audio
signals. Let’s install it by running the following
commapip3 install sounddevice.
We can use either wavio and scipy to save the
recorded audio in file format. We will see both of
them here.
To install wavio:

pip install wavio

To install scipy:

pip install scipy

Now, we are done with installing the required


modules. So, let’s write the code.
Getting Started
First, import the required libraries.

# import required libraries


import sounddevice as sd

from scipy.io.wavfile import write


import wavio as wv

Now, before starting the recorder, we have to declare


a few variables. The first one is the sampling
frequency of the audio (in most cases this will be
44100 or 48000 frames per second) and the second is
recording duration. We have to specify the duration in
seconds so that it stops recording after that duration.
So, let’s declare them too.
# Sampling frequency
freq = 44100

# Recording duration
duration = 5

Now, we are ready to start the recorder. It will create a


NumPy array of the recorded audio.
Channels – The position of each audio source within
the audio signal is known a channel.
Here number of channels can be 1 or 2 only.
# Start recorder with the given values of

# duration and sample frequency


recording = sd.rec(int(duration * freq),
samplerate=freq, channels=2)

# Record audio for the given number of seconds


sd.wait()

Now, we are done with recording the audio. So, let’s


save it. To save the audio file, we can either use the
scipy module or the wavio module. Let’s go through
them one by one.

Using Scipy:
We will use the write function from scipy.io.wavfile to
convert the NumPy array to an audio file.
# This will convert the NumPy array to an audio
# file with the given sampling frequency

write("recording0.wav", freq, recording)


Using wavio:
We can also use the write function from the wavio
library.
# Convert the NumPy array to audio file
wv.write("recording1.wav", recording, freq,
sampwidth=2)

Complete Code:
# import required libraries

import sounddevice as sd

from scipy.io.wavfile import write

import wavio as wv

# Sampling frequency

freq = 44100

# Recording duration

duration = 5

# Start recorder with the given values

# of duration and sample frequency

recording = sd.rec(int(duration * freq),

samplerate=freq, channels=2)

# Record audio for the given number of seconds

sd.wait()

# This will convert the NumPy array to an audio

# file with the given sampling frequency

write("recording0.wav", freq, recording)


# Convert the NumPy array to audio file

wv.write("recording1.wav", recording, freq, sampwidth=2)

You might also like