Skip to content

fajarjulyana/ThreeOscSynth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ThreeOscSynth

ThreeOscSynth adalah proyek instrumen virtual (VST3/AU) berbasis framework JUCE yang mengimplementasikan arsitektur subtractive synthesis sederhana dengan tiga oscillator independen. Proyek ini merupakan purwarupa pertama untuk pembelajaran Digital Signal Processing (DSP).

🚀 Fitur Utama

  • Triple Oscillator Engine: Menggunakan tiga oscillator yang dapat dikonfigurasi secara terpisah.
  • Switchable Waveforms: Mendukung tiga tipe gelombang dasar:
    • Sine: Untuk suara yang bersih dan lembut.
    • Square: Untuk karakter suara yang tegas dan harmonik kaya.
    • Triangle: Keseimbangan antara kelembutan sine dan tekstur square.
  • APVTS Integration: Menggunakan AudioProcessorValueTreeState untuk manajemen parameter yang thread-safe dan mendukung otomatisasi (automation) di dalam DAW.
  • State Management: Mendukung penyimpanan dan pemuatan konfigurasi (preset) melalui XML binary.

🏗️ Struktur Kode

Berdasarkan PluginProcessor.cpp, proyek ini memiliki komponen inti sebagai berikut:

  • createParameters(): Menginisialisasi parameter kontrol untuk ketiga oscillator (Osc 1, Osc 2, Osc 3).
  • processBlock(): Jantung dari pemrosesan audio di mana sinyal MIDI diproses dan tipe gelombang diperbarui secara real-time sebelum dirender oleh engine synthesizer.
  • SynthVoice & SynthSound: Kelas turunan JUCE yang menangani logika polifoni dan pembangkitan sinyal suara.

🛠️ Prasyarat Teknis

Untuk membangun (build) proyek ini, Anda memerlukan:

  1. JUCE Framework (Versi 6.x atau terbaru).
  2. C++ Compiler:
    • Visual Studio (Windows)
    • Xcode (macOS)
    • Make/GCC (Linux)
  3. Projucer: Untuk mengatur konfigurasi modul dan mengekspor proyek ke IDE pilihan Anda.

📥 Cara Instalasi & Build

  1. Clone repositori ini:
    git clone http://fj-server.local:9000/fajarjulyana/ThreeOscSynth.git
  2. Buka file .jucer di dalam aplikasi Projucer.
  3. Pastikan modul juce_audio_processors, juce_audio_utils, dan juce_data_structures sudah terpasang.
  4. Pilih exporter yang sesuai dengan OS Anda (misal: Visual Studio 2022 atau Xcode).
  5. Klik "Save and Open in IDE".
  6. Build proyek di dalam IDE sebagai VST3 atau Standalone Application.

🎹 Cara Penggunaan

  1. Buka ThreeOscSynth di DAW pilihan Anda atau jalankan versi Standalone.
  2. Gunakan kontrol dropdown untuk memilih tipe gelombang pada Oscillator 1, 2, atau 3.
  3. Mainkan melalui keyboard MIDI atau virtual keyboard.
  4. Otomatisasi parameter osc1Type, osc2Type, dan osc3Type langsung melalui track DAW Anda.

📝 Catatan Pengembangan

Proyek ini masih dalam tahap pengembangan awal. Rencana pengembangan selanjutnya mencakup:

  • Penambahan ADSR Envelope.
  • Filter LPF/HPF.
  • Interface Grafis (GUI) yang lebih interaktif di PluginEditor.cpp.

Lisensi: MIT[LICENSE]

About

proyek instrumen virtual (VST3/AU) berbasis framework **JUCE** yang mengimplementasikan arsitektur *subtractive synthesis* sederhana dengan tiga oscillator independen. Proyek ini merupakan purwarupa pertama untuk pembelajaran Digital Signal Processing (DSP).

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors