Find Jobs
Hire Freelancers

Delphi, MIDI, and custom sound samples

$30-5000 USD

Cancelado
Publicado há mais de 18 anos

$30-5000 USD

Pago na entrega
The job here is to take a simple Delphi project (attached below) that plays some MIDI notes with the default MIDI_MAPPER device and make it play the same MIDI notes and events using CUSTOM SOUND SAMPLES from external files (DLS, SoundFont, or something like that). SOUND SAMPLE FILES It doesn't matter what sounds you use, you can use any samples you have, but I must approve the TYPE OF FILE (DLS, SoundFont, other?) you want to use before you proceed. MS DirectMusic I believe that DirectMusic was designed for pretty much this kind of thing, and if this is the approach you want to use then it would be OK. Other solutions can also be OK but of course I will have to approve the approach before you start the work. Also, the code must not depend on any fancy hardware or software. It must run on any PLAIN VANILLA computer with a generic sound card and, at the most, DirectX installed. If you need to use DLLs it may be OK if they are free, royalty-free, and freely redistributable. In this case you should also discuss it with me before proceeding. Please read all the details in the **Deliverables** section Thanks! Marco ## Deliverables The job here is to take a simple Delphi project (attached below) that plays some MIDI notes with the default MIDI_MAPPER device and make it play the same MIDI notes and events using CUSTOM SOUND SAMPLES from external files (DLS, SoundFont, or something like that). CLEAR CODE AND ABUNDANT COMMENTS My need is to have a CLEAR working example of how to play MIDI events with samples from external files that I can use as a starting point to build my own custom application. Therefore, your code should be very well commented, line by line, so that even a below-average programmer (like me :) can understand what happens there. SOUND SAMPLE FILES It doesn't matter what sounds you use, you can use any samples you have, but I must approve the TYPE OF FILE (DLS, SoundFont, other?) you want to use before you proceed. MS DirectMusic I believe that DirectMusic was designed for pretty much this kind of thing, and if this is the approach you want to use then it would be OK. Other solutions can also be OK but of course I will have to approve the approach before you start the work. ROBUST AND GENERIC The code should be reasonably robust. If, for example, DirectX is used and the target computer doesn't have DirectX (or only a very old version) then there should be a warning message rather than a crash... Also, the code must not depend on any fancy hardware or software. It must run on any PLAIN VANILLA computer with a generic sound card and, at the most, DirectX installed. If you need to use DLLs it may be OK if they are free, royalty-free, and freely redistributable. In this case you should also discuss it with me before proceeding. STEP-BY-STEP CODING In general, if you can do something with either many lines of code or with a single clever line of code -- choose to do it with many lines, step by step, to make it easier to understand. API If the API for controlling the custom samples is the same as [login to view URL] (midiOutOpen, midiOutShortMsg, etc.) that would be a great solution for me because I am already familiar with it. And if another method is needed, you should make it very clear (with step-by-step code and plenty of comments) how to do all the standard MIDI operations: open, close, reset, silence all, play note, stop note, set a patch, change pan, change pitch (fine-tune) change channel volume while a note is playing, and so on. AUDIO EFFECTS If the technology you choose includes the possibility of using effects such as reverb, echo, chorus, spatial positioning etc. you should include a simple example of each in the demo. For example, how to add reverb to a note, or to a MIDI channel, how to spacially position a note, or a whole MIDI channel, and so on. PRECAUTIONS IF you are aware of potential issues, precautions when using certain functions, etc. please explain them with comments in the code. USE *TWO* EXTERNAL SOUND FILES You should put your custom sounds into TWO separate files rather than one. The purpose of this is to demonstrate how to load and merge and manage multiple sound files into the same MIDI output. LAYERS I would like at least one example of using TWO layers in the sample. (E.g. one for a low volume note and the other for the same note played loud). In the included project you will see that notes on channel 1 (piano) are played at two volumes, 75 and 105, so you may want to prepare a sampled sound with two layers split, for example, at volume 80. All other channels and samples may use just one layer. If you think this step is unnecessary to help me understand how the system works, you may skip it after consulting with me. OVERVIEW I hope this doesn't sound more complicated that it really is... summing up, all the program needs to do is this: 1. Load a few sound samples from two external files (eg DLS or SoundFont, etc) 2. Play a few MIDI notes and events. 3. Close and free the resources. 4. Comment the code abundantly CHOICES Again, I must approve the sample file format (eg DLS v2), the technology used (eg DirectMusic) and the use of any DLL before you use them in the project. MIDI NOTES I have already included a few MIDI notes and events in the project. You will find a list of events that include the main types and you may use the same list to demonstrate how each type of event must be executed (note on, note off, patch change, volume change, pan change and pitch change.) RIGHTS 1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables): a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment. b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request. 3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement). This is all I can think of, but if you are aware of other important related issues, or if you have any question, please ask me! Thanks! Marco ## Platform Windows, Borland Delphi 7
ID do Projeto: 3905934

Sobre o projeto

Projeto remoto
Ativo há 19 anos

Quer ganhar algum dinheiro?

Benefícios de ofertar no Freelancer

Defina seu orçamento e seu prazo
Seja pago pelo seu trabalho
Descreva sua proposta
É grátis para se inscrever e fazer ofertas em trabalhos

Sobre o cliente

Bandeira do(a) SERBIA
Zagreb, Serbia
5,0
11
Método de pagamento verificado
Membro desde mai. 29, 2002

Verificação do Cliente

Obrigado! Te enviamos um link por e-mail para que você possa reivindicar seu crédito gratuito.
Algo deu errado ao enviar seu e-mail. Por favor, tente novamente.
Usuários Registrados Total de Trabalhos Publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Carregando pré-visualização
Permissão concedida para Geolocalização.
Sua sessão expirou e você foi desconectado. Por favor, faça login novamente.