{"id":47004668,"url":"https://github.com/simonmaracine/alfred","last_synced_at":"2026-03-11T20:00:56.667Z","repository":{"id":336866453,"uuid":"1123860647","full_name":"SimonMaracine/alfred","owner":"SimonMaracine","description":"Free and open source cross-platform synthesizer and sequencer program","archived":false,"fork":false,"pushed_at":"2026-03-10T22:30:17.000Z","size":5789,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-10T23:07:51.850Z","etag":null,"topics":["audio","cpp","music","synthesis"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SimonMaracine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-27T19:33:58.000Z","updated_at":"2026-03-10T22:30:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/SimonMaracine/alfred","commit_stats":null,"previous_names":["simonmaracine/alfred"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SimonMaracine/alfred","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonMaracine%2Falfred","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonMaracine%2Falfred/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonMaracine%2Falfred/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonMaracine%2Falfred/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimonMaracine","download_url":"https://codeload.github.com/SimonMaracine/alfred/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonMaracine%2Falfred/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30398154,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T18:46:22.935Z","status":"ssl_error","status_checked_at":"2026-03-11T18:46:17.045Z","response_time":84,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","cpp","music","synthesis"],"created_at":"2026-03-11T20:00:50.424Z","updated_at":"2026-03-11T20:00:56.661Z","avatar_url":"https://github.com/SimonMaracine.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Alfred\n\nA free and open source cross-platform synthesizer and sequencer program.\n\nIt comprises a digital multi-timbral synthesizer using additive and wavetable methods, and an interface to compose and play music.\n\nIt is same instrument + pitch monophonic, otherwise it supports up to twelve voices simultaneously.\n\nThe synthesized sounds are meant to be *suggestions* and *hints*, rather than realistic emulations.\n\nI built this program for myself, as a reason to try out the art of music composition. Of course, MuseScore already exists, but isn't it nice to make your own tooling?\n\nRead the manual [here](MANUAL.md).\n\n![Alfred](gfx/mascot/alfred.png)\n\nAlfred is split into two:\n\n- A synthesizer library worrying about synthesis-related things almost exclusively\n- A sequencer GUI application which enables playing notes and music, and which loosely models some sheet music concepts\n\nCurrently, Alfred is in its infancy, so its current instruments are not well-made, and it is still missing some important features, which will probably be addressed with time:\n\n- Plugins which dynamically add compiled instruments/presets\n- A graphical way to create, store and load runtime instruments/presets\n- Support for MIDI keyboard controllers\n- Presenting errors nicely instead of just silently logging them\n\nAlfred works with 16-bit samples, one channel, and frequency 44100 Hz.\n\nThe `main` branch is used for development, containing the newest bug fixes and features, while the `release` branch always points to a commit corresponding to a release.\n\n![Screenshot](gfx/screenshots/1.png)\n\n## Building, Installing and Packaging\n\nAlfred was at least built and tested on:\n\n- Fedora Linux 43, GNOME 49, Wayland, PipeWire, GCC 15.2, CMake 3.31\n- Ubuntu 25.04, GNOME 48, Wayland (Xwayland), PipeWire, GCC 14.2, CMake 3.31\n- Windows 11 25H2, WASAPI, MSVC 19.50, CMake 4.3\n\nAdditionally, it was at least tested on:\n\n- Linux Mint 22.3, Cinnamon 6.6, X11, PipeWire\n\nAlfred is solely 64-bit software.\n\nBuild in distribution/release mode for the best audio experience! Compiled without optimizations, due to low performance, the audio output can sometimes sound glitchy and bad!\n\n**Distribution** mode means compiling without assertions, without additional debug code and generally for system integration. It differs from release mode, which merely means compiling with optimization flags. Thus it is technically possible to build Alfred for distribution without optimizations and to build Alfred for development with optimizations enabled.\n\n### Requirements\n\n- Git\n- CMake\n- GCC or MSVC with C++23 support\n- Python\n- NSIS (Windows only)\n- SDL dependencies packages - video, audio etc. libraries (Linux only)\n\n### Download\n\n```txt\ngit clone https://github.com/SimonMaracine/alfred\ngit submodule update --init\n```\n\n### Build (Distribution)\n\nSee the available presets:\n\n```txt\ncmake --list-presets\ncmake --list-presets=build\n```\n\n#### Linux\n\n```txt\ncmake --preset conf-dist-nix\ncmake --build --preset build-dist-nix\n```\n\n#### Windows\n\n```txt\ncmake --preset conf-dist-win\ncmake --build --preset build-dist-win\n```\n\n### Install\n\n#### Linux\n\n```txt\ncmake --build --preset build-dist-nix --target install\n```\n\n#### Windows\n\n```txt\ncmake --build --preset build-dist-win --target install\n```\n\n### Package\n\n#### Linux\n\n```txt\ncmake --preset conf-dist-nix\ncmake --build --preset build-dist-nix --target package_source\n\ncmake --preset conf-dist-nix-rpm\ncmake --build --preset build-dist-nix --target package\n\ncmake --preset conf-dist-nix-deb\ncmake --build --preset build-dist-nix --target package\n```\n\n#### Windows\n\n```txt\ncmake --preset conf-dist-win\ncmake --build --preset build-dist-win --target package_source\n\ncmake --preset conf-dist-win\ncmake --build --preset build-dist-win --target package\n```\n\n## Dependencies\n\n- [SDL](https://github.com/libsdl-org/SDL)\n- [Dear ImGui](https://github.com/ocornut/imgui)\n- [Cereal](https://github.com/USCiLab/cereal)\n- [FFTW](https://www.fftw.org/)\n\nThe licenses can be found in their respective directories.\n\n## Material and Acknowledgements\n\n- PadSynth algorithm by Paul Nașca\n- Sound Synthesis and Sampling Second Edition by Martin Russ\n- THE COMPLETE SYNTHESIZER: A Comprehensive Guide by David Crombie\n- Code-It-Yourself! Sound Synthesizer by javidx9\n\nI give my thanks to my friend Tudor for sharing his knowledge of signal processing with me.\n\n## Credits\n\nOne of the test compositions is the first section only from [I Secretly Love You](https://www.youtube.com/watch?v=7gYG95NG1YA) by Yuang Chen (Seycara Orchestral).\n\n---\n\nThis software, even though it's free and open source, is not meant to be consumed for LLM training!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonmaracine%2Falfred","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonmaracine%2Falfred","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonmaracine%2Falfred/lists"}