{"id":16742607,"url":"https://github.com/mchudy/nfugue","last_synced_at":"2025-07-10T16:38:11.207Z","repository":{"id":87747784,"uuid":"65134598","full_name":"mchudy/NFugue","owner":"mchudy","description":"Music programming for .NET - a port of JFugue","archived":false,"fork":false,"pushed_at":"2020-08-12T03:16:29.000Z","size":266,"stargazers_count":18,"open_issues_count":9,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-13T20:34:53.658Z","etag":null,"topics":["audio","csharp","music"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mchudy.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}},"created_at":"2016-08-07T13:27:22.000Z","updated_at":"2023-04-27T20:52:47.000Z","dependencies_parsed_at":"2023-04-23T06:25:23.506Z","dependency_job_id":null,"html_url":"https://github.com/mchudy/NFugue","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/mchudy/NFugue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mchudy%2FNFugue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mchudy%2FNFugue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mchudy%2FNFugue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mchudy%2FNFugue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mchudy","download_url":"https://codeload.github.com/mchudy/NFugue/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mchudy%2FNFugue/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264608262,"owners_count":23636695,"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","csharp","music"],"created_at":"2024-10-13T01:24:21.075Z","updated_at":"2025-07-10T16:38:11.154Z","avatar_url":"https://github.com/mchudy.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NFugue\n\n[![Build status](https://ci.appveyor.com/api/projects/status/u25hrsi0a1d9jecd?svg=true)](https://ci.appveyor.com/project/mchudy/nfugue)\n[![NuGet](https://img.shields.io/nuget/v/NFugue.svg?maxAge=60)](https://www.nuget.org/packages/NFugue/)\n\n.NET port of [JFugue](http://jfugue.org) based on version 5.0.9.\n\nNFugue allows you to create, play and experiment with music programatically. You can easily build music using \nelements like chords, chord progresssions and rhythms which will get transformed to MIDI for you. It also supports \nintegration with some other musical formats like LilyPond or MusicXML.\n\nThe real-time music analysis and playback functionality available in JFugue is not yet implemented. \n\n## Download\nNFugue is available on NuGet:\n```\nPM\u003e Install-Package NFugue\n```\n\n## Getting started\nMusical \"Hello World\" i.e. playing the major scale:\n```csharp\nusing (var player = new Player())\n{\n    player.Play(\"C D E F G A B\");\n}\n```\nMusic in NFugue is generally represented by patterns which can be transformed in various ways, \nfor example to create some twelve-bar blues:\n```csharp\nPattern pattern = new ChordProgression(\"I IV V\")\n    .Distribute(\"7%6\")\n    .AllChordsAs(\"$0 $0 $0 $0 $1 $1 $0 $0 $2 $1 $0 $0\")\n    .EachChordAs(\"$0ia100 $1ia80 $2ia80 $3ia80 $4ia100 $3ia80 $2ia80 $1ia80\")\n    .GetPattern()\n    .SetInstrument(Instrument.AcousticBass)\n    .SetTempo(120);\n```\nFor more examples and a description of the Staccato markup visit [JFugue website](http://jfugue.org/). Most examples should work in NFugue with little or no modifications.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmchudy%2Fnfugue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmchudy%2Fnfugue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmchudy%2Fnfugue/lists"}