LinuxSampler
Contingut
Introducció: Linuxsampler i qsampler
- http://www.linuxsampler.org
- FAQ: http://www.linuxsampler.org/faq.html
- característiques i roadmap: http://www.linuxsampler.org/features.html
The LinuxSampler project was founded with the goal to produce a free, streaming capable open source pure software audio sampler with professional grade features, comparable to both hardware and commercial Windows/Mac software samplers and to introduce new features not yet available by any other sampler in the world.
Característiques de Linux Sampler:
http://www.linuxlinks.com/article/20080626155705514/LinuxSampler.html
Un sampler es un aparato que permite muestrear digitalmente secuencias sonoras o samples para ser reproducidas posteriormente, o transformadas mediante efectos. Suelen contar con conectores MIDI para ser manipulados desde otros dispositivos electrónicos, como ordenadores o secuenciadores. Permiten transformar las muestras con efectos (eco, reverberación, flanger...), cambiar el tono, el volumen, la intensidad, etc, y posteriormente almacenar estas muestras en disquetes, discos duros, u otros dispositivos similares.
Concretament, el millor que tenen és el Maestro Concert Grand v2 (337 MB), que em sembla que es pot utilitzar amb el FluidSynth. De totes maneres, sembla ser que que el LinuxSampler també és un sintentitzador software.
You don't need 1GB of RAM free to run the large Gigasound piano samples in LinuxSampler -- it caches some of the sound data, but leaves the rest on disk and accesses it only as required.
http://www.linuxsampler.org/about.html Hi ha el motor i el front-end (QSampler)
$ sudo apt-get install liblscp2 $ sudo apt-get install libgig-dev
http://www.uluga.ubuntuforums.org/showthread.php?t=1634289 -> ha resolt problemes de dependències amb jackd2 o bé http://sarakinas.wu.cz/doku.php?id=linux_sampler
$ sudo apt-get install linuxsampler $ linuxsampler
No es queixa però no fa res. Vaig al synaptic i instal.lo qsampler i altres paquets relacionats amb el Linuxsampler.
$ qsampler
Ara ja funciona la interfície gràfica i els ports en el QJackCTL. Aparentment és fàcil. Finalment he aconseguit que soni. el truco està en crear a Devices el port audio i el port midi (o Alsa), i després afegir un canal amb el fitxer .gig que esculli. No he aconseguit fer sonar res amb un soundfont.
TODO: He de solucionar unes coses:
- poder utilitzar els soundfonts que tinc (a part dels gigs, que és un format de més qualitat)
- poder utilitzar linuxsampler en mode comanda, sense una GUI. Per fer-ho em serà molt necessari els fitxers de configuració LSCP
- fitxers de configuració LSCP
Fitxers de configuració LSCP
De la FAQ de Linuxsampler llegeixo:
Can I use linuxsampler without a GUI as well?
Yes, but unfortunately there is no console based frontend for linuxsampler (yet). You have to write LSCP scripts and send it to the running linuxsampler application. But don't worry, if you don't know how to write LSCP scripts, you can also start by saving a sampler session with QSampler, because the session files qsampler writes are actually real LSCP scripts. You can send a LSCP script to linuxsampler on the console with the following command:
$ linuxsampler $ netcat localhost 8888 < yourscript.lscp
or on certain systems (like Debian) you have to provide the -t switch:
$ netcat -t localhost 8888 < yourscript.lscp
Of course you can also replace localhost by the IP address of the machine where linuxsampler is running. Alternatively you can also make a telnet connection (port 8888) to linuxsampler's LSCP server and type commands manually.
Per tant, això és el que faig. Amb qsampler connecto el vkeybd al Linuxsampler (ALSA, canal1) i el jack-keyboard al linuxsampler (JACK, canal 2). He carregat el Maestro Concert gig file i sonen tots dos controladors. Guardo la sessió, que de fet és un fitxer lscp, i tanco el qsampler.
prova_lscp.lscp: (fixar-se que al final de tot posa que el volum=0!!!)
# Qsampler - A LinuxSampler Qt GUI Interface # Version: 0.2.2 # Build: Jan 13 2010 17:30:30 # # File: prova_lscp.lscp # Date: de des. 28 2011 18:30:22 # RESET # Audio JACK Device 0 CREATE AUDIO_OUTPUT_DEVICE JACK ACTIVE='true' CHANNELS='2' NAME='LinuxSampler' SAMPLERATE='44100' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 IS_MIX_CHANNEL='false' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 JACK_BINDINGS='' SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 NAME='0' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 IS_MIX_CHANNEL='false' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 JACK_BINDINGS='' SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 NAME='1' # MIDI ALSA Device 0 CREATE MIDI_INPUT_DEVICE ALSA ACTIVE='true' NAME='LinuxSampler' PORTS='1' # SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='' # SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_ID='131:0' SET MIDI_INPUT_PORT_PARAMETER 0 0 NAME='Port 0' # MIDI JACK Device 1 CREATE MIDI_INPUT_DEVICE JACK ACTIVE='true' NAME='LinuxSampler' PORTS='1' # SET MIDI_INPUT_PORT_PARAMETER 1 0 JACK_BINDINGS='' SET MIDI_INPUT_PORT_PARAMETER 1 0 NAME='midi_in_0' # MIDI instrument map 0 - Chromatic ADD MIDI_INSTRUMENT_MAP 'Chromatic' # MIDI instrument map 1 - Drum Kits ADD MIDI_INSTRUMENT_MAP 'Drum Kits' # Channel 0 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 0 0 SET CHANNEL MIDI_INPUT_DEVICE 0 0 SET CHANNEL MIDI_INPUT_PORT 0 0 SET CHANNEL MIDI_INPUT_CHANNEL 0 0 LOAD ENGINE GIG 0 LOAD INSTRUMENT NON_MODAL '/home/joan/gigs/Maestro-Concert-Grandv2/maestro_concert_grand_v2.gig' 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 0 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 0 1 1 SET CHANNEL VOLUME 0 1 SET CHANNEL MIDI_INSTRUMENT_MAP 0 0 # Channel 1 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 1 0 SET CHANNEL MIDI_INPUT_DEVICE 1 1 SET CHANNEL MIDI_INPUT_PORT 1 0 SET CHANNEL MIDI_INPUT_CHANNEL 1 1 LOAD ENGINE GIG 1 LOAD INSTRUMENT NON_MODAL '/home/joan/gigs/Maestro-Concert-Grandv2/maestro_concert_grand_v2.gig' 0 1 SET CHANNEL AUDIO_OUTPUT_CHANNEL 1 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 1 1 1 SET CHANNEL VOLUME 1 1 SET CHANNEL MIDI_INSTRUMENT_MAP 1 0 # Global volume level SET VOLUME 0
Arrenco el motor de linuxsampler:
$ linuxsampler LinuxSampler 1.0.0.cvs3 Copyright (C) 2003,2004 by Benno Senoner and Christian Schoenebeck Copyright (C) 2005-2009 Christian Schoenebeck Detected features: MMX SSE SSE2 Automatic Stacktrace: Off Creating Sampler...OK Registered sampler engines: 'GIG','SF2','SFZ' Registered MIDI input drivers: ALSA,JACK Registered audio output drivers: ALSA,JACK Loading instrument editor plugins...OK Registered instrument editors: Starting LSCP network server (0.0.0.0:8888)...OK LinuxSampler initialization completed. :-)
Envioi un fitxer de configuració al servidor:
$ netcat localhost 8888 < prova_lscp.lscp
Veig com apareixen els ports de Linuxsampler en les pestanyes JACK i MIDI del QJackCtl. Ara ja puc connectar els controladors (vkeybd i jack-keyboard).
En el servidor m'apareix:
LSCPServer: Client connection established on socket:4.
Starting disk thread...OK
Scheduling '/home/joan/gigs/Maestro-Concert-Grandv2/maestro_concert_grand_v2.gig' (Index=0) to be loaded in background (if not loaded yet).
Loading gig file '/home/joan/gigs/Maestro-Concert-Grandv2/maestro_concert_grand_v2.gig'...OK
Loading gig instrument ('/home/joan/gigs/Maestro-Concert-Grandv2/maestro_concert_grand_v2.gig',0)...Scheduling '/home/joan/gigs/Maestro-Concert-Grandv2/maestro_concert_grand_v2.gig' (Index=0) to be loaded in background (if not loaded yet).
LSCPServer: Client connection terminated on socket:4.
OK
Caching initial samples...OK
Sembla que tot va bé. Faig les connexions, però de moment no sona res... i no sona res perquè al final del fitxer lscp posa: SET VOLUME 0. Edito el fitxer lscp i canvio el valor, torno a engegar el linuxsampler i carregar el fitxer lscp, i fer les connexions, i ara ja sona (el valor de 100 ha resultat ser excessiu!!). Un valor correcte del volum és per exemple 0.5. Torno a entrar en el qsampler per mirar això del volum i realment no ho veig, sembla ser que hi ha algun bug quant al volum, doncs no deixa posar un valor intermig...
Sons SFZ i SF2
Amb el qsampler no puc carregar soundfonts o SFZ. Ara que sé editar els fitxers LSCP, ho faré directament. Agafo el fitxer prova_lscp.lscp, i només cal canviar el motor i el fitxer:
- allà on posa LOAD ENGINE GIG posar LOAD ENGINE SFZ (o bé SF2)
- allà on posa el fitxer gig posar per exemple:
LOAD INSTRUMENT NON_MODAL '/home/joan/sfzs/Sonatina_Symphonic_Orchestra/Brass - Trumpets Staccato.sfz' 0 0 (o bé un soundfont)
i funciona correctament! (l'arrencada del linuxsampler ja em diu que SFZ i SF2 estan soportats). La única cosa és el tema de majúscules i espais en blanc. Per exemple Woodwinds - Clarinet Solo.sfz no es carrega bé perquè en el nom clarinet està en majúscula i en el fitxer wav dins la carpeta sample està en minúscula. El més pràctic serà editar els fitxers sfz i suprimir majúscules i espais en blanc (i els wav hauran d'estar amb el nom correcte). NOTA. Això ja està solucionat. El projecte OpenOctave Project han fet una linuxificació de la llibreria Sonatina, i és aquesta la que faré servir (carpeta /home/joan/sfzs/sonatina)
Per exemple, quan carrego el soundfont FluidR3_GS.sf2
LSCPServer: Client connection established on socket:4.
Starting disk thread...OK
Scheduling '/home/joan/soundfonts/general/FluidR3_GS.sf2' (Index=0) to be loaded in background (if not loaded yet).
Loading sf2 file '/home/joan/soundfonts/general/FluidR3_GS.sf2'...Scheduling '/home/joan/soundfonts/general/FluidR3_GS.sf2' (Index=0) to be loaded in background (if not loaded yet).
LSCPServer: Client connection terminated on socket:4.
OK
Loading sf2 instrument ('/home/joan/soundfonts/general/FluidR3_GS.sf2',0)...OK
Caching initial samples...OK
Llibreries per a Linuxsampler
un dels items fa referència a les llibrerires que es poden utilitzar en Linuxsampler:
(hi ha bastanta cosa)
- Fòrum de Linuxsampler > Sample libraries: http://bb.linuxsampler.org/viewforum.php?f=8&sid=6d4b23f5ea57bb902d430471e1b09c97
- post del forum de LinuxSampler: http://bb.linuxsampler.org/viewtopic.php?f=8&t=11&sid=6d4b23f5ea57bb902d430471e1b09c97
free samples
free samples libraries que es poden utilitzar:
Per ex, Maestro Concert Grand v2 (337 MB) (es descarrega de http://sonimusicae.free.fr/matshelgesson-maestro-en.html). Funciona, i sona molt bé.
Provar també el Mellotron (one of the M400 Violins sounds, Mk II Violins, Cello, Flute, Woodwind, Combined Choir) (299 MB)
- http://freemusicsoftware.org/category/free-samples
- http://www.dnbwiki.com/index.php/Free_Samples
- http://wiki.linuxmusicians.com/doku.php?id=free_audio_data
SSO: Sonatina Symphonic Orchestra (a creative commons-licensed orchestral sample library):
- http://sso.mattiaswestlund.net/index.html (format SFZ)
També hi ha la versió linuxified de la SSO, que suposo que arregla tot el tema de majúscules i espais en blanc. Se n'ha encarregat de fer-ho el Open Octave Project.
Llibreria Crisis GM v4 (versió giga file) (veure més avall, LinuxSampler#Pere_i_el_Llop_amb_CGM4LS_.28Crisis_GM.29
samples de pagament
NDB Pipe Organ Samples (Notre Dame Budapest):
Començant a treballar
Faig una prova de carregar amb la llibreria de Sonatina 5 canals amb 5 instruments diferents. Es tracta de crear devices JACK (tant en audio com en midi), i així el Linuxsampler m'apareix en la pestanya midi del qjackctl. Aleshores utilitzo el jack-keyboard com a controlador.
Treballo amb el fitxer prova_lscp7.lscp, on els diferents canals es poden anar introduint manualment. Mirant el fitxer, és fàcil veure què s'ha de fer per afegir nous canals o substituir-ne els sons. Sona molt bé, i és estable.
'prova_lscp7.lscp: (recordar de canviar el volum al final de tot, per exemple un valor de 0.5)
# Qsampler - A LinuxSampler Qt GUI Interface # Version: 0.2.2 # Build: Jan 13 2010 17:30:30 # # File: prova_lscp5.lscp # Date: de des. 31 2011 15:15:27 # RESET # Audio JACK Device 0 CREATE AUDIO_OUTPUT_DEVICE JACK ACTIVE='true' CHANNELS='2' NAME='LinuxSampler' SAMPLERATE='44100' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 IS_MIX_CHANNEL='false' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 JACK_BINDINGS='' SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 NAME='0' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 IS_MIX_CHANNEL='false' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 JACK_BINDINGS='' SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 NAME='1' # MIDI JACK Device 0 CREATE MIDI_INPUT_DEVICE JACK ACTIVE='true' NAME='LinuxSampler' PORTS='1' # SET MIDI_INPUT_PORT_PARAMETER 0 0 JACK_BINDINGS='' SET MIDI_INPUT_PORT_PARAMETER 0 0 NAME='midi_in_0' # Channel 0 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 0 0 SET CHANNEL MIDI_INPUT_DEVICE 0 0 SET CHANNEL MIDI_INPUT_PORT 0 0 SET CHANNEL MIDI_INPUT_CHANNEL 0 0 LOAD ENGINE SFZ 0 LOAD INSTRUMENT NON_MODAL '/home/joan/sfzs/sonatina/Sonatina Symphonic Orchestra/Keys - Grand Piano.sfz' 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 0 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 0 1 1 SET CHANNEL VOLUME 0 1 SET CHANNEL MIDI_INSTRUMENT_MAP 0 0 # Channel 1 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 1 0 SET CHANNEL MIDI_INPUT_DEVICE 1 0 SET CHANNEL MIDI_INPUT_PORT 1 0 SET CHANNEL MIDI_INPUT_CHANNEL 1 1 LOAD ENGINE SFZ 1 LOAD INSTRUMENT NON_MODAL '/home/joan/sfzs/sonatina/Sonatina Symphonic Orchestra/Woodwinds - Alto Flute Solo.sfz' 0 1 SET CHANNEL AUDIO_OUTPUT_CHANNEL 1 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 1 1 1 SET CHANNEL VOLUME 1 1 SET CHANNEL MIDI_INSTRUMENT_MAP 1 0 # Channel 2 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 2 0 SET CHANNEL MIDI_INPUT_DEVICE 2 0 SET CHANNEL MIDI_INPUT_PORT 2 0 SET CHANNEL MIDI_INPUT_CHANNEL 2 2 LOAD ENGINE SFZ 2 LOAD INSTRUMENT NON_MODAL '/home/joan/sfzs/sonatina/Sonatina Symphonic Orchestra/Strings - 1st Violins Sustain.sfz' 0 2 SET CHANNEL AUDIO_OUTPUT_CHANNEL 2 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 2 1 1 SET CHANNEL VOLUME 2 1 SET CHANNEL MIDI_INSTRUMENT_MAP 2 0 # Channel 3 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 3 0 SET CHANNEL MIDI_INPUT_DEVICE 3 0 SET CHANNEL MIDI_INPUT_PORT 3 0 SET CHANNEL MIDI_INPUT_CHANNEL 3 3 LOAD ENGINE SFZ 3 LOAD INSTRUMENT NON_MODAL '/home/joan/sfzs/sonatina/Sonatina Symphonic Orchestra/Brass - Trumpet Solo.sfz' 0 3 SET CHANNEL AUDIO_OUTPUT_CHANNEL 3 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 3 1 1 SET CHANNEL VOLUME 3 1 SET CHANNEL MIDI_INSTRUMENT_MAP 3 0 # Channel 4 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 4 0 SET CHANNEL MIDI_INPUT_DEVICE 4 0 SET CHANNEL MIDI_INPUT_PORT 4 0 SET CHANNEL MIDI_INPUT_CHANNEL 4 4 LOAD ENGINE SFZ 4 LOAD INSTRUMENT NON_MODAL '/home/joan/sfzs/sonatina/Sonatina Symphonic Orchestra/Woodwinds - Contrabassoon Solo.sfz' 0 4 SET CHANNEL AUDIO_OUTPUT_CHANNEL 4 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 4 1 1 SET CHANNEL VOLUME 4 1 SET CHANNEL MIDI_INSTRUMENT_MAP 4 0 # Global volume level SET VOLUME 0.5
Mesclador
Canviant el paràmetre a un valor entre 0 i 1 puc controlar la mescla dels diferents instruments.
SET CHANNEL VOLUME 3 0.7
Pere i el Llop. Comparativa
Resultats (per sobre)
Els resultats que de moment he obtingut són (de millor a pitjor
- Linuxsampler amb sonatina
- soundfont amb Crisis
- Linuxsampler amb crisis
- soundfont FluidR3_GM.sf2 (?)
- soundfont amb 8.4mg_chaos_bank.sf2
De totes formes, caldria una comparativa més exhaustiva i científica. D'entrada estic utilitzant un midi ($ /usr/local/bin/jack-smf-player -s -n /home/joan/projectes/pere_i_llop/lilypond/1/pere_i_llop_or_ar_di_P0_P1_v1.midi) que només té cordes, per tant només puc avaluar les cordes. D'altra banda, necessito uns bons monitors, cascos, etc... i fixar-me bé en els greus, aguts,... és a dir, s'ha de fer de forma metòdica, i això dona peu a un article amb més fons.
A més:
- InstrumentsSquidfontOrchestral.sf2 (no està malament)
- Musica_Theoria_v2_GM.sf2 (no està malament)
- GM_General_Midi_Super_Bank.sf2 (no està malament)
- Airfont_340.sf2 (força bé)
soundfonts
he provat aquests dos soundfonts:
$ /usr/local/bin/fluidsynth -s -i -a jack -m jack -l -g 5 /home/joan/soundfonts/general/CrisisGeneralMidi3_01/CrisisGeneralMidi3_01.sf2 $ /usr/local/bin/fluidsynth -s -i -a jack -m jack -l -g 5 /home/joan/soundfonts/general/8-4mg-chaos-bank-sf2/8.4mg_chaos_bank.sf2 $ /usr/local/bin/fluidsynth -s -i -a jack -m jack -l -g 3 /home/joan/soundfonts/fluid-soundfont-3.1/FluidR3_GM.sf2 $ /usr/local/bin/fluidsynth -s -i -a jack -m jack -l -g 6 /home/joan/soundfonts/soundfonts/InstrumentsSquidfontOrchestral.sf2 $ /usr/local/bin/fluidsynth -s -i -a jack -m jack -l -g 6 /home/joan/soundfonts/general/Musica_Theoria_v2_GM.sf2 $ /usr/local/bin/fluidsynth -s -i -a jack -m jack -l -g 3 /home/joan/soundfonts/general/GM_General_Midi_Super_Bank.sf2 $ /usr/local/bin/fluidsynth -s -i -a jack -m jack -l -g 3 /home/joan/soundfonts/general/Airfont_340.sf2
Pere i el Llop amb Sonatina
treballo sobre els fitxers pere_i_llop_or_ar_di_P0_P1_v1.ly i pere_i_llop_or_ar_di_P0_P1_v1.midi. Com es pot veure en el fitxer lilypond, els canals són:
- violin (canal 1)
- violin (canal 2)
- viola (canal 3)
- cello (canal 4)
- contrabass (canal 5)
Per fer sonar el fitxer midi utilitzaré jack-smf-player, i el fitxer de configuració del Linuxsampler será pere_llop_P0_P1.lscp:
# Qsampler - A LinuxSampler Qt GUI Interface # Version: 0.2.2 # Build: Jan 13 2010 17:30:30 # # File: prova_lscp5.lscp # Date: de des. 31 2011 15:15:27 # RESET # Audio JACK Device 0 CREATE AUDIO_OUTPUT_DEVICE JACK ACTIVE='true' CHANNELS='2' NAME='LinuxSampler' SAMPLERATE='44100' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 IS_MIX_CHANNEL='false' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 JACK_BINDINGS='' SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 NAME='0' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 IS_MIX_CHANNEL='false' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 JACK_BINDINGS='' SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 NAME='1' # MIDI JACK Device 0 CREATE MIDI_INPUT_DEVICE JACK ACTIVE='true' NAME='LinuxSampler' PORTS='1' # SET MIDI_INPUT_PORT_PARAMETER 0 0 JACK_BINDINGS='' SET MIDI_INPUT_PORT_PARAMETER 0 0 NAME='midi_in_0' # Channel 0 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 0 0 SET CHANNEL MIDI_INPUT_DEVICE 0 0 SET CHANNEL MIDI_INPUT_PORT 0 0 SET CHANNEL MIDI_INPUT_CHANNEL 0 1 LOAD ENGINE SFZ 0 LOAD INSTRUMENT NON_MODAL '/home/joan/sfzs/sonatina/Sonatina Symphonic Orchestra/Strings - Violin Solo.sfz' 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 0 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 0 1 1 SET CHANNEL VOLUME 0 1 SET CHANNEL MIDI_INSTRUMENT_MAP 0 0 # Channel 1 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 1 0 SET CHANNEL MIDI_INPUT_DEVICE 1 0 SET CHANNEL MIDI_INPUT_PORT 1 0 SET CHANNEL MIDI_INPUT_CHANNEL 1 2 LOAD ENGINE SFZ 1 LOAD INSTRUMENT NON_MODAL '/home/joan/sfzs/sonatina/Sonatina Symphonic Orchestra/Strings - 1st Violins Sustain.sfz' 0 1 SET CHANNEL AUDIO_OUTPUT_CHANNEL 1 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 1 1 1 SET CHANNEL VOLUME 1 1 SET CHANNEL MIDI_INSTRUMENT_MAP 1 0 # Channel 2 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 2 0 SET CHANNEL MIDI_INPUT_DEVICE 2 0 SET CHANNEL MIDI_INPUT_PORT 2 0 SET CHANNEL MIDI_INPUT_CHANNEL 2 3 LOAD ENGINE SFZ 2 LOAD INSTRUMENT NON_MODAL '/home/joan/sfzs/sonatina/Sonatina Symphonic Orchestra/Strings - Violas Sustain.sfz' 0 2 SET CHANNEL AUDIO_OUTPUT_CHANNEL 2 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 2 1 1 SET CHANNEL VOLUME 2 1 SET CHANNEL MIDI_INSTRUMENT_MAP 2 0 # Channel 3 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 3 0 SET CHANNEL MIDI_INPUT_DEVICE 3 0 SET CHANNEL MIDI_INPUT_PORT 3 0 SET CHANNEL MIDI_INPUT_CHANNEL 3 4 LOAD ENGINE SFZ 3 LOAD INSTRUMENT NON_MODAL '/home/joan/sfzs/sonatina/Sonatina Symphonic Orchestra/Strings - Celli Sustain.sfz' 0 3 SET CHANNEL AUDIO_OUTPUT_CHANNEL 3 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 3 1 1 SET CHANNEL VOLUME 3 1 SET CHANNEL MIDI_INSTRUMENT_MAP 3 0 # Channel 4 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 4 0 SET CHANNEL MIDI_INPUT_DEVICE 4 0 SET CHANNEL MIDI_INPUT_PORT 4 0 SET CHANNEL MIDI_INPUT_CHANNEL 4 5 LOAD ENGINE SFZ 4 LOAD INSTRUMENT NON_MODAL '/home/joan/sfzs/sonatina/Sonatina Symphonic Orchestra/Strings - Basses Sustain.sfz' 0 4 SET CHANNEL AUDIO_OUTPUT_CHANNEL 4 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 4 1 1 SET CHANNEL VOLUME 4 1 SET CHANNEL MIDI_INSTRUMENT_MAP 4 0 # Global volume level SET VOLUME 0.5
Resumint:
$ linuxsampler $ netcat -t localhost 8888 < pere_llop_P0_P1.lscp $ /usr/local/bin/jack-smf-player -s -n /home/joan/projectes/pere_i_llop/lilypond/1/pere_i_llop_or_ar_di_P0_P1_v1.midi
Faig les connexions pertinents i arrenco el play del QJackCtl. Si cal, es pot mirar de fer una mica de mixer en el fitxer de configuració, però d'entrada se sent bé el contrabaix i els primers violins.
Important. Aquest fitxer midi té 5 canals. El lilypond no assigna el canal midi 0 per defecte, sinó a partir del 1. He de distingir entre els canals (o tracks) i els canals midi, i el track (channel) 0 li he d'assignar el canal midi 1. Per tant, fixar-se com queda els channel 0 i els següents:
# Channel 0 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 0 0 SET CHANNEL MIDI_INPUT_DEVICE 0 0 SET CHANNEL MIDI_INPUT_PORT 0 0 SET CHANNEL MIDI_INPUT_CHANNEL 0 1 <-- aquesta és la línia que assigna el canal midi LOAD ENGINE SFZ 0 LOAD INSTRUMENT NON_MODAL '/home/joan/sfzs/sonatina/Sonatina Symphonic Orchestra/Strings - Violin Solo.sfz' 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 0 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 0 1 1 SET CHANNEL VOLUME 0 1 SET CHANNEL MIDI_INSTRUMENT_MAP 0 0
Pere i el Llop amb CGM4LS (Crisis GM)
Llibreria Crisis GM v4 (versió giga file):
l'enllaç l'he tret de
que és un fil antic de Hispasonic (Instrumentos muestreados para GNU/linux):
És un fitxer .gig de 1,5Gb, però que tanmateix sona pitjor que el Sonatina, sona molt com a soundfont, sense cos. L'avantatge és de què és una sola llibreria que s'ha de carregar i que el mapeig dels instruments midi ja està fet. Amb qampler edito el fitxer pere_llop_P0_P1_CGM4LS.lscp, però he de fer els mateixos retocs que he hagut de fer amb sonatina: posar el volum master a un valor > 0, i mapejar correctament els canals midi que em dóna el fitxer midi generat pel lilypond. pere_llop_P0_P1_CGM4LS.lscp:
# Qsampler - A LinuxSampler Qt GUI Interface # Version: 0.2.2 # Build: Jan 13 2010 17:30:30 # # File: pere_llop_P0_P1_CGM4LS.lscp # Date: de gen. 04 2012 02:49:22 # RESET # Audio JACK Device 0 CREATE AUDIO_OUTPUT_DEVICE JACK ACTIVE='true' CHANNELS='2' NAME='LinuxSampler' SAMPLERATE='44100' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 IS_MIX_CHANNEL='false' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 JACK_BINDINGS='' SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 NAME='0' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 IS_MIX_CHANNEL='false' # SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 JACK_BINDINGS='' SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 NAME='1' # MIDI JACK Device 0 CREATE MIDI_INPUT_DEVICE JACK ACTIVE='true' NAME='LinuxSampler' PORTS='1' # SET MIDI_INPUT_PORT_PARAMETER 0 0 JACK_BINDINGS='' SET MIDI_INPUT_PORT_PARAMETER 0 0 NAME='midi_in_0' # MIDI instrument map 0 - Chromatic ADD MIDI_INSTRUMENT_MAP 'Chromatic' # MIDI instrument map 1 - Drum Kits ADD MIDI_INSTRUMENT_MAP 'Drum Kits' # Channel 0 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 0 0 SET CHANNEL MIDI_INPUT_DEVICE 0 0 SET CHANNEL MIDI_INPUT_PORT 0 0 SET CHANNEL MIDI_INPUT_CHANNEL 0 1 LOAD ENGINE GIG 0 LOAD INSTRUMENT NON_MODAL '/home/joan/gigs/CGM4LS-Bank1.gig' 40 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 0 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 0 1 1 SET CHANNEL VOLUME 0 1 SET CHANNEL MIDI_INSTRUMENT_MAP 0 0 # Channel 1 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 1 0 SET CHANNEL MIDI_INPUT_DEVICE 1 0 SET CHANNEL MIDI_INPUT_PORT 1 0 SET CHANNEL MIDI_INPUT_CHANNEL 1 2 LOAD ENGINE GIG 1 LOAD INSTRUMENT NON_MODAL '/home/joan/gigs/CGM4LS-Bank1.gig' 40 1 SET CHANNEL AUDIO_OUTPUT_CHANNEL 1 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 1 1 1 SET CHANNEL VOLUME 1 1 SET CHANNEL MIDI_INSTRUMENT_MAP 1 0 # Channel 2 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 2 0 SET CHANNEL MIDI_INPUT_DEVICE 2 0 SET CHANNEL MIDI_INPUT_PORT 2 0 SET CHANNEL MIDI_INPUT_CHANNEL 2 3 LOAD ENGINE GIG 2 LOAD INSTRUMENT NON_MODAL '/home/joan/gigs/CGM4LS-Bank1.gig' 41 2 SET CHANNEL AUDIO_OUTPUT_CHANNEL 2 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 2 1 1 SET CHANNEL VOLUME 2 1 SET CHANNEL MIDI_INSTRUMENT_MAP 2 0 # Channel 3 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 3 0 SET CHANNEL MIDI_INPUT_DEVICE 3 0 SET CHANNEL MIDI_INPUT_PORT 3 0 SET CHANNEL MIDI_INPUT_CHANNEL 3 4 LOAD ENGINE GIG 3 LOAD INSTRUMENT NON_MODAL '/home/joan/gigs/CGM4LS-Bank1.gig' 42 3 SET CHANNEL AUDIO_OUTPUT_CHANNEL 3 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 3 1 1 SET CHANNEL VOLUME 3 1 SET CHANNEL MIDI_INSTRUMENT_MAP 3 0 # Channel 4 ADD CHANNEL SET CHANNEL AUDIO_OUTPUT_DEVICE 4 0 SET CHANNEL MIDI_INPUT_DEVICE 4 0 SET CHANNEL MIDI_INPUT_PORT 4 0 SET CHANNEL MIDI_INPUT_CHANNEL 4 5 LOAD ENGINE GIG 4 LOAD INSTRUMENT NON_MODAL '/home/joan/gigs/CGM4LS-Bank1.gig' 43 4 SET CHANNEL AUDIO_OUTPUT_CHANNEL 4 0 0 SET CHANNEL AUDIO_OUTPUT_CHANNEL 4 1 1 SET CHANNEL VOLUME 4 1 SET CHANNEL MIDI_INSTRUMENT_MAP 4 0 # Global volume level SET VOLUME 0.7
gigedit: editor de llibreries amb format GIG
gigedit és el editor de giga files. És amb aquest programa (independent del motor i dels front-ends, tot i que es pot integrar amb els front-ends), on jo puc editar les samples i crear un fitxer .gig per a ser utilitzat.
(TBD)
creat per Joan Quintana Compte, desembre 2010