用于MIDI输入/输出的Delphi库?
什么是适合MIDI输入/输出的优秀Delphi库 我使用.NET包装器非常成功,而且也有可用的。你确定你真的需要第三方库吗?如果您的需求是基本的,那么Windows API就是您所需要的全部(用于MIDI输入/输出的Delphi库?,delphi,midi,Delphi,Midi,什么是适合MIDI输入/输出的优秀Delphi库 我使用.NET包装器非常成功,而且也有可用的。你确定你真的需要第三方库吗?如果您的需求是基本的,那么Windows API就是您所需要的全部(使用MMSystem) 仪器在哪里 type TMIDIInstrument = (midiAcousticGrandPiano, midiBrightAcousticPiano, midiElectricGrandPiano, midiHonkyTonkPia
使用MMSystem
)
仪器在哪里
type
TMIDIInstrument = (midiAcousticGrandPiano, midiBrightAcousticPiano,
midiElectricGrandPiano, midiHonkyTonkPiano,
midiRhodesPiano, midiChorusedPiano, midiHarpsichord,
midiClavinet, midiCelesta, midiGlockenspiel,
midiMusicBox, midiVibraphone, midiMarimba, midiXylophone,
midiTubularBells, midiDulcimer, midiHammondOrgan,
midiPercussiveOrgan, midiRockOrgan, midiChurchOrgan,
midiReedOrgan, midiAccordion, midiHarmonica,
midiTangoAccordion, midiAcousticGuitarNylon,
midiAcousticGuitarSteel, midiElectricGuitarJazz,
midiElectricGuitarClean, midiElectricGuitarMuted,
midiOverdrivenGuitar, midiDistortionGuitar,
midiGuitarHarmonics, midiAcousticBass, midiElectricBassFinger,
midiElectricBassPick, midiFretlessBass, midiSlapBass1,
midiSlapBass2, midiSynthBass1, midiSynthBass2, midiViolin,
midiViola, midiCello, midiContrabass, midiTremoloStrings,
midiPizzicatoStrings, midiOrchestralHarp, midiTimpani,
midiStringEnsemble1, midiStringEnsemble2, midiSynthStrings1,
midiSynthStrings2, midiChoirAahs, midiVoiceOohs,
midiSynthVoice, midiOrchestraHit, midiTrumpet, midiTrombone,
midiTuba, midiMutedTrumpet, midiFrenchHorn, midiBrassSection,
midiSynthBrass1, midiSynthBrass2, midiSopranoSax, midiAltoSax,
midiTenorSax, midiBaritoneSax, midiOboe, midiEnglishHorn,
midiBassoon, midiClarinet, midiPiccolo, midiFlute,
midiRecorder, midiPanFlute, midiBottleBlow, midiShakuhachi,
midiWhistle, midiOcarina, midiLead1Square,
midiLead2Sawtooth, midiLead3CalliopeLead, midiLead4ChiffLead,
midiLead5Charang, midiLead6Voice, midiLead7Fifths,
midiLead8BrassLead, midiPad1NewAge, midiPad2Warm,
midiPad3Polysynth, midiPad4Choir, midiPad5Bowed,
midiPad6Metallic, midiPad7Halo, midiPad8Sweep, midiEmpty0,
midiEmpty1, midiEmpty2, midiEmpty3, midiEmpty4, midiEmpty5,
midiEmpty6, midiEmpty7, midiEmpty8, midiEmpty9, midiEmpty10,
midiEmpty11, midiEmpty12, midiEmpty13, midiEmpty14,
midiEmpty15, midiEmpty16, midiEmpty17, midiEmpty18,
midiEmpty19, midiEmpty20, midiEmpty21, midiEmpty22,
midiEmpty23, midiGuitarFretNoise, midiBreathNoise,
midiSeashore, midiBirdTweet, midiTelephoneRing,
midiHelicopter, midiApplause, midiGunshot);
试试这个:
procedure TForm1.FormCreate(Sender: TObject);
begin
MIDIInit;
SetCurrentInstrument(midiHarmonica);
NoteOn(50, 127);
sleep(200);
NoteOn(60, 127);
sleep(200);
NoteOn(70, 127);
sleep(200);
NoteOff(70, 127);
NoteOff(60, 127);
NoteOff(50, 127);
SetCurrentInstrument(midiAcousticGrandPiano);
NoteOn(70, 127);
NoteOn(80, 127);
sleep(1000);
SetCurrentInstrument(midiApplause);
NoteOn(64, 127);
sleep(2000);
NoteOff(64, 127);
end;
我一直在使用这些组件: 他们几乎从未在我身上失败过,与许多其他已经存在这么长时间的专门Delphi组件不同,这段代码非常活跃(最近添加了更新和改进)
没什么特别的,但它使用方便,速度快,坚固耐用。如果你打算做一些严肃的midi工作,你最终会使用它。一个非常简单的midi输入/输出类:
如果你想自己开发并使用windows API,这看起来是一个很好的起点。只是一个小小的额外信息:SourceForge“dmidi”项目实际上与BitBucket上的“midiio”项目相同(但开发在这里进行)。我已经使用这些组件6个多月了,取得了巨大的成功。应与后续职位的所有其他人一起对其进行评估
2014年4月14日星期一上午9:49。既然不允许我发表评论,我就试着回答:我把我过去的生活投给midimountain.com的候选人。我得到了demo_MidiDevices_D6.zip(在页面上获取,而不是“下载”链接),将其解压缩,然后在我的仿古Delphi 7中编译并运行。实际上,我还没有测试它是否有MIDI,但它确实显示了我所连接的MIDI设备的集合……您好。关于这个问题我不知道怎么提问。。我测试代码。。如果我试着把它放进纽扣里。。它只工作一次。。如何重置它?我想什么时候发声音就什么时候发?ThanksetPlayback卷丢失了吗?但是,当我将设备从0更改为1时,它仍然有效;)因为那是我的微软windows wave synth表,哈哈。Thx为这个,好和简单。。。六羟甲基三聚氰胺六甲醚。。。
procedure TForm1.FormCreate(Sender: TObject);
begin
MIDIInit;
SetCurrentInstrument(midiHarmonica);
NoteOn(50, 127);
sleep(200);
NoteOn(60, 127);
sleep(200);
NoteOn(70, 127);
sleep(200);
NoteOff(70, 127);
NoteOff(60, 127);
NoteOff(50, 127);
SetCurrentInstrument(midiAcousticGrandPiano);
NoteOn(70, 127);
NoteOn(80, 127);
sleep(1000);
SetCurrentInstrument(midiApplause);
NoteOn(64, 127);
sleep(2000);
NoteOff(64, 127);
end;