{"id":16688569,"url":"https://github.com/daveyarwood/alda-clj","last_synced_at":"2025-06-14T11:04:49.813Z","repository":{"id":54437609,"uuid":"161268215","full_name":"daveyarwood/alda-clj","owner":"daveyarwood","description":"A Clojure library for live-coding music with Alda","archived":false,"fork":false,"pushed_at":"2023-03-22T19:08:47.000Z","size":111,"stargazers_count":64,"open_issues_count":2,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-12T19:16:13.774Z","etag":null,"topics":["alda","algorithmic-composition","clojure","live-coding","music","music-composition","music-generation"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daveyarwood.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"daveyarwood"}},"created_at":"2018-12-11T02:55:15.000Z","updated_at":"2025-04-30T22:16:10.000Z","dependencies_parsed_at":"2024-10-27T11:49:24.730Z","dependency_job_id":"0b9fd6e8-e536-438e-897c-a5beb983e6a8","html_url":"https://github.com/daveyarwood/alda-clj","commit_stats":{"total_commits":119,"total_committers":2,"mean_commits":59.5,"dds":0.008403361344537785,"last_synced_commit":"d6c343a00dd66f8639b858a345bb70157045a9be"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/daveyarwood/alda-clj","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daveyarwood%2Falda-clj","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daveyarwood%2Falda-clj/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daveyarwood%2Falda-clj/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daveyarwood%2Falda-clj/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daveyarwood","download_url":"https://codeload.github.com/daveyarwood/alda-clj/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daveyarwood%2Falda-clj/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259804839,"owners_count":22913901,"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":["alda","algorithmic-composition","clojure","live-coding","music","music-composition","music-generation"],"created_at":"2024-10-12T15:44:11.862Z","updated_at":"2025-06-14T11:04:49.789Z","avatar_url":"https://github.com/daveyarwood.png","language":"Clojure","funding_links":["https://github.com/sponsors/daveyarwood"],"categories":[],"sub_categories":[],"readme":"# alda-clj\n\n[![Clojars Project](https://img.shields.io/clojars/v/io.djy/alda-clj.svg)](https://clojars.org/io.djy/alda-clj)\n\n[![cljdoc badge](https://cljdoc.org/badge/io.djy/alda-clj)](https://cljdoc.org/d/io.djy/alda-clj/CURRENT)\n\nalda-clj is a Clojure library for algorithmic music composition and live-coding\nwith [Alda](https://alda.io).\n\nA simple Clojure DSL provides useful functions like `note` and `chord` that can\nbe composed together to create a musical score. The resulting values are\ntranslated into a string of Alda code and played in a subprocess via the `alda`\ncommand line client.\n\nalda-clj is intended to be used in at least two ways:\n\n1. In an **improv / live-coding** setting, using a live Clojure REPL to generate\n   and play music on the fly.\n\n2. In a **music composition** setting, where the composition is a Clojure\n   program / script that uses alda-clj to generate a score.\n\n## Usage\n\n\u003e **NOTE**: alda-clj requires Alda version 2.0.0 or greater.\n\n1. If you haven't already, [install Alda](https://alda.io/install) and make sure\n   `alda` is available on your `PATH`.\n\n  \u003e alda-clj will shell out and use `alda` (wherever it's found on your `PATH`) to\n  \u003e play your scores. If desired, you can specify an alternate `alda` executable\n  \u003e by binding `alda.core/*alda-executable*` to something else, e.g.\n  \u003e `\"/home/dave/Downloads/some-other-alda\"`.\n\n2. Add the latest release version of alda-clj to your dependencies:\n\n  ```clojure\n  ;; deps.edn\n  io.djy/alda-clj {:mvn/version \"X.X.X\"}\n\n  ;; lein/boot\n  [io.djy/alda-clj \"X.X.X\"]\n  ```\n\n3. Require `alda.core` and you're off to the races!\n\n  ```clojure\n  (require '[alda.core :refer :all])\n\n  (play!\n    (part \"piano\")\n    (for [notes [[:c :e :g] [:c :f :a] [:c :e :g]]]\n      (apply chord (map #(note (pitch %)) notes))))\n  ```\n\n## Docs, examples, etc.\n\n[API documentation](https://cljdoc.org/d/io.djy/alda-clj/CURRENT/api/alda), a\n[Getting Started](https://cljdoc.org/d/io.djy/alda-clj/CURRENT/doc/getting-started) guide and\nmore are available at cljdoc.\n\nThere are also [example scripts](examples) in this repo that will give you a\nsense of what you can do with alda-clj.\n\nPing `@dave` on [Slack](https://slack.alda.io) if you have any questions or if\nyou just want to chat about alda-clj!\n\n## License\n\nCopyright © 2018-2023 Dave Yarwood\n\nDistributed under the Eclipse Public License version 2.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaveyarwood%2Falda-clj","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaveyarwood%2Falda-clj","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaveyarwood%2Falda-clj/lists"}