{"id":13729223,"url":"https://github.com/Emmet-Hayes/BatSynth","last_synced_at":"2025-05-08T01:31:59.512Z","repository":{"id":111703216,"uuid":"206130607","full_name":"Emmet-Hayes/BatSynth","owner":"Emmet-Hayes","description":"A polyphonic synthesizer with two oscillators implemented in C++ (with JUCE) ","archived":false,"fork":false,"pushed_at":"2023-09-10T04:39:44.000Z","size":325651,"stargazers_count":13,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-04T02:08:34.155Z","etag":null,"topics":["audio","cplusplus","cpp","juce","juce-framework","synthesizer"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Emmet-Hayes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-09-03T17:10:03.000Z","updated_at":"2024-05-03T15:02:26.000Z","dependencies_parsed_at":"2024-04-23T03:41:39.886Z","dependency_job_id":null,"html_url":"https://github.com/Emmet-Hayes/BatSynth","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Emmet-Hayes%2FBatSynth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Emmet-Hayes%2FBatSynth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Emmet-Hayes%2FBatSynth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Emmet-Hayes%2FBatSynth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Emmet-Hayes","download_url":"https://codeload.github.com/Emmet-Hayes/BatSynth/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224688943,"owners_count":17353288,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","cplusplus","cpp","juce","juce-framework","synthesizer"],"created_at":"2024-08-03T02:00:57.051Z","updated_at":"2024-11-14T20:30:38.333Z","avatar_url":"https://github.com/Emmet-Hayes.png","language":"C++","funding_links":[],"categories":["Instruments"],"sub_categories":[],"readme":"# BatSynth\nA polyphonic synthesizer implemented in C++ (with JUCE).\nAn external midi device (like a usb keyboard) is required to make sounds! \nIf you are running the standalone version, any MIDI devices connected to your computer should be automatically detected thanks to the JUCE audio plugin client and show up in the options menu in the top left corner.\n\nI have recently updated this project to feature color changes across the GUI based on the lowest frequency note being currently played. Each bass frequency from the standard 12-note Western-European equal-temperament system will illuminate the UI in its own unique color. The amplitude of the final signal is furthur expressed visually by the brightness of the outlines around all sliders present in the GUI.\n\nThis synthesizer has two sound oscillators, each with thirteen different wave shapes.\nClick on the label boxes below Osc1 and Osc2 to adjust their current respective oscillator wave shapes. \nThere is also a white noise oscillator that can be attenuated to your liking under the noise label.\n\nThere are Attack, Decay, Sustain, and Release controls that affect the time-based tonality of the synthesizer.\nAttack determines how quickly the oscillator's wave shape reaches full volume\nDecay determines how quickly the oscillator decays to the sustain ratio (relative to full volume)\nSustain determines the ratio to full volume of the sound after the decay time has passed\nRelease determines how quickly the oscillator decays to silence\n\nAfter the ADSR circuit in the signal chain, there is a 12db per octave low pass resonant filter with\na cutoff frequency parameter to determine what audio frequency to begin filtering, and a resonance\ncontrol to determine how resonant the cutoff frequency will be in the final result (be careful!!)\n\n![alt text](Images/BatSynthExampleImage.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEmmet-Hayes%2FBatSynth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEmmet-Hayes%2FBatSynth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEmmet-Hayes%2FBatSynth/lists"}