Bu proje, bir müzik parçasını Spleeter kullanarak enstrüman ve vokal bileşenlerine ayırır. Ayrıştırılan ses bileşenleri Librosa ile analiz edilir ve Matplotlib kullanılarak görselleştirilir.
- Spleeter ile müzik dosyasını vokal ve enstrümantal parçalara ayırma
- Librosa ile ses sinyali analizi (zaman, frekans ve spektral analiz)
- Matplotlib ile ses dalga formlarını, spektrumları ve pitch grafiğini görselleştirme
- Kullanıcıdan enstrüman seçimi yapmasını isteyen interaktif terminal arayüzü
Bu projede, belirli müzik veri setleri kullanılmıştır. Eğer kendi veri setinizi kullanmak isterseniz, .wav formatında dosyaları music_dataset/ klasörüne yerleştirebilirsiniz.
Eğer veri setini paylaşmak isterseniz, büyük dosyalar için Google Drive, Kaggle veya Zenodo gibi platformlara yükleyerek bağlantıyı burada belirtebilirsiniz.
Projeyi çalıştırmak için aşağıdaki adımları takip edebilirsiniz:
pip install spleeter librosa matplotlib numpyspleeter separate -i example.mp3 -o output/ -p spleeter:2stemspython main.py- Terminalde çalıştırdıktan sonra, size müzik veri setinizdeki enstrümanları listeleyen bir seçenek sunulacaktır.
- Bir enstrüman seçtiğinizde, bu enstrümana ait ilk
.wavdosyası işlenecektir. - Spleeter, ses dosyasını vokal ve arka plan olarak ikiye ayıracaktır.
- Librosa ile ayrıştırılan sesler analiz edilecek ve Matplotlib ile görselleştirilecektir.
- Ayrıştırılan ses bileşenleri
output/klasörüne kaydedilecektir.
Proje, ses sinyallerini analiz etmek için çeşitli grafikler üretir:
- Dalga formu (Waveform): Sesin zaman içindeki değişimi
- Mel Spektrogramı: Frekansların zaman içinde nasıl değiştiğini gösterir
- Fourier Dönüşümü: Frekans spektrumlarını çıkarır
- Zaman Zarfı (Envelope): Sesin dinamiklerini görselleştirir
- Pitch Grafiği: Vokal ve enstrüman sesinin temel frekanslarını belirler
- Daha fazla enstrüman ayrıştırma (Spleeter:4stems veya 5stems modeli kullanılarak)
- Gerçek zamanlı analiz ve canlı grafik gösterimi
- Kullanıcı dostu bir GUI arayüzü ekleme
Eğer bu projeye katkıda bulunmak isterseniz:
- Projeyi fork edin.
- Yeni bir branch oluşturun:
git checkout -b yeni-ozellik - Değişikliklerinizi ekleyin ve commit yapın:
git commit -m 'Yeni özellik eklendi' - GitHub üzerinden bir pull request oluşturun.
Bu proje MIT Lisansı ile lisanslanmıştır. Daha fazla bilgi için LICENSE dosyasına göz atabilirsiniz.
🎼 Bu proje hakkında geri bildirim veya önerileriniz varsa, lütfen GitHub üzerinden paylaşın! 🚀