Nooooootes: Difference between revisions

From XPUB & Lens-Based wiki
(Created page with "==generate sound by python == <source lang="python"> import wave, struct filename = "output.wav" nframes=0 nchannels=1 sampwidth=2 # in bytes so 2=16bit, 1=8bit framerate=441...")
 
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
==generate sound by python ==
*:[[20131017:raw sound/image]]
<source lang="python">
*:[[20131104]]
import wave, struct
 
filename = "output.wav"
nframes=0
nchannels=1
sampwidth=2 # in bytes so 2=16bit, 1=8bit
framerate=44100
bufsize=2048
 
w = wave.open(filename, 'w')
w.setparams((nchannels, sampwidth, framerate, nframes, 'NONE', 'not compressed'))
 
max_amplitude = float(int((2 ** (sampwidth * 8)) / 2) - 1)
 
# split the samples into chunks (to reduce memory consumption and improve performance)
#for chunk in grouper(bufsize, samples):
#    frames = ''.join(''.join(struct.pack('h', int(max_amplitude * sample)) for sample in channels) for channels in chunk if channels is not None)
#    w.writeframesraw(frames)
 
freq = 440
# this means that FREQ times a second, we need to complete a cycle
# there are FRAMERATE samples per second
# so FRAMERATE / FREQ = CYCLE LENGTH
cycle = framerate / freq
 
 
data = ''
for i in range(10): #正负波重复的次数
    for x in range(100):
        data += struct.pack('h', int(0.5 * max_amplitude))
    for x in range(100):
        data += struct.pack('h', int(-0.5 * max_amplitude))
 
w.writeframesraw(data)
 
w.close()
</source>
 
== Generating "Raw" Images ==
{{:Raw image}}

Latest revision as of 12:51, 4 November 2013