Generates a simple valid WAV file (a 440Hz sine wave).
(filename: str)
| 27 | |
| 28 | |
| 29 | def generate_wav(filename: str): |
| 30 | """Generates a simple valid WAV file (a 440Hz sine wave).""" |
| 31 | sample_rate = 44100.0 |
| 32 | duration = 1.0 # seconds |
| 33 | frequency = 440.0 # sine wave frequency (A4) |
| 34 | num_samples = int(sample_rate * duration) |
| 35 | |
| 36 | with wave.open(filename, "w") as wav_file: |
| 37 | wav_file.setnchannels(1) |
| 38 | wav_file.setsampwidth(2) |
| 39 | wav_file.setframerate(int(sample_rate)) |
| 40 | for i in range(num_samples): |
| 41 | value = int( |
| 42 | 32767.0 * math.sin(2.0 * math.pi * frequency * i / sample_rate) |
| 43 | ) |
| 44 | wav_file.writeframes(struct.pack("<h", value)) |
| 45 | |
| 46 | |
| 47 | def generate_bmp(filename: str): |
no test coverage detected