API .NET pour la programmation musicale? [fermé]
Question
En bref mots Je cherche une traduction .NET de JFugue .
Mise à jour
Je me rends compte qu'il n'y a pas de véritable alternative .NET pour JFugue, les messages ci-dessous sont toujours très comme ligne directrice pour celui qui veut développer son propre.
Merci pour tous.
Note: Je veux emphsize que ma recherche est de la part de la transcription, pas la partie de jeu, autrement dit, je suis à la recherche d'un moteur .NET qui a des classes MIDI-mapping etc
.NAudio semble être la plus chaude alternatives à ce jour.
La solution
NAudio par Mark Heath , une grande bibliothèque musicale .NET Je dirais que ce devrait être contenu dans la BCL.
logo http://code.google.com/ p / midi-dot-net logo /? = 1259803335 cct Midi- dot-net
Un autre grand projet C # par Tom Lokovic.
Autres conseils
Carl Franklin l'hôte de roches dotnet a fait un travail avec cela, si vous regardez ses exemples de code, il peut aider à: http://www.franklins.net/dotnet.aspx .
Il a également fait un sur les routeurs Midi .
Hope this helps
Je ne sais pas si cela aide ou non: http: //www.c-sharpcorner.com/UploadFile/mgold/SheetMusicRecorder09242005060541AM/SheetMusicRecorder.aspx
est un clavier musical, mais vous devriez être en mesure d'ingénierie inverse du code source et l'adapter à ce que vous essayez de faire.
Je l'ai utilisé Midi Toolkit avant comme point de départ , peut-être qu'elle vous sera utile.
BTW, JFugue est non seulement une bibliothèque, mais aussi une syntaxe. Je travaille sur le portage à Ruby, et ce serait bien si quelqu'un (vous, peut-être?) Le port à .NET =)
DryWetMIDI a des capacités de programmation musicale basée MIDI. Il n'y a pas de génération sonore là, seule API composant permettant de créer des fichiers MIDI. Un exemple rapide:
Pattern pattern = new PatternBuilder()
// Insert a pause of 5 seconds
.StepForward(new MetricTimeSpan(0, 0, 5))
// Insert an eighth C# note of the 4th octave
.Note(Octave.Get(4).CSharp, MusicalTimeSpan.Eighth)
// Set default note length to triplet eighth and default octave to 5
.SetNoteLength(MusicalTimeSpan.Eighth.Triplet())
.SetOctave(5)
// Now we can add triplet eighth notes of the 5th octave in a simple way
.Note(NoteName.A)
.Note(NoteName.B)
.Note(NoteName.GSharp)
// Get pattern
.Build();
// Now we can export pattern to MIDI file
MidiFile midiFile = pattern.ToFile(TempoMap.Default);
midiFile.Write("My Great Song.mid");
Comme vous pouvez le voir, il est pas un remplacement de JFugue à présent car il n'y a pas de syntaxe particulière ici, juste API .NET.