Come incorporare comandi di control change all'interno di un file MIDI

StackOverflow https://stackoverflow.com/questions/34023

  •  09-06-2019
  •  | 
  •  

Domanda

Sto realizzando un semplice gioco per imparare una nuova lingua.Sto raccogliendo della musica per il gioco e vorrei utilizzare il formato MIDI in modo da poter controllare il flusso della traccia (ad esempio, vorrei avere un'introduzione che venga riprodotta solo una volta e non venga riprodotta di nuovo quando la canzone va in loop.)

Ho difficoltà a trovare informazioni su come modificare i file MIDI esistenti in modo che possano inviare un segnale di cambio controllo al sintetizzatore.Qualcuno ha avuto esperienza con questo?


Penso che avrei dovuto essere più chiaro con la mia domanda iniziale.Sto utilizzando un motore di gioco esistente che si occupa di riprodurre la musica.Ho l'impressione che questo valore di cambio controllo debba essere incorporato direttamente nel file MIDI stesso poiché non ho alcun controllo sul sintetizzatore.Dal manuale:

I file MIDI vengono riprodotti tramite il sintetizzatore DirectMusic.Se un file MIDI BGM contiene il valore di modifica del controllo 111, quel valore viene riconosciuto come dove il brano inizierà a ripetere dopo aver raggiunto la fine.

Vorrei poterlo fare a livello di programmazione.Suppongo che quello che sto cercando sia una sorta di editor che mi permetta di modificare il file MIDI che ho già.

È stato utile?

Soluzione

DirectMusicProduttore è probabilmente la migliore opzione gratuita se stai giocando utilizzando DirectMusic.Non credo che la funzione di registrazione MIDI includerà modifiche ai controlli, ma il tuo motore potrebbe supportare la riproduzione di file di segmenti che sono molto più flessibili.

L'unico sequenziatore MIDI che utilizzo costava circa 300 dollari (USD) circa 10 anni fa (e sembra non esistere più), ma non sono a conoscenza di alcun sequenziatore di file MIDI gratuito di buona qualità.(Nota che "editor MIDI" è probabilmente diverso da "editor di file MIDI" o "sequencer MIDI")

Altri suggerimenti

Sembra che quello che vuoi veramente sia un editore midi

prova a guardare in Specifiche Midi 1.0

Ecco una tabella del messaggi di modifica del controllo anche se sembra che tu stia cercando un modo per farlo nel software.SÌ?

potresti provare semplicemente a inviarlo come dati midi grezzi (es.i messaggi su quel tavolo)

esaminando di nuovo la tua domanda...la mia risposta non è così utile...

quello che farei se fossi in te è separare l'introduzione nel suo file e quindi avere un file contenente Appena quello che vuoi mettere in loop.

potresti anche guardare le specifiche del Formato Midi File standard (SMF)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top