#############################
Notas de revisiones:
Revisión 0: 19 diciembre 2009. Publicado.
Revisión 1: 24 enero 2010. Revisada la instalación del soporte para LV2 (ver nota 1)
#############################
En esta entrada vamos a explicar cómo instalar linuxsampler con su frontend qsampler, desde el código fuente. Linuxsampler es un sampler de software para librerías de samples en formato .gig.
Voy a compilar los programas con las opciones por defecto, mayormente. Aquí, Luis Garrido, desarrollador de aplicaciones musicales para GNU/Linux, nos explica cómo optimizar los programas ejecutables. Precisamente pone de ejemplo linuxsampler y comenta que, con ciertas opciones, se puede conseguir una mejora radical en su rendimiento. Yo no lo he probado y de momento lo dejaré de lado. Siempre tenemos la opción de volver atrás y hacer caso y preguntar a los que controlan de verdad.
Linuxsampler tiene una licencia considerada como no-libre, ya que impone una restricción a su uso comercial (crear software o hardware comercial a partir de su código). Por esta razón, no está en los repositorios oficiales de Debian ni de Ubuntu.
Con este método, podremos editar los samples, con gigedit, desde el propio qsampler. No voy a instalar el frontend basado en java (jsampler), pero es otra posibilidad. Además, qsampler y jsampler no son incompatibles.
______________________________________________________________
INSTALACION DE LINUXSAMPLER Y QSAMPLER
""""""""""""""""""""""""""""""""""""""""
1. Descargar el código fuente
Descargaremos las fuentes desde la página oficial de linuxsampler (abajo en Source Packages). Las últimas verisones de los archivos tar.bz2:
libgig
linuxsampler
gigedit
liblscp
qsampler
2. Extraer y mover a nuestro directorio de fuentes
Extraemos con botón derecho y movemos los directorios creados a nuestro directorio de fuentes, por ejemplo, /home/usuario/fuentes
3. Compilar e instalar libgig
~/fuentes/libgig-3.3.0$ ./configure
Si "configure" nos da algún error es porque falta alguna librería. En este caso instalaremos el paquete de desarrollo de esta librería. Normalmente es fácil de adivinar, por ejemplo, si echa en falta libsndfile, lo podemos buscar en synaptic y nos encontramos 'libsndfile1-dev'. También, si es la primera vez que compilamos algo, necesitaremos el paquete 'build-essential' y seguramente alguno más. "Configure" nos pondrá sobre la pista. Ante la duda, no instalaremos paquetes a lo loco. Mejor volver a ejecutar "configure" hasta que deje de quejarse. Entonces, compilamos con:
make
e instalamos con:
sudo make install
4. Compilar e instalar linuxsampler:
./configure no da error pero advierte que no encuentra sqlite, necesario para cargar bases de datos de instrumentos. Instalo libsqlite3-dev.
Vuelvo a hacer ./configure.
El mensaje final me dice:
# MIDI Input Drivers:
# ALSA: yes, JACK: yes, CoreMIDI: no, MME: no, MidiShare: no
#-------------------------------------------------------------------
# Audio Output Drivers:
# ALSA: yes, JACK: yes, ARTS: no, CoreAudio: no, ASIO: no
#-------------------------------------------------------------------
# Building sampler as plugin for following host standards:
# DSSI: yes, LV2: no, VST: no, AU: no
#-------------------------------------------------------------------#
Esto significa que tengo soporte MIDI y audio para alsa y para Jack, pero no puedo lanzar linuxsampler como un plugin LV2 ni como un plugin VST. Lo segundo no me interesa, ya que si bien podría hacerlo funcionar con vsthost de dssi-vst (por ejemplo), me parece absurdo ya que ese host de VST lo tengo precisamente para los que no tengo opción nativa para linux. ¿Pero, sería interesante tener linuxsampler como plugin LV2? ¡No parece mala idea!
Inciso: Soporte para LV2
Hace falta lv2core, que podemos instalar siguiendo las instrucciones que se dan aquí. Volvemos al directorio de linuxsampler y otra vez:
./configure
...
# Building sampler as plugin for following host standards:
# DSSI: yes, LV2: yes, VST: no, AU: no
Ahora sí, ya podremos tener linuxsampler en un host de LV2 (y también en un host de dssi, como Rosegarden, esto es porque en ubuntustudio-audio-plugins viene instalado el soporte para dssi y ya teníamos las librerías instaladas).
5. Gigedit:
./configure
me ha dado el siguiente error:
configure: error: Your intltool is too old. You need intltool 0.35.0 or later.
Voy a synaptic y busco intltool. Lo instalo. En el segundo intento de configure me dice:
No package 'gtkmm-2.4' found
No package 'gthread-2.0' found
Los busco en synaptic e instalo libgtkmm.-2.4-dev y sus dependencias.
Sin embargo, configure me advierte que no encuentra linuxsampler (?). No sé por qué ocurre esto pero pruebo a volver al directorio de linuxsampler y hacer otra vez ./configure, make y sudo make install.
Otra vez al directorio gigedit. "configure", ahora sí, me dice:
checking for LINUXSAMPLER... yes
Found linuxsampler 0.5.0
make y sudo make install, terminan con éxito (no hay mensajes de error).
5. liblscp
./configure
make
sudo make install
Como la seda
6. qsampler
./configure
checking for Qt library version >= 4.1... no; Qt 4.1 or greater is required
¿Qué hace falta aquí? Como ya deberíamos haber leido en el README, necesitamos qt 4.
Vamos a ir a synaptic y hacer una búsqueda por qt. Instalaremos libqt4-dev
"configure" termina bien. Sólo veo una cosa rara:
libgig supports fast information retrieval . . . .: no
No creo que sea importante. Seguimos con make y sudo make install... EXITO.
"""""""""""""""""""""""""""""""""""""""""
Vale, se supone que ya hemos terminado. Vamos a lanzar qjackctl y después qsampler. qsampler aparece en el menú de sonido y video... Parece que no va. Si lo lanzamos desde terminal:
~$ qsampler
qsampler: error while loading shared libraries: liblscp.so.6: cannot open shared object file: No such file or directory
Problemilla. Vamos a localizar liblscp:
$ sudo updatedb
$ locate liblscp
Entre otros:
/usr/local/lib/liblscp.so.6
En realidad existe pero no la encuentra. Esto es porque qsampler espera esa librería en /usr/lib, no en /usr/local/lib. Podemos solucionarlo con un enlace simbólico:
sudo ln -s /usr/local/lib/liblscp.so.6 /usr/lib/liblscp.so.6
Solucionado.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
qsampler, con qjackctl
Nota 1: Si seguiste el método de instalación de LV2 que dí en la revisión 0, borra las librerías de slv2 en /usr/local/lib después de haber seguido el método referenciado en la revisión 1 (sudo rm /usr/local/lib/libslv2* será suficiente)
RADIO ESCOLA UN SOMNI FET REALITAT
Hace 6 años
Bueno Pablo, por fin alguien postea como instalar este fabuloso sampler desde el principio. Versiones como 64 studio lo llevan integrado y ubuntu nunca. Supongo que serà por alguna razón. Voy a seguir tus pasos a ver si llego a buen puerto.
ResponderEliminarGracias Pablo.
Muchísimas gracias, me has ayudado mucho. Nunca había logrado compilarlo al no tener conocimientos sobre el tema. Tengo Ubuntu 64bits y éste era el único programa que me faltaba por instalar y no sabía al no tener los debs. El próximo paso será saber optimizarlo para mi máquina, como explica Luis Garrido.
ResponderEliminarPor fin tengo en mi ubuntu el qsampler funcionando. La verdad es que da pena que te lo ofrezcan y que luego no funcione. Muy agradecido pablo. Al igual que Paco me funciona en 64 bits. Muchas gracias por tu inestimable ayuda
ResponderEliminarHe colgado el post en otro sitio Pablo. Pido disculpas por mi error.
ResponderEliminarXavi dijo:
ResponderEliminarSaludos Pablo, sobre el qsampler a mí me aparece en jack cuando creo los canales sobre el mismo programa. El problema lo tengo cuando cargo un instrumento sobre jack 0 y no puede crearlo. Puede que sea por usar jack en el audio y midi en el alsa? En otros ordenadores si funciona. Akí karmic 64 bit i jack sobre driver fireware. Éste es el mensaje que ofrece
19:58:34.464 Could not get current list of channels. Sorry.
_lscp_client_evt_request: send: Broken pipe
_lscp_client_evt_request: send: Broken pipe
_lscp_client_evt_request: send: Broken pipe
_lscp_client_evt_request: send: Broken pipe
_lscp_client_evt_request: send: Broken pipe
_lscp_client_evt_request: send: Broken pipe
_lscp_client_evt_request: send: Broken pipe
_lscp_client_evt_request: send: Broken pipe
19:58:49.049 Channel 0 Some channel settings could not be set. Sorry.
6 de enero de 2010 11:05
Hola Xavi, he borrado el comentario del otro lado y lo he puesto aquí. No pasa nada.
ResponderEliminarLa verdad que no te puedo decir nada seguro. Puede ser que sea el mismo problema que aparece aquí:
https://bugs.linuxsampler.org/cgi-bin/long_list.cgi?buglist=115
Puedes probar lo que dice Dominic, con una de estas dos opciones:
Recompilar linuxsampler con la opción CXXFLAGS=-01:
make clean
./configure CXXFLAGS=-01
make
sudo make install
Recompilar linux sampler con la versión gcc-4.2 del compilador:
Instalar gcc-4.2
make clean
export CC=gcc-4.2
make
sudo make install
A Paco: De nada, me alegro de que funcione. Gracias por tu comentario
Gracias por solucionar mi error de publicación Pablo.
ResponderEliminarHe recompilado de las dos maneras y sigue sin querer funcionar. De todas formas, muchísimas gracias por tu interés. Seguiré peleando a ver si suena la flauta :)
Xavi,
ResponderEliminarA ver si así soluciona:
Cuando estás en la ventana de Qsampler:Devices, no la cierres si el panel de abajo a la derecha ("Channel" en Audio o "Port" en MIDI) está activo. Para desactivarlo, pincha a la izquierda en 'Audio Devices' o en 'MIDI Devices'. Con eso, ya se apaga y ya es seguro cerrar esa ventana. Esto es independiente de si el driver midi es jack o es alsa.
He comprobado que si no lo hago así, a mí también me da error, que normalmente no es crítico. Pero a veces qsampler se cierra con un fallo de segmentación.
Lo he visto de pura casualidad aquí:
http://wiki.archlinux.org/index.php/Linuxsampler
La cosa sigue igual amigo Pablo. Gracias compañero por tu interés y por tu tiempo. Seguiremos probando.
ResponderEliminarSaludos
Hey! hola, muchas gracias por la publicación, he seguido todo paso a paso y ahora ya tengo sonando linux sampler con qsampler... intenté instalar también jsampler pero no me resultó...
ResponderEliminarpor ahora comienzo a probar con qsampler.
¿alguna recomendación de librerías gig? ya me baje un piano de la página de linuxsampler, está muy bueno.
saludos y gracias nuevamente!
hola, ante todo muchas gracias por este excelente tuto sobre como instalar linuxsampler, segui las indicaciones aqui dadas y logre instalarlo, pero te cuento que cuando lo inicio me tira el siguiente error: "Could not connect to server as client", en el campo que supongo es el destinado a los 'mensajes' del programa mismo dice: "lscp_client_create: cmd: connect: Conexión rechazada",
ResponderEliminarte cuento que cuando hago ./configure sobre la carpeta: linuxsampler me tira esta información:
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for NPTL bug... no
checking uuid/uuid.h usability... no
checking uuid/uuid.h presence... no
checking for uuid/uuid.h... no
checking for library containing uuid_generate... no
checking alsa/asoundlib.h usability... no
checking alsa/asoundlib.h presence... no
checking for alsa/asoundlib.h... no
checking Alsa version... 1.1.1
checking for JACK... no
checking for artsc-config... no
checking for ARTS artsc - version >= 0.9.5... no
*** The artsc-config script installed by ARTS could not be found
*** If ARTS was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the ARTS_CONFIG environment variable to the
*** full path to artsc-config.
checking for ASIO headerfile: ./ASIOSDK2/common/asio.h ....no
checking MidiShare.h usability... no
checking MidiShare.h presence... no
checking for MidiShare.h... no
checking CoreMIDI/CoreMIDI.h usability... no
checking CoreMIDI/CoreMIDI.h presence... no
checking for CoreMIDI/CoreMIDI.h... no
checking CoreAudio/CoreAudio.h usability... no
checking CoreAudio/CoreAudio.h presence... no
checking for CoreAudio/CoreAudio.h... no
checking for mmsystem.h... (cached) no
checking dssi.h usability... no
checking dssi.h presence... no
checking for dssi.h... no
checking for LV2... yes
checking AudioUnit/AudioUnit.h usability... no
checking AudioUnit/AudioUnit.h presence... no
checking for AudioUnit/AudioUnit.h... no
No supported MIDI input system found!
Sorry, LinuxSampler only supports the following MIDI drivers at the moment:
ALSA, JACK, MIDIShare, CoreMIDI, MME.
If you think you have one of those available on your system, make sure you
also have the respective development (header) files installed.
y, cuando hago un ./configure sobre la carpeta 'gigedit' arroja estos datos:
checking for LINUXSAMPLER... no
Required liblinuxsampler version not found!
You need to have liblinuxsampler version 0.5.0
installed. Support for on-the-fly editing with LinuxSampler will
be disabled.
la instalación de 'linuxsampler' la estoy haciendo sobre ubuntustudio 9.04, ya tengo composiciones con los programas de esta distro y estoy mas que satisfecho, ahora quiero usar las librerias .gig con este programa (segun he leido en foros -mediante los cuales llegue {de nuevo} a "semicorchux") y aqui estoy trabado
te pido ayuda por favor si fueses tan amable
desde ya gracias de nuevo por las instrucciones que has compartido y espero tu respuesta (cuando puedas)
Saludos.
te pido ayuda -por favor si fueses tan amable-
Hola Marcelo,
ResponderEliminarTe faltan algunas librerías de desarrollo.
Para esta explicación, yo ya tenía instaladas de antes varias de ellas, las más básicas. En total, necesitas, al menos y además de los nombrados en la explicación, los siguientes paquetes :
libasound2-dev
libjack-dev
uuid-dev
dssi-dev (no estrictamente necesario pero no hace mal)
Puede que me deje alguno. Los instalas con synaptic o apt-get y vuelves a intentarlo. Si algo va mal, para pegar las salidas de terminal extensas te ruego que uses www.pastebin.com o similar, y dejas aquí la dirección.
A veces suelo estar en IRC, canal #musica-linux en el servidor irc.freenode.net y si no estoy liado puedo ayudar a través de chat.
Ya contarás. Saludos.
hola Pablo
ResponderEliminar* pido disculpas por haber pegado una salida de terminal extensa
* instale las librerias que me sugeriste y cuando volvi a ejecutar ./configure sobre la carpeta 'linuxsampler' me devolvio el mensaje:
checking for LINUXSAMPLER... yes
Found linuxsampler 0.5.0
* pero sigo sin poder ejecutar al programa, una de las lineas que me devuelve ./configure sobre la carpeta 'linuxsampler' dice esto:
checking for SQLITE3... no
*** Required sqlite version not found!
*** You need to have sqlite version 3.3 or higher
de sqlite3 tengo instalada la version 3.6.10, busque en la pagina web de los repositorios de ubuntu y en el directorio 'sqlite3' no figura ninguna version 3.3 or higher (segun lo pide linuxsampler), y: aca me quedé
* agradezco enormemente la ayuda que me has brindado Pablo, y -por favor- te pido si pudieses darme una idea de como seguir
gracias y saludos
hola Pablo
ResponderEliminar* instale las librerias que me sugeriste y al volver a ejecutar ./configure sobre la carpeta 'linuxsampler' me devolvio este mensaje:
checking for LINUXSAMPLER... yes
Found linuxsampler 0.5.0
-> gracias
* pero sigo sin poder ejecutar al programa (linuxsampler), hice nuevamente ./configure sobre la carpeta antes dicha y una de las lineas que devuelve el mensaje del terminal es esta mira:
checking for SQLITE3... no
*** Required sqlite version not found!
*** You need to have sqlite version 3.3 or higher
me fije en la pagina web de los repositorios de ubuntu y en la carpeta 'sqlite3' no figura ninguna version 3.3 (tengo instalada la version sqlite3_3.10.26), y aquí me quedo varado...
* te pido por favor (cuando tengas tiempo y ganas) una sugerencia de como seguir
gracias por tu valiosa ayuda Pablo
saludos
Pablo:
ResponderEliminar* hice nuevamente todo lo que aqui has indicado pero teniendo especial cuidado en seguir los pasos tal y como lo has especificado y : ARRANCO EL PROGRAMA!! estoy re-contento
* 2 cosas: 1) te pido que sepas disculpar mi poca prudencia al pedir ayuda sin antes hacer las cosas que tenia que hacer 2) muchisimas gracias por tu ayuda desinteresada, gracias Pablo, has sido muy amable
cordialmente. Marcelo Regazzoni.
Me alegro de que ya funcione :) No tienes que pedir disculpas. Has hecho muy bien en pedir ayuda, yo también me he quedado atascado muchas veces y por desgracia, no enseñan Linux en las escuelas. Estamos aprendiendo.
ResponderEliminarSaludos y a disfrutar de linuxsampler! Pablo
Hola, a mí me da el "fallo de segmentación" que nombras, Pablo, pero es que me da nada más arrancar qsampler. Cuando termina de arrancar, sin darme opción a poder hacer nada se cierra con ese fallo. ¿Alguien sabe la solución? Jsampler sí me funciona, es la alternativa que me queda, pero prefería qsampler.
ResponderEliminarGracias de antemano.
Trigue,a mí me pasaba igual, desinstale el Qsampler con sudo make uninstall, y luego lo volví a instalar desde los repositorios, y ya funcionó.
ResponderEliminarMuchísimas gracias, sí se me ha solucionado con sudo make uninstall, es que no conocía este comando.
ResponderEliminarSaludos
hola Pablo
ResponderEliminartuve que desinstalar (entre otros programas) linuxsampler (por la actualizacion que habia hecho del repo de falk). Volví a gestionar la compilación e instalación de libgig,
linuxsampler, gigedit, liblscp y qsampler, al tipear por consola ./qsampler la salida dice: Fallo de segmentación y se cierra. Linuxsampler anduvo de diez hasta el 'desastre' = actualizacion.
Te pido ayuda por favor como solucionar este fallo.
Saludos
Hola Marcelo, perdona la tardanza. Puedes probar dos cosas. La primera es jsampler en lugar de qsampler. Básicamente hace lo mismo y creo que esta KXstudio. La segunda es, si tienes el repo oficial de lucid activado, en synaptic seleccionas qsampler, menú paquete, forzar versión, y eliges la del repo oficial. Bueno, y si compilaste / instalaste qsampler, prueba a desinstalarlo e instalarlo por repos.
ResponderEliminarSaludos, Pablo
hola Pablo
ResponderEliminar* gracias por la indicación, ya esta funcionando "Qsampler" nuevamente
* aprendí (vía línea dura mediante) lo que sugerís en una entrada en hispasonic: "andar con pies de plomo luego de activar una repo...", pero lo importante es que retomé la configuración anterior (o al menos parecida) y funciona el aparato-producción-musical.
1) te pregunto: Ismale (ivalladt) sugiere los kernels de Tapani, tenes idea si los kernels de Musix son compatibles con Ubuntu Studio Lucid?. Trate de instalar el 2.6.31.1.rt4 y no arrancó
gracias Paul.
Saludos.
fe de erratas: Ismale es -en realidad- Ismael, disculpas Ismael Valladolid.
ResponderEliminarIsmael sugirió hace un montón de tiempo. Los tiempos cambian. Nunca te fíes de nada que sea muy concreto, de hace más de un año y encima muy complicado. Sólo intenta ser el primero en probar algo así cuando estés seguro de que te gusta el solo hecho de probarlo.
ResponderEliminarSaludos, Pablo
Magníficas instrucciones para ubuntustudio 12.4 también. En mi caso libgig y lv2core los he instalado desde los repositorios.
ResponderEliminarMil gracias, amigo.
Javier desde Elche.