|
@ -2320,12 +2320,14 @@ framerate = <Wave_read>.getframerate() <span class="hljs-comment" |
|
|
nchannels = <Wave_read>.getnchannels() <span class="hljs-comment"># Number of samples per frame.</span> |
|
|
nchannels = <Wave_read>.getnchannels() <span class="hljs-comment"># Number of samples per frame.</span> |
|
|
sampwidth = <Wave_read>.getsampwidth() <span class="hljs-comment"># Sample size in bytes.</span> |
|
|
sampwidth = <Wave_read>.getsampwidth() <span class="hljs-comment"># Sample size in bytes.</span> |
|
|
nframes = <Wave_read>.getnframes() <span class="hljs-comment"># Number of frames.</span> |
|
|
nframes = <Wave_read>.getnframes() <span class="hljs-comment"># Number of frames.</span> |
|
|
|
|
|
<params> = <Wave_read>.getparams() <span class="hljs-comment"># Immutable collection of above.</span> |
|
|
<bytes> = <Wave_read>.readframes(nframes) <span class="hljs-comment"># Returns next 'nframes' frames.</span> |
|
|
<bytes> = <Wave_read>.readframes(nframes) <span class="hljs-comment"># Returns next 'nframes' frames.</span> |
|
|
</code></pre> |
|
|
</code></pre> |
|
|
<pre><code class="python language-python hljs"><Wave_write> = wave.open(<span class="hljs-string">'<path>'</span>, <span class="hljs-string">'wb'</span>) |
|
|
<pre><code class="python language-python hljs"><Wave_write> = wave.open(<span class="hljs-string">'<path>'</span>, <span class="hljs-string">'wb'</span>) |
|
|
<Wave_write>.setframerate(<int>) <span class="hljs-comment"># 44100 for CD, 48000 for video.</span> |
|
|
<Wave_write>.setframerate(<int>) <span class="hljs-comment"># 44100 for CD, 48000 for video.</span> |
|
|
<Wave_write>.setnchannels(<int>) <span class="hljs-comment"># 1 for mono, 2 for stereo.</span> |
|
|
<Wave_write>.setnchannels(<int>) <span class="hljs-comment"># 1 for mono, 2 for stereo.</span> |
|
|
<Wave_write>.setsampwidth(<int>) <span class="hljs-comment"># 2 for CD quality sound.</span> |
|
|
<Wave_write>.setsampwidth(<int>) <span class="hljs-comment"># 2 for CD quality sound.</span> |
|
|
|
|
|
<Wave_write>.setparams(<params>) <span class="hljs-comment"># Sets all parameters.</span> |
|
|
<Wave_write>.writeframes(<bytes>) <span class="hljs-comment"># Appends frames to file.</span> |
|
|
<Wave_write>.writeframes(<bytes>) <span class="hljs-comment"># Appends frames to file.</span> |
|
|
</code></pre> |
|
|
</code></pre> |
|
|
<ul> |
|
|
<ul> |
|
@ -2381,6 +2383,21 @@ samples_f = (add_noise(f) <span class="hljs-keyword">for</span> f <span class="h |
|
|
write_to_wav_file(<span class="hljs-string">'test.wav'</span>, samples_f) |
|
|
write_to_wav_file(<span class="hljs-string">'test.wav'</span>, samples_f) |
|
|
</code></pre></div> |
|
|
</code></pre></div> |
|
|
|
|
|
|
|
|
|
|
|
<div><h4 id="playsawavfile">Plays a WAV file:</h4><pre><code class="python language-python hljs"><span class="hljs-comment"># $ pip3 install simpleaudio</span> |
|
|
|
|
|
<span class="hljs-keyword">import</span> wave, simpleaudio |
|
|
|
|
|
<span class="hljs-keyword">with</span> wave.open(<span class="hljs-string">'test.wav'</span>, <span class="hljs-string">'rb'</span>) <span class="hljs-keyword">as</span> file: |
|
|
|
|
|
p = file.getparams() |
|
|
|
|
|
frames = file.readframes(p.nframes) |
|
|
|
|
|
simpleaudio.play_buffer(frames, p.nchannels, p.sampwidth, p.framerate) |
|
|
|
|
|
</code></pre></div> |
|
|
|
|
|
|
|
|
|
|
|
<div><h3 id="texttospeech">Text to Speech</h3><pre><code class="python language-python hljs"><span class="hljs-comment"># $ pip3 install pyttsx3</span> |
|
|
|
|
|
<span class="hljs-keyword">import</span> pyttsx3 |
|
|
|
|
|
engine = pyttsx3.init() |
|
|
|
|
|
engine.say(<span class="hljs-string">'Sally sells seashells by the seashore.'</span>) |
|
|
|
|
|
engine.runAndWait() |
|
|
|
|
|
</code></pre></div> |
|
|
|
|
|
|
|
|
<div><h2 id="synthesizer"><a href="#synthesizer" name="synthesizer">#</a>Synthesizer</h2><div><h4 id="playspopcornbygershonkingsley">Plays Popcorn by Gershon Kingsley:</h4><pre><code class="python language-python hljs"><span class="hljs-comment"># $ pip3 install simpleaudio</span> |
|
|
<div><h2 id="synthesizer"><a href="#synthesizer" name="synthesizer">#</a>Synthesizer</h2><div><h4 id="playspopcornbygershonkingsley">Plays Popcorn by Gershon Kingsley:</h4><pre><code class="python language-python hljs"><span class="hljs-comment"># $ pip3 install simpleaudio</span> |
|
|
<span class="hljs-keyword">import</span> simpleaudio, math, struct |
|
|
<span class="hljs-keyword">import</span> simpleaudio, math, struct |
|
|
<span class="hljs-keyword">from</span> itertools <span class="hljs-keyword">import</span> chain, repeat |
|
|
<span class="hljs-keyword">from</span> itertools <span class="hljs-keyword">import</span> chain, repeat |
|
|
xxxxxxxxxx