文章目录
audio
- it is simple to install tensorflow as follows:
bash
pip install torch torchvision torchaudio
tf.audio.decode_wav
you can condense a 16-bit PCM WAV file into a float tensor.
python
import tensorflow as tf
# Read the WAV file as a byte string
contents = tf.io.read_file("audio_file.wav")
# Decode the WAV file
audio, sample_rate = tf.audio.decode_wav(contents, desired_channels=1)
print("Audio shape:", audio.shape) # [samples, channels]
print("Sample rate:", sample_rate.numpy()) # e.g., 44100 (Hz)
tf.audio.encode_wav
achive the data Encoding of audio with the WAV file format.
python
import tensorflow as tf
import matplotlib.pyplot as plt
# Generate a simple sine wave (1 second, 440 Hz, mono)
sample_rate = 44100 # 采样率 (44.1 kHz)
frequency = 440.0 # 频率 (440 Hz, A4 音)
duration = 2.0 # 时长 (2 秒)
# 生成时间轴 (0 到 1 秒)
t = tf.linspace(0.0, duration, int(sample_rate * duration))
# 生成 440 Hz 正弦波
audio = tf.sin(2 * 3.141592 * frequency * t)
# 绘制前 5 毫秒的波形(约 2 个周期)
plt.plot(t[:200], audio[:200]) # 44100 Hz / 440 Hz ≈ 100 点/周期
plt.title("440 Hz 正弦波 (采样率 44.1 kHz)")
plt.xlabel("时间 (秒)")
plt.ylabel("振幅")
plt.show()
# Encode to WAV format
audio = tf.expand_dims(audio, axis=-1)
wav_data = tf.audio.encode_wav(audio, sample_rate)
# Save to a file
tf.io.write_file("test.wav", wav_data)
