Skip to content

Commit d2c3ec8

Browse files
committed
Audio
1 parent 2116305 commit d2c3ec8

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2738,10 +2738,10 @@ def read_wav_file(filename):
27382738
an_int = int.from_bytes(a_bytes, 'little', signed=width!=1)
27392739
return an_int - 128 * (width == 1)
27402740
with wave.open(filename, 'rb') as file:
2741-
frames = file.readframes(file.getnframes())
27422741
width = file.getsampwidth()
2743-
samples = (frames[i: i + width] for i in range(0, len(frames), width))
2744-
return [get_int(a) / pow(2, width * 8 - 1) for a in samples]
2742+
frames = file.readframes(file.getnframes())
2743+
byte_samples = (frames[i: i + width] for i in range(0, len(frames), width))
2744+
return [get_int(b) / pow(2, width * 8 - 1) for b in byte_samples]
27452745
```
27462746

27472747
### Write Float Samples to WAV File
@@ -2756,7 +2756,7 @@ def write_to_wav_file(filename, float_samples, nchannels=1, sampwidth=2, framera
27562756
file.setnchannels(nchannels)
27572757
file.setsampwidth(sampwidth)
27582758
file.setframerate(framerate)
2759-
file.writeframes(b''.join(get_bytes(a) for a in float_samples))
2759+
file.writeframes(b''.join(get_bytes(f) for f in float_samples))
27602760
```
27612761

27622762
### Examples
@@ -2771,7 +2771,7 @@ write_to_wav_file('test.wav', frames_f)
27712771
```python
27722772
from random import random
27732773
add_noise = lambda value: value + (random() - 0.5) * 0.03
2774-
frames_f = (add_noise(a) for a in read_wav_file('test.wav'))
2774+
frames_f = (add_noise(f) for f in read_wav_file('test.wav'))
27752775
write_to_wav_file('test.wav', frames_f)
27762776
```
27772777

index.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2331,10 +2331,10 @@
23312331
an_int = int.from_bytes(a_bytes, <span class="hljs-string">'little'</span>, signed=width!=<span class="hljs-number">1</span>)
23322332
<span class="hljs-keyword">return</span> an_int - <span class="hljs-number">128</span> * (width == <span class="hljs-number">1</span>)
23332333
<span class="hljs-keyword">with</span> wave.open(filename, <span class="hljs-string">'rb'</span>) <span class="hljs-keyword">as</span> file:
2334-
frames = file.readframes(file.getnframes())
23352334
width = file.getsampwidth()
2336-
samples = (frames[i: i + width] <span class="hljs-keyword">for</span> i <span class="hljs-keyword">in</span> range(<span class="hljs-number">0</span>, len(frames), width))
2337-
<span class="hljs-keyword">return</span> [get_int(a) / pow(<span class="hljs-number">2</span>, width * <span class="hljs-number">8</span> - <span class="hljs-number">1</span>) <span class="hljs-keyword">for</span> a <span class="hljs-keyword">in</span> samples]
2335+
frames = file.readframes(file.getnframes())
2336+
byte_samples = (frames[i: i + width] <span class="hljs-keyword">for</span> i <span class="hljs-keyword">in</span> range(<span class="hljs-number">0</span>, len(frames), width))
2337+
<span class="hljs-keyword">return</span> [get_int(b) / pow(<span class="hljs-number">2</span>, width * <span class="hljs-number">8</span> - <span class="hljs-number">1</span>) <span class="hljs-keyword">for</span> b <span class="hljs-keyword">in</span> byte_samples]
23382338
</code></pre></div>
23392339

23402340
<div><h3 id="writefloatsamplestowavfile">Write Float Samples to WAV File</h3><pre><code class="python language-python hljs"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">write_to_wav_file</span><span class="hljs-params">(filename, float_samples, nchannels=<span class="hljs-number">1</span>, sampwidth=<span class="hljs-number">2</span>, framerate=<span class="hljs-number">44100</span>)</span>:</span>
@@ -2347,7 +2347,7 @@
23472347
file.setnchannels(nchannels)
23482348
file.setsampwidth(sampwidth)
23492349
file.setframerate(framerate)
2350-
file.writeframes(<span class="hljs-string">b''</span>.join(get_bytes(a) <span class="hljs-keyword">for</span> a <span class="hljs-keyword">in</span> float_samples))
2350+
file.writeframes(<span class="hljs-string">b''</span>.join(get_bytes(f) <span class="hljs-keyword">for</span> f <span class="hljs-keyword">in</span> float_samples))
23512351
</code></pre></div>
23522352

23532353
<div><h3 id="examples-1">Examples</h3><div><h4 id="savesasinewavetoamonowavfile">Saves a sine wave to a mono WAV file:</h4><pre><code class="python language-python hljs"><span class="hljs-keyword">from</span> math <span class="hljs-keyword">import</span> pi, sin
@@ -2358,7 +2358,7 @@
23582358

23592359
<div><h4 id="addsnoisetoamonowavfile">Adds noise to a mono WAV file:</h4><pre><code class="python language-python hljs"><span class="hljs-keyword">from</span> random <span class="hljs-keyword">import</span> random
23602360
add_noise = <span class="hljs-keyword">lambda</span> value: value + (random() - <span class="hljs-number">0.5</span>) * <span class="hljs-number">0.03</span>
2361-
frames_f = (add_noise(a) <span class="hljs-keyword">for</span> a <span class="hljs-keyword">in</span> read_wav_file(<span class="hljs-string">'test.wav'</span>))
2361+
frames_f = (add_noise(f) <span class="hljs-keyword">for</span> f <span class="hljs-keyword">in</span> read_wav_file(<span class="hljs-string">'test.wav'</span>))
23622362
write_to_wav_file(<span class="hljs-string">'test.wav'</span>, frames_f)
23632363
</code></pre></div>
23642364

0 commit comments

Comments
 (0)