阅读(1.9k) 书签 (0)

AI人工智能 生成单调音频信号

2020-09-24 13:47 更新

到目前为止你所看到的两个步骤对于了解信号很重要。 现在,如果要使用某些预定义参数生成音频信号,此步骤将很有用。 请注意,此步骤会将音频信号保存在输出文件中。

示例

在下面的例子中,我们将使用 Python 生成一个单调信号,它将被存储在一个文件中。需要采取以下步骤 -

导入必要的软件包 -

import numpy as np
import matplotlib.pyplot as plt
from scipy.io.wavfile import write

指定输出保存的文件 -

output_file = 'audio_signal_generated.wav'

现在,指定选择的参数,如图所示 -

duration = 4 # in seconds
frequency_sampling = 44100 # in Hz
frequency_tone = 784
min_val = -4 * np.pi
max_val = 4 * np.pi

在这一步中,我们可以生成音频信号,如下代码所示 -

t = np.linspace(min_val, max_val, duration * frequency_sampling)
audio_signal = np.sin(2 * np.pi * tone_freq * t)

现在,将音频文件保存在输出文件中 -

write(output_file, frequency_sampling, signal_scaled)

如图所示,提取图形的前100个值 -

audio_signal = audio_signal[:100]
time_axis = 1000 * np.arange(0, len(signal), 1) / float(sampling_freq)

现在,将生成的音频信号可视化如下 -

plt.plot(time_axis, signal, color='blue')
plt.xlabel('Time in milliseconds')
plt.ylabel('Amplitude')
plt.title('Generated audio signal')
plt.show()

可以观察这里给出的图形 -

img