Download DSP LAB

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
DSP LAB5
Goal
• Introduction to python scripting
• Play audio(wav) file using python scripting
• Record audio
• Hands-on practice on python scripting
Python characteristic
• Object-oriented programming language
• Using whitespace indentation rather than curly braces to delimit blocks
• Automatically detect the variable type
First step
• How to print
• Python 3.0 up : print(‘hello world!’)
• Python 3.0 down: print ‘hello world’
• “XXX” = ‘XXX’
• Wrong : ‘XXX”
Tips
• Comment : alt+3(comment)、alt+4(uncomment)
• Show the last run code : alt+p
• Do not use ; to end the every line code
• If you want to change line you should add parentheses
• Ex : if(z==3.45 and
y==1)
• In array always begin with 0 not 1
Basic operations
• change type
• int(variable)、float(variable)、str(variable)
• Condition
• if-else
• if-elif-else
• function
• def function name(argument):
function code
string
• A=“hello”
•
•
•
•
•
A[0] = “h”
A[1:4] = “ell” (not include 4)
A[:3]=“hel”(from 0 to 2)
A[2:]=“llo”(from 2 to final)
A[:-1]=“hell”(from 0 to 3)
• print (A*2) = “hellohello”
• print (A+”t”) = “hellot”
Loop
while
ex:
sum=0 i=1
while i<=10:
sum+=I
i+=1
print(sum)
for-in
ex:
a=0 w=[1,2,3]
for i in w:
a=a+i
print(a)
for-in range
ex:
for t in range(3):
print(t)
for t in range(1,9,2):
print(t)
Additional
• import numpy as np
• np.array, np.arange, np.zeros, np.sin, etc.
• http://myshare.dscloud.me/scipydoc/numpy_intro.html
• Anaconda – spyder
• https://www.continuum.io/downloads
Lab work
• Record sound
• Play sound
• Plot the wave
Audio record
• import pyaudio
• import wave
• p = pyaudio.Pyaudio()
stream= p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)
stream.stop_stream()
stream.close()
p.terminate()
• filename= wave.open(WAVE_OUTPUT_FILENAME, 'wb')
• filename.setnchannels(CHANNELS)
• filename.setsampwidth(p.get_sample_size(FORMAT))
• filename.setframerate(RATE)
• filename.writeframes(b''.join(frames))
• filename.close()
Audio play
p = pyaudio.PyAudio()
stream =
p.open(format=p.get_format_from_width(filename.getsampwidth()),
channels=filename.getnchannels(),
rate=filename.getframerate(),
output=True)
stream.stop_stream()
stream.close()
p.terminate()
plot
• import pylab
• pylab.subplot
• pylab.title
• pylab.plot
• pylab.plot
Related documents