dorukmacdo
Hectopat
- Katılım
- 2 Şubat 2021
- Mesajlar
- 148
- Makaleler
- 2
Daha fazla
- Cinsiyet
- Erkek
Herkese merhaba, Python 3.9 sürümünde bir kod yazdım fakat hata aldım. Yazmaya çalıştım algoritma ses kaydında klaket. WAV dosyasındaki sesi içeriyor ve o sesin hangi saniyede olduğunu bulup yazdırmasını istiyordum ama ne yazık ki hata aldım hata çözebilecek ya da bana yardım edebilecek var mı?
Kod:
Hata:
Kod:
Python:
import numpy as np
import soundfile as sf
def find_klaket_time(audio_file, klaket_file, threshold=0.1):
# Ses kaydını yükle
audio_data, sample_rate_audio = sf.read(audio_file)
# Klaket sesini yükle
klaket_data, sample_rate_klaket = sf.read(klaket_file)
# Örnekleme hızlarını eşitle (farklı hızda ise)
if sample_rate_audio != sample_rate_klaket:
raise ValueError("Ses kaydı ve klaket sesi dosyalarının örnekleme hızları aynı olmalı.")
# Klaket sesi ve ses kaydı arasındaki benzerliği bul
correlation = np.correlate(audio_data, klaket_data, mode='same')
# Eşik değeriyle karşılaştırarak klaket sesinin zamanını bul
klaket_time_index = np.argmax(correlation > threshold)
klaket_time = klaket_time_index / sample_rate_audio
return klaket_time
# Ses kaydı dosyası ve klaket sesi dosyası
audio_file = "ses_kaydi.wav"
klaket_file = "klaket.wav"
try:
# Klaket sesinin zamanını bul
klaket_time = find_klaket_time(audio_file, klaket_file)
print(f"Klaket sesi {klaket_time:.2f} saniyede çaldı.")
except ValueError as e:
print("Hata:", e)
Hata:
Kod:
Hata: object too deep for desired array