Posts contrassegnato dai tag ‘dls’

Aggiornamento importante!

A partire da Windows 10 può capitare saltuariamente che gli aggiornamenti rimuovano il driver BassMidi, per cui poi è necessario reinstallarlo.

Nel frattempo da questo link potete scaricare una versione aggiornata del SoundFont che uso normalmente

Come avevo anticipato nel blog “Karaoke di qualità con Vanbasco” eccoci ora a discutere un ulteriore miglioramento nella riproduzione dei suoni sintetizzati a partire dai midi, il tutto ancora una volta senza versare alcun euro aggiuntivo, ma ricorrendo solo a materiale disponibile in modo gratuito (donazione spontanea a parte Smile ); in questo caso il risultato, a parte un po’ di pazienza richiesta nella configurazione, è davvero molto buono per quanto riguarda la qualità dei suoni sintetizzati, paragonabile, e anche superiore, a quella di sintetizzatori hardware dal costo di alcune centinaia di euro.

Nel post Karaoke di qualità con Windows senza componenti aggiuntivi accennavo ad un “evoluzione” nella riproduzione dei midi tramite l’utilizzo di Timidity++, che in sostanza è un sintetizzatore MIDI che fa uso di SoundFont; l’ho provato per diverso tempo ma il suo svantaggio principale è che praticamente occupa in memoria il doppio della dimensione del file .SF2 utilizzato, il che può risultare un po’ limitativo nei confronti di SoundFont di dimensioni consistenti.

In questo post parleremo del driver BassMIDI Driver, che utilizza le componenti BASS e BASSMIDI, unitamente ad una versione dello stesso driver modificata, e con caratteristiche aggiuntive che ho prodotto partendo dalla versione base, per evitare, in prima istanza, un problema durante la riproduzione “live” dei MIDI quando si fa uso di banchi dei suoni di dimensioni consistenti (come vedremo): la presenza di “strappi” durante il caricamento dei suoni, tanto più evidenti quanto meno performante è il PC che si usa.

La versione che ho prodotto prevede le seguenti differenze:

  • possibilità di precaricare in memoria tutti i banchi dei suoni in aggiunta al comportamento predefinito
  • possibilità di escludere gli effetti REVERB e CHORUS predefiniti del sistentizzatore MIDI (disabilitati di default)
  • possibilità di configurare gli effetti REVERB, CHORUS e COMPRESSOR nell’implementazione DirectX; questi effetti sono abilitati in modo predefinito e personalmente sembrano configurati senza “strafare”; il compressore ad esempio ha una soglia di intervento di –12dB con un rapporto 2:1 quindi non molto invasivo, ma utile.
  • impostazione della frequenza di campionamento dei suoni presenti nei banchi (44Khz il predefinito)
  • impostazione della frequenza di campionamento della scheda audio (44Khz il predefinito)
  • regolazione della polifonia fino ad un massimo di 256 voci (valore predefinito)

Allo stato attuale la modifica di questi parametri rispetto al valore predefinito richiede l’utilizzo del registro di configurazione (RedEdit); sto lavorando ad una piccola interfaccia che permetterà di apportare queste modifiche in modo più agevole (tempo permettendo).

Per come è stata compilata questa mia versione ho il sospetto che funzioni solamente su Vista e Windows 7, ma non su Windows XP; fatemi avere un feedback per cortesia.

Veniamo ora all’installazione e alla configurazione dell’ambiente:

  • Installare il driver BASSMIDIDRV prelevandolo da http://www.mudlord.info/bassmididrv/#bassmididriverdownloads; è necessario installare la versione 3.0 e non le precedenti, in quanto la mia modifica si basa su questa versione, e quelle precedenti avevano problemi di funzionamento con VanBasco. Il driver viene installato nella cartella C:\Windows\system32\bassmididrv (o C:\Windows\SysWOW64\bassmididrv per le versioni a 64Bit).
  • Installare la compoente BASS più recente da  http://www.un4seen.com/bass.html, sovrascrivendo quella presente nella cartella bassmididrvi descritta sopra
  • Installare la componente BASSMIDI piu recente prendendolo dall’elenco di Add-On http://www.un4seen.com/bass.html#addons, sovrascrivendo quella presente nella cartella bassmididrvi descritta sopra
  • Prelevare il SoundFont MySoundFont.SF2 da questa cartella ed estrarlo sul disco locale; la dimensione totale è di poco meno di 600Mb. Nella stessa cartella a breve sarà presente anche un banco dei suoni di dimensioni maggiori, circa 850Mb, diviso in strumenti e drumkit.
  • Utilizzare lo strumento di configurazione di BassMIDI (Configure BASSMIDI Driver) per applicare il SoundFont appena scaricato.
  • Aggiungere al registro di configurazione le informazioni presente nel file For32BitOS.reg per sistemi operativi a 32Bit oppure For64BitOS.reg per sistemi a 64Bit, prelevandoli sempre dalla cartella riportata sopra; questi file pressuppongolo l’installazione di windows nella cartella C:\WINDOWS, in caso contrario modificare opportunamente i valori.
  • Sovrascrivere bassmididrv.dll nella cartella C:\Windows\system32\bassmididrv (o C:\Windows\SysWOW64\bassmididrv per le versioni a 64Bit) con quella presente nella cartella già vista; vale quanto già visto sopra per l’installazione di Windows.
  • Nelle opzioni di VanBasco o del software che usate impostare il dispositivo di uscita su “BASSMIDI Driver”

    image

Con le impostazioni predefinite nel momento in cui selezionate il nuovo dispoditivo di uscita il drvier inizierà a precaricare il banco dei suoni, mentre agli avvii successivi lo farà al primo play.

Ecco nel dettaglio l’occupazione della memoria con il SoundFont che uso attualmente

image

Il banco da 600Mb si comporta molto bene anche con sistemi con 2Gb di Ram, per quello da 850Mb vi consiglio di fare alcune prove; sul portatile che usa un mio amico per fare serate non da problemi, ma gli ho installato una versione di Windows 7 “ad hoc”, che fa il boot da un .VHD e non presenta nessun software precaricato all’avvio e simili. Per chi si vuole divertire funziona anche con la preview di Windows 8 Smile

I due banchi presenti nella cartella citata sopra sono stati costruiti partendo da elementi preesistenti con la sostituzione e la modifca di vari strumenti, ed il tutto ha richiesto numerose ore di ascolto e di affinamento, usando sia strumenti (e banchi) trovati gratuitamente in rete sia strumenti (.SF2) acquistati online ; il risultato attuale rispecchia naturalmente il mio gusto personale, e quello del mio amico, e non è detto che gli strumenti utilizzati in essi siano graditi a tutti.

Il banco da 850Mb oltre ad avere elementi diversi presenta anche differenze negli strumenti comuni per quanto riguarda alcuni parametri che ne determinano il comporamento ( Attack, Sustain, Decay Release, Modulation, ecc)

Comunque in rete si trovano diversi siti che forniscono gratuitamente sia banchi completi che i singoli strumenti: un buon punto di partenza può essere il seguente link http://www.synthfont.com/links_to_soundfonts.html; molto buoni i SoundFont SGM e Crisis riportati nel link sopra, mentre un altra fonte di SoundFont, con singoli strumenti è www.sf2midi.com

Nei prossimi giorni aggiungerò anche alcuni esempi di MIDI riprodotti con la configurazione predefinita di Windows, con la modifica al file GM.DLS già vista e poi con il driver BASSMIDI tramite i due banchi di suoni presentati in questo articolo.

Di seguito invece i dettagli dei parametri di configurazione che trovate nel registo di configurazione nel percorso HKEY_LOCAL_MACHINE\SOFTWARE\BASSMIDI Driver per Windows a 32Bit e HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\BASSMIDI Driver per Windows a 64Bit

  • Preload (0/1) determina se il banco dei sui viene precaricato all’avvio del software oppure se i suoni vengono caricati realtime. il valore predefinito è 0.
  • SampFreq determina la frequenza di campionamento dei suoni presenti nel SoundFont; il valore predefinito e 48000
  • AudioSampFreq determina la frequenza di campionamento della scheda audio ed il valore predefinito è 44100.
  • Poliphony determina il livello di polifonia dello stream MIDI, e di default è impostato a 256.
  • UseEffects (1/0) abilita o disabilità l’utilizzo degli effetti COMPRESSOR, CHORUS e REVERB nell’implementazione DirectX. Il valore predefinito è 1, se lo si imposta a 0 si abilitano CHORUS e REVERB MIDI predefiniti
  • UseChorus, UseCompressor, UseReverb (1/0) abilitano o disabilitano i relativi effetti DirectX; il vaolre predefinito è 1: NOTA: Il compressore può essere abilitato anche quando UseEffects è impostato a 0, dimodochè lo si possa usare anche con gli effetti MIDI predefiniti.
  • volume imposta il volume dello stream audio ed il valore predefinito è 10000.

I rimanenti parametri riguardano le impostazioni dei vari effetti ed il loro significato è spiegato nella documentazione della componente BASS al seguente link http://www.un4seen.com/doc/ (sezione BASS-> Effects –> Structures)

AGGIORNAMENTO AL 18/07/2012

Ho aggiornato la procedura di installazione, riportando i passi corretti, del momento che alcuni di voi mi hanno fatto notare alcune imprecisioni. Inoltre nella cartella https://skydrive.live.com/?cid=ED63F32772D65F20&id=ED63F32772D65F20%21521 ho copiato alcuni Screen Capture di VanBasco per presentrvi alcuni MIDI riprodotti con il driver in questione e l’ultima versione di SoundFont che sto utilizzando, e che vi fornirò nei prossimi giorni, appena finite ulteriori modifiche.  Con l’ultima versione di BASSMIDI rilasciata in questi giorni sto inserendo nel codice del sintetizzatore anche alcune migliorie, come l’incremendo del numero di voci a 500 e l’utlizzo (gestito da registry) della “Sinc Interpolation” per il campionamento dei suoni presenti nel SoundFont; con questo metodo la qualità audio dovrebbe migliorare ulteriormente ma a scapito di un incremento dell’ uso della CPU, che però al momento sto riscontrando essere minimo.

Aggiornamento del 15/01/2013

Ho copiato nella solita cartella una nuova versione della DLL, unitamente alle varie componenti di supporto aggiornate all’ultima versione disponibile, che vi consiglio di installare; il file si chiama BassMidi.RAR

Questa nuova versione visualizza un’icona nell’area di notifica dalla quale si accede a diversi paramentri di configurazione

image

Come si vede adesso abbiamo a disposizione diverse configurazioni, che fino alla versione precedente richiedevano la modifica del registry (a parte la lista dei soundfont); per il Reverb ed il Chorus al momento è presente solo la possibilità di regolare il livello, ma in futuro dovrei riuscire ad inserire anche la possibilità di modificare paremetri come tempo, filtri, ed altri valori di configurazione (dimensione della finestra permettendo). La versione attuale non usa più Reverb e Chorus DirectX ma quelli standard MIDI. Inoltre se mantenete separato il file del Drumkit è possibile anche modificare il livello dello stesso, che non viene salvato, e il primo pulsante da destra sotto l’elenco dei suoni permette di ricaricarli senza uscire da VanBasco (qualche secondo di attesa), cosa che a me risulta molto comoda. Ricordatevi che questa DLL si basa sulla versione 3.0 del driver, e ad oggi dovete andare nel repository per scaricarlo; il link è questo http://kode54.net/bassmididrv/archive/

Ho realizzato anche un set di suoni di dimensioni inferiori al precedente, ma non per questo di minore qualità a mio giudizio, ed ho modificato il drumkit per rendere gli snare dello “Standard” un po’ più incisivi; la dimensione in memoria adesso è poco oltre i 510Mb ed i nuovi suoni comprendono anche diversi strumenti nei banchi successivi al primo.

Lo trovate in questa cartella SMALL in formato WinRar in modo da rendere più agevole l’estrazione.

Aggiornamento del 01/08/2013

Ciao a tutti, vi lascio prima delle ferie con un aggiornamento per quanto riguarda il banco dei suoni, come anticipato in alcune risposte, sia nei commenti che personali; il nuovo ha una dimensione di circa 1,4Gb e si trova in questa cartella 31072013 in formato .ZIP. Dal punto di vista tecnico ho sostituito alcuni strumenti, per altri ne ho modificato la modulazione e cambiato diversi default per quanto riguarda il “Reverb Send” ed il “Chorus Send”, in quanto alcuni erano proprio asciutti; ho iniziato inoltre ad espandere il numero degli strumenti per coprire la gamma GS (banchi 8, 16, 24) partendo da quelli che risultano in versione “Wet” o “Chorus” e altri strumenti che ho incontrato in alcuni MIDI.

Tenete presente che con l’impostazione predefinita “Preload Soundfonts” occorre sempre un tempo variabile tra i 30s ed i 60s per caricare i suoni, a seconda della velocità dei dischi; i possessori di PC con Hard Disk SSD non dovrebbero avere problemi nel disabilitare questa impostazione e caricare i suoni in realtime; in questo momento sto usando questa impostazione.

Sto anche valutando la possibilità di ridurre la dimensione dei suoni lavorando sulla frequenza di campionamento, quando possibile; si tratta in sostanza di effettuare un lavoro tramite un software RTA per identificare l’estremo superiore dei vari strumenti ed impostare una frequenza inferiore a 44KHz in base alla frequenza raggiunta.

Sono in arrivo anche novità per quanto riguarda il driver, di seguito alcuni screenshot

image

image

image

Fondamentalmente ho tolto la gestione dei livelli di Reverb e Chorus, in quanto ho riscontrato che diversi MIDI impostano i loro livelli (e a volte anche il tipo) per cui ho ritenuto effettuare questa scelta; nei casi di evidenti esagerazioni negli effetti è meglio intervenire sui MIDI stessi con i comandi SysEx (magari lo vediamo in un’altro post).

Nella finestra principale di configurazione adesso è possibile modificare anche il livello della polifonia (realtime) e visualizzare alcune informazioni, tipo la modalità MIDI (GM, GM2, GS, XG), il numero di voci, aggiornato ogni 200ms, ed il livello di utilizzo del buffer dei campioni. Tramite i pulsanti “Compressor” ed “Equalizer” si accede alle relative finestre di configurazione.

Sto completando le verifiche su queste nuove funzionalità e ragionevolmente di ritorno dalle ferie riuscirò a mettere in linea la nuova versione.

Aggiornamento del 26/02/2014

Ho messo in linea la versione annunciata nel precedente post e si trova nella cartella BassMidi con il nome bassmididrv.zip; contiene anche le ultime versioni delle dll di supporto necessarie, per cui è molto facile sostituirle. Inoltre nella cartella 22062014 ho caricato l’ultima versione dei soundfont che utilizzo; la dimensione adesso è intorno ad 1Gb in quanto ho cercato di ottimizzare alcuni strumenti riducendo la dimensione dei campioni e risistemando i loop in modo comunque da non perdere qualità del suono. Come al solito ho fatto anche alcune modifiche sui tempi di hold, decay e di modulation. Ricopiate anche in file .REG in quanto sono stati rigenerati in base alle ultime modifiche. Nel frattempo ho cancellato il soundfont MySoundFont.zip presente in quella cartella, ormai troppo “vecchio”.

Vi lascio anche Smile un link per una  Donazione tramite PayPal nel caso in cui vogliate contribuire al lavoro già fatto e per tutti i futuri sviluppi delle varie componenti citate in questo blog

CSL – Scheda controller/d’interfaccia PCI 4+1 porte (5 porte) USB 2.0 | 1 interna 4 esterne | Chipset VIA | Plug & Play | Windows 10


Focusrite, Scarlett 2I2 2Nd Generation, Interfaccia Audio Usb



M-Audio M-Track 2X2 Interfaccia Audio USB a 2 Canali con Risoluzione 24Bit/192Khz


Recentemente, girando per la rete alla ricerca di migliorare I suoni dei file MIDI prodotti da Windows, ho trovato un post interessante in cui l’autore illustra come configurare l’arcinoto VanBasco per utilizzare il prezioso Hyper Canvas di Roland, al fine di ottenere un suono più articolato e reale, meno “elettronico” rispetto a quello che anche le ultime versione di Windows sono in grado di riprodurre.

L’articolo è fatto molto bene ma presuppone comunque l’acquisto di Hyper Canvas, che si trova sul mercato a circa 200€; si tratta di un prezzo ragionevole data la qualità del prodotto, considerando anche che incorpora effetti come Reverb e Chorus, comunque presenti in quasi tutti I mixer, e ha la possibilità di regolare separatemente il volume e il “pan” dei singoli strumenti all’interno di una traccia; più altre opzioni che normalmente in una situazione “live” non è praticamente possibile modificare in tempo reale tra una canzone e l’altra.

L’obiettivo di questo articolo quindi è quello di ottenere la massima qualità possibile dalla riproduzione dei file MIDI da Windows senza l’usilio di componenti (e €) aggiuntivi …

Non sto a dilungarmi su come viene “tradotto” in musica un file che contiene la definizione degli strumenti e le relative note, ma praticamente nella stragrande maggioranza dei casi il sintetizzatore di suoni carica in memoria un file (detto banco) contenente gli strumenti e i loro suoni.  Il sintetizzatore  predefinito di Windows si chiama “Microsoft GS Wavetable Synth”, che carica un banco il cui nome è GM.DLS (GM= General Midi); la qualità del primo non dovrebbe destare dubbi, visto che il produttore è Roland stessa … Smile

image

ma la dimensione del file GM.DLS, circa 3.3MB, è decisamente scarsa per ottenere un suono gradevole dai midi, e per molti di essi il risultato è decisamente scarso: è necessario utilizzare un file .DLS di almeno 30Mb circa per iniziare ad avere risultati interessanti, e naturalmente maggiore è la dimensione migliore è il risultato ottenuto, ma sono necessarie anche più risorse di sistema per uana corretta gestione del banco.

Il file GM.DLS si trova nella cartella C:\Windows\system32\drivers ed è sufficiente sostituirlo con uno di dimensioni maggiori, sia in Windows XP che Vista e Windows 7; nel caso si stiano usando le versioni a 64Bit dei vari sistemi operativi deve essere sostituito anche il file GM.DLS nella cartella C:\Windows\SysWow64\drivers (la SysWow64 contiene le componenti a 32Bit installate su un sistema operativo a 64Bit). Occorre fare attenzione in Windows XP in quanto il “Windows File Protection” rimpiazzerà immediatamente il nuovo file con quello originale da 3.3Mb; per evitare questo occore copiare prima il nuovo file nella cartella C:\windows\system32\dllcache (normalmente nascosta) e poi nella cartella opportuna. A questo punto ogni tanto apparirà un messaggio che avverte che uno dei file di sistema non è quello originale e se si desidera rimpiazzarlo con quello presente nel CD di installazione; a questo punto potete disabilitare il Windows File Protection oppure passare a Windows 7 Smile

image

Come si vede dall’immagine nel mio caso il file GM.DLS è di circa 57MB (e lo trovate qui), quello che sto provando adesso, ma nella cartella ci sono altri file  pronti per essere rinominati.

Il consiglio è quello di provare I vari file .DLS che trovate con la vostra playlist, onde evitare che su alcuni MIDI il risultato sia pessimo, come mi è capitato con il file da 86Mb su una base di Generale Sad smile. Un’altro set che si potrebbe provare è Fury da circa 25Mb.

Fatto questo lo step successivo potrebbe essere quello di utilizzare dei sintetizzatori software evoluti (tipo Hyper Canvas), che hanno diversi parametri di configurazione, possono fornire effetti preconfigurati, ma soprattutto usando i banchi dei suoni in formato .SF2, che ad oggi sono i più diffusi e i più facili da trovare in rete; la loro configurazione è molto più complicata ed è più difficile torvare un settaggio ottimale … il rischio in questo caso è di trovarsi con il MIDI che gracchia o che si interrompe… prossimamente un aggiornamento su questo argomento

 

AGGIORNAMENTO DEL 26/04/2010

Giocando con i vari Sound Font e strumenti, con un po’ di copia e incolla e altri interventi, ho realizzando un banco .DLS un po’ più corposo di quelli citati in precedenza, con strumenti un po’ più articolati e completi, milgiore di quelli citati sopra: lo trovate qui.

Se avete voglia di fare ulteriori prove mandatemi dei feedback

AGGIORNAMENTO AL 20/08/2011

Chiedo scusa per i problemi di download di uno dei file ma proprio non riesco a capire l’origine del disguido: cercherò di rispondere ad ognuno di voi cercando di inviare il singolo file. Nel frattempo il file da 57Mb rappresenta già una buona evoluzione rispetto allo standard, e comunque ancor meno ribotico del suono fornito da Sound Canvas

Ritornate ancora sul blog, prossimamente scriverò un muovo articolo evoluzione di questo, dedicato all’uso di Timidity come sintetizzatore MIDI in combinazione con dei buoni soundfont; anche in questo caso non bisogna versare un € ma solo un po’ di pazienza

 

AGGIORNAMENTO AL 22/10/2011

Come anticipato nei giorni scorsi in risposta ad un utente che segnalava ancora problemi di download di uno dei file del SoundFont di dimensioni maggiori, ho appena completato un nuovo file .DLS di circa 185Mb, che ha un livello di qualità decisamente migliore, anche di quello di dimensioni superiori che fino ad ora a causato vari problemi di download. L’ho ottenuto partendo da alcuni banchi .SF2 che normalmente uso con Timidity o BassMidi, e potete trovarlo nel formato 7 Zip in questa directory.

Per ora sono riuscito a provarlo solo in cuffia … l’impressione è che potebbero esserci i vari DrumKit un po’ in evidenza rispetto agli altri strumenti.

Inviatemi un feedback appena riuscite a provarlo.

AGGIORNAMENTO DEL 07/06/2012

Se vi può interessare in questo post trovate un ulteriore “evoluzione” nella riproduzione dei MIDI, con suoni paragonabili a diversi campionatori hardware (e anche migliore).