Pergunta

In short words I am looking for a .NET translation of JFugue.

Update
I realize that there is no real .NET alternative for JFugue, the posts bellow are always great as a guideline for one who wants to develop it by his own.
Thanks for all of you.

Note: I want to emphsize that my search is on the transcription part, not the playing part, in other words, I am looking for a .NET engine that has MIDI-mapping classes etc.

NAudio seems to be the hottest alternative so far.

Foi útil?

Solução

Checkout NAudio by Mark Heath, a great .NET music library I would say it should be contained in the BCL.

logo http://code.google.com/p/midi-dot-net/logo?cct=1259803335 midi-dot-net
Another great C# project by Tom Lokovic.

Outras dicas

Carl Franklin the host of dotnet rocks has done some work with this, if you look at his code samples it may help: http://www.franklins.net/dotnet.aspx.

He also did a screen cast on Midi routers.

Hope this helps

Don't know if this will help or not: http://www.c-sharpcorner.com/UploadFile/mgold/SheetMusicRecorder09242005060541AM/SheetMusicRecorder.aspx

its a musical keyboard, but you should be able to reverse engineer the source code and adapt it to suit what you are trying to do.

I've used Midi Toolkit before as a starting point, perhaps you find it useful.

BTW, JFugue is not only a library, but also a syntax. I'm working on porting it to Ruby, and it'd be nice if someone (you, maybe?) port it to .NET =)

DryWetMIDI has MIDI based music programming capabilities. There is no sound generation there, only composing API allowing to create MIDI files. A quick example:

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");

As you can see it is not a replacement of JFugue at now since there is no special syntax here, just .NET API.

Well, not just like JFugue but I've used the BASS library for .Net. You can find the library at the un4seen web

It has audio control and midi thru plugins. Hope it helps.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top