Ses kaydının dalgasına göre hayvanlı bir animasyon ekolayzır kodla
Ses kaydının dalgasına göre hayvanlı bir animasyon oluşturmak için Python programlama dilini ve bazı kütüphaneleri kullanabilirsiniz. Aşağıda, pyaudio
ve matplotlib
kütüphanelerini kullanarak ses kaydını dalga formu olarak çizen ve basit bir hayvan animasyonu ekleyen bir örnek kod verilmiştir. Bu örnek, ses kaydını alır ve dalga formunu çizerken, belirli bir frekansa göre bir hayvan animasyonu gösterir.
Öncelikle gerekli kütüphaneleri yüklemeniz gerekiyor:
pip install pyaudio numpy matplotlib
Aşağıdaki kod, ses kaydını alır ve dalga formunu çizerken basit bir hayvan animasyonu ekler:
import numpy as np
import pyaudio
import matplotlib.pyplot as plt
import matplotlib.animation as animation
# Ses kaydı ayarları
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
CHUNK = 1024
# PyAudio nesnesi oluştur
p = pyaudio.PyAudio()
# Ses akışını başlat
stream = p.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True,
frames_per_buffer=CHUNK)
# Animasyon için figür oluştur
fig, ax = plt.subplots()
x = np.arange(0, 2 * CHUNK, 2)
line, = ax.plot(x, np.random.rand(CHUNK), lw=2)
# Hayvan animasyonu için basit bir şekil
animal = plt.Circle((0, 0), 0.1, color='blue')
ax.add_artist(animal)
# Eksen ayarları
ax.set_ylim(-1, 1)
ax.set_xlim(0, 2 * CHUNK)
def update(frame):
# Ses verilerini oku
data = stream.read(CHUNK)
data_int = np.frombuffer(data, dtype=np.int16)
# Dalga formunu güncelle
line.set_ydata(data_int / 32768.0) # Normalize et
# Hayvanın konumunu güncelle
animal.set_center((frame % 200 / 100.0 - 1, data_int.mean() / 32768.0))
return line, animal
# Animasyonu başlat
ani = animation.FuncAnimation(fig, update, frames=np.arange(0, 200), blit=True)
plt.show()
# Akışı durdur ve kapat
stream.stop_stream()
stream.close()
p.terminate()
pyaudio
kütüphanesi kullanılarak ses kaydı yapılır.matplotlib
kullanılarak ses dalga formu çizilir.FuncAnimation
ile animasyon oluşturulur.Bu kodu çalıştırmadan önce, ses kaynağınızın doğru ayarlandığından emin olun. Ayrıca, bu kod sadece basit bir örnektir; daha karmaşık animasyonlar ve hayvanlar için daha fazla grafik ve animasyon kütüphanesi kullanabilirsiniz.