Differenze tra le versioni di "Emulare con il Midi il suono del bip prodotto dall'altoparlante del PC"

Da Gambas-it.org - Wikipedia.
 
(9 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
 
Volendo tentare di emulare con il MIDI il classico bip che in particolare i vecchi pc riproducevano attraverso i loro altoparlanti, realizzeremo un apposito file Midi standard, contenente i dati per eseguire un brevissimo suono a 880 hertz di uno strumento il cui timbro possa somigliare al classico bip.
 
Volendo tentare di emulare con il MIDI il classico bip che in particolare i vecchi pc riproducevano attraverso i loro altoparlanti, realizzeremo un apposito file Midi standard, contenente i dati per eseguire un brevissimo suono a 880 hertz di uno strumento il cui timbro possa somigliare al classico bip.
<BR>A tal proposito ci sono sembrati somiglianti al classico bip i suoni a 880 hertz degli strumenti musicali indicati nella lista del ''[https://en.wikipedia.org/wiki/General_MIDI General Midi]'' ai numeri (con indice iniziale zero) in esadecimale: &h21, &h22, &h23, &h26 e &h50
+
<BR>A tal proposito ci sono sembrati somiglianti al classico bip i suoni a 880 hertz degli strumenti musicali indicati nella lista del ''[https://en.wikipedia.org/wiki/General_MIDI General Midi]'' ai numeri (con indice iniziale zero) in esadecimale: &h21, &h22, &h23, &h26 e &h50.
 +
<BR>La nota Midi, che corrisponde al "La" da 880 hertz (nome della nota Midi: '''A5'''), è rappresentata dal valore esadecimale &h51.
  
 
Il file Midi, da utilizzare, potrà essere realizzato con un programma Midi o anche con un Editor esadecimale e sarà il seguente:
 
Il file Midi, da utilizzare, potrà essere realizzato con un programma Midi o anche con un Editor esadecimale e sarà il seguente:
Riga 6: Riga 7:
 
<TABLE>
 
<TABLE>
 
<TR align=center><TD>4D 54 68 64 00 00 00 06 00 01 00 01 01 80 4D 54</td></tr>
 
<TR align=center><TD>4D 54 68 64 00 00 00 06 00 01 00 01 01 80 4D 54</td></tr>
<TR align=center><TD>72 6B 00 00 00 0E 00 C0 <B>26</b> 00 90 51 64 30 80 51</td></tr>
+
<TR align=center><TD>72 6B 00 00 00 0F 00 C0 <FONT Color=red><B>26</b></font> 00 90 <FONT Color=darkorange><B>51</b></font> 64 <FONT Color=darkgreen><B>30</b></font> 80 <FONT Color=darkorange><B>51</b></font></td></tr>
 
<TR><TD>00 00 FF 2F 00</td></tr>
 
<TR><TD>00 00 FF 2F 00</td></tr>
 
</table>
 
</table>
 
</td></tr></table>
 
</td></tr></table>
In questo caso abbiamo scelto il suono dello strumento di indice &h26 nell'elenco del ''General Midi''.
+
In questo caso abbiamo scelto il suono della nota Midi numero &h51, usando lo strumento di indice &h26 dell'elenco ''General Midi'', che sarà eseguito per soli 30 tick.
  
  
Riga 23: Riga 24:
 
   Music.Play
 
   Music.Play
 
   
 
   
  While Music.State == Music.Playing <FONT Color=gray>' ''Questo ciclo consente l'esecuzione del file Midi''</font>
+
  <FONT Color=gray>' ''Questo ciclo consente l'esecuzione del file Midi:''</font>
 +
  While Music.State == Music.Playing
 
   Wend
 
   Wend
 
   
 
   
Riga 29: Riga 31:
  
  
====Eseguire il file Midi mediante le risorse del Componente gb.media====
+
====Eseguire il file Midi mediante la Classe ''MediaPlayer'' del Componente gb.media====
 +
Usando invece il Componente ''gb.media'', potremo servirci della Classe ''MediaPlayer'' per eseguire il file Midi.
 +
<BR>Imporremo - dopo la riga di avvio dell'esecuzione - un ''Wait'' di brevissima durata, che consentirà di eseguire quel file.
 +
<BR>Il codice potrà essere il seguente:
 +
Public Sub Main()
 +
 +
  Dim mp As New MediaPlayer
 +
 +
  mp.URL = Media.URL("<FONT Color=darkgreen>''/percorso/del/file.mid''</font>")
 +
  mp.Play
 +
 +
  Wait 0.3
 +
 +
  mp.Stop
 +
  mp.Close
 +
 +
End

Versione attuale delle 07:33, 15 ott 2023

Volendo tentare di emulare con il MIDI il classico bip che in particolare i vecchi pc riproducevano attraverso i loro altoparlanti, realizzeremo un apposito file Midi standard, contenente i dati per eseguire un brevissimo suono a 880 hertz di uno strumento il cui timbro possa somigliare al classico bip.
A tal proposito ci sono sembrati somiglianti al classico bip i suoni a 880 hertz degli strumenti musicali indicati nella lista del General Midi ai numeri (con indice iniziale zero) in esadecimale: &h21, &h22, &h23, &h26 e &h50.
La nota Midi, che corrisponde al "La" da 880 hertz (nome della nota Midi: A5), è rappresentata dal valore esadecimale &h51.

Il file Midi, da utilizzare, potrà essere realizzato con un programma Midi o anche con un Editor esadecimale e sarà il seguente:

4D 54 68 64 00 00 00 06 00 01 00 01 01 80 4D 54
72 6B 00 00 00 0F 00 C0 26 00 90 51 64 30 80 51
00 00 FF 2F 00

In questo caso abbiamo scelto il suono della nota Midi numero &h51, usando lo strumento di indice &h26 dell'elenco General Midi, che sarà eseguito per soli 30 tick.


Eseguire il file Midi mediante la Classe Music del Componente gb.sdl2.audio

Volendo usare le risorse della Classe Music del Componente gb.sdl2.audio, per eseguire il predetto file Midi, il codice potrà essere il seguente:

Public Sub Main()

 Music.SoundFontPath = "/percorso/del/soundfont/bank/file.sf2"
 
 Music.Load("/percorso/del/file.mid")

 Music.Play

' Questo ciclo consente l'esecuzione del file Midi:
 While Music.State == Music.Playing
 Wend

End


Eseguire il file Midi mediante la Classe MediaPlayer del Componente gb.media

Usando invece il Componente gb.media, potremo servirci della Classe MediaPlayer per eseguire il file Midi.
Imporremo - dopo la riga di avvio dell'esecuzione - un Wait di brevissima durata, che consentirà di eseguire quel file.
Il codice potrà essere il seguente:

Public Sub Main()

 Dim mp As New MediaPlayer

 mp.URL = Media.URL("/percorso/del/file.mid")
 mp.Play

 Wait 0.3

 mp.Stop
 mp.Close

End