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

Da Gambas-it.org - Wikipedia.
 
(Una versione intermedia di uno stesso utente non è mostrata)
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, è rappresentata dal valore esadecimale &h51.
+
<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 36: Riga 36:
 
<BR>Il codice potrà essere il seguente:
 
<BR>Il codice potrà essere il seguente:
 
  Public Sub Main()
 
  Public Sub Main()
 
+
 
   Dim mp As New MediaPlayer
 
   Dim mp As New MediaPlayer
 
+
 
   mp.URL = Media.URL("<FONT Color=darkgreen>''/percorso/del/file.mid''</font>")
 
   mp.URL = Media.URL("<FONT Color=darkgreen>''/percorso/del/file.mid''</font>")
 
   mp.Play
 
   mp.Play
 
+
 
   Wait 0.3
 
   Wait 0.3
 
   
 
   

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