# Qtractor

Qtractor es un secuenciador MIDI y una estación de trabajo de audio digital que se ejecuta de forma nativa en GNU Linux. Qtractor está escrito en C++ y está basado en la biblioteca Qt. Su autor es Rui Nuno Capela, quien es también responsable de la línea de software libre de audio Qstuff, como lo son QjackCtl, Qsynth y Qsampler. La intención de Qtractor es proveer una estación de trabajo de audio digital sencilla y ligera para el usuario doméstico promedio, a la vez que ser lo suficientemente poderosa para el usuario profesional.
Qtractor está actualmente en rápido desarrollo y las versiones Git se actualizan a menudo con corrección de errores y nuevas características.
Publicado bajo los términos de la Licencia Pública General de GNU, Qtractor es un software libre y de código abierto.

## Resumen

Qtractor es un secuenciador MIDI y de audio digital no destructivo, multi-pista para composición, grabación y edición de arreglos musicales. Este no afecta, altera o modifica los datos de audio y/o MIDI de los archivos que están mostrados como clips en la línea de tiempo. Las excepciones son los archivos que son producto de capturas y grabaciones o de cambios explícitos hechos a través de la edición de clips (ej., Editor de MIDI).
Actualmente Qtractor es desarrollado principalmente como el hobby de un solo programador, siendo apoyado por un grupo de traductores y usuarios que colaboran ocasionalmente con la creación de parches y scripts. Su desarrollo comenzó como una respuesta a la inexistencia de un DAW en GNU Linux que proporcionara un secuenciador MIDI profesional y un editor/grabador de audio multipista en un mismo programa, por lo que en abril de 2005 surgió inicialmente como una aplicación Qt3, siendo desde 2006 oficialmente una aplicación Qt4. A partir de la versión 0.7.2, lanzada en diciembre de 2015 se usa de manera predetermina el framework Qt5, siendo retrocompatible con la compilación en Qt4.
Qtractor está desarrollado de forma nativa para GNU Linux, bajo la infraestructura de JACK Audio Connection Kit para el manejo de audio, y el secuenciador de ALSA para el MIDI.

## Contenidos
### Características

* Soporta todas las frecuencias de muestreo, sólo limitadas por el hardware.
* Soporta Pistas y Buses ilimitados, sólo condicionados por el hardware.
* Soporta múltiples formatos de archivos de audio, tanto comprimidos como sin comprimir, incluidos FLAC, WAV, AIFF, Ogg Vorbis, MP3 (sólo lectura via libmad) a la vez que formatos antiguos, como .iff y 8SVX, permitiendo, mediante libsamplerate, la conversión en tiempo real entre frecuencias de muestreo.
* Soporte de archivos MIDI en sus versiones 0 y 1.
* Soporta la mayoría de tecnologías plugin de instrumentos virtuales y efectos de audio en Linux, tales como LADSPA, LV2, DSSI y VST nativo para Linux, de igual forma permite el desplazamiento y copia de estos entre pistas, manteniendo siempre los parámetros de configuración.
* Edición sencilla de clips mediante el arrastre desde cualquiera de sus esquinas para desplazarlos, recortarlos, agregarles efectos de fundido de entrada o salida, fundido cruzado entre clips solapados e incluso para realizar técnicas de edición avanzada como lo es el Time Stretching o el Time Shifting, utilizando la tecla modificadora Shift y abriendo el diálogo de Propiedades de Pista respectivamente.
* Grabación por tomas.
* Edición de archivos MIDI mediante Pianola, lista de eventos y transformación por efectos MIDI.
* Mapa ilimitado de marcadores y cambios de tempo.
* Capacidad de exportar pistas de audio y MIDI mediante la tecnología Freewheeling.
* Mesa de mezclas virtual con capacidad de monitorización automática, asignación de eventos MIDI a parámetros como ganancia, panoramización, solo, silencio y grabación, y acceso inmediato Direct Access, a parámetros de configuración de plugins.
* Sesiones guardadas en formato texto claro XML, permitiendo una fácil lectura y edición mediante editores de texto.
* Qtractor puede ser utilizado en entornos de Masterización, gacias a su integración con JACK hace posible usarlo con herramientas de Mastering como JAMin para procesar los datos de audio.
* Función de metrónomo, tanto de audio como MIDI, con samples de audio y notas MIDI seleccionables.
* Atajos de teclado completamente configurables, permitiendo eventos de teclado y eventos de controlador MIDI para cada elemento de la interfaz y el menú de usuario.
* Bandeja de archivos de audio y MIDI, con funciones como la limpieza de archivos no utilizados en la sesión y la audición de archivos previa inserción en la línea de tiempo.
* Incorpora el diálogo de conexiones cableadas virtuales de QjackCtl.

## Compatibilidad
### Plugins

Qtractor se basa en plugins para habilitar muchas características de efectos de audio y para proveer un control dinámico, debido a esto posee un amplio soporte para diferentes formatos de plugins, como lo son la arquitectura LADSPA, así como DSSI, VST nativo para Linux y LV2, a su vez ofrece soporte para la tecnología de plugins VST de Steinberg para Microsoft Windows gracias al emulador Wine, también está disponible la utilización de plugins DSSI-VST. En su archivo de sesión, Qtractor guarda todas las conexiones internas, externas y las configuraciones de plugins, las cuales re-establece cuando un proyecto de sesión es vuelto a cargar.

### Archivos de Entrada-Salida

Qtractor ofrece un amplio soporte de formatos de archivo de entrada y salida, tanto de audio, proporcionado por la librería libsndfile, como de MIDI en sus formatos 0 y 1. Dentro de estos formatos de audio se incluyen aquellos sin pérdida lossless y con pérdida lossy , tales como FLAC, WAV y AIFF, y Ogg Vorbis (vía libvorbis) y MP3 (vía libmad, modo de sólo lectura). La importación de estos archivos se hace independientemente de su frecuencia de muestreo, ya que la conversión de esta se hace en tiempo real mediante la librería libsamplerate.
Para la exportación bounce de los proyectos de audio, a partir de la versión 0.6.7 Qtractor pone a disposición la tecnología Freewheeling para permitir hacer un volcado de los archivos de audio y/o de la señal generada por instrumentos virtuales mediante plugins en modo offline, de esta manera se obtienen tiempos de exportación menores manteniendo siempre la calidad final de los archivos.

### JACK

Qtractor se basa en la infraestructura de audio JACK para la gestión de las conexiones entre el EAD y la interfaz de audio, mientras que para el MIDI se usa el secuenciador de ALSA. La compatibilidad con el transporte JACK puede ser mediante su uso como maestro o esclavo, habilitando de esta manera la integración con otros programas que soporten esta tecnología y así permitir su uso para la sincronización de audio con editores de vídeo o la reproducción sincronizada entre el EAD y otros programas de generación de sonido o creación de secuencias que funcionen en standalone.

### Gestión de Archivos

Qtractor, de manera predeterminada, usa el paradigma de gestión de archivos mediante carpetas y subcarpetas, de esta manera la organización de archivos en un proyecto puede ser hecha de manera manual por el usuario, asegurando así una adaptación precisa del EAD a éste. De igual manera Qtractor proporciona tanto sus archivos de configuración, de sesión, de definiciones de instrumentos, configuración de controladores y plantillas en formato de texto claro en lenguaje XML, lo cual da la posibilidad al usuario de realizar la edición de estos mediante cualquier editor de texto.
Qtractor ofrece compatibilidad con archivos de sesión empaquetados mediante la compresión ZIP en sólo archivo, permitiendo al usuario transportar sus sesiones a diferentes ordenadores teniendo en un único archivo .qtz todos los archivos de audio, MIDI, plugins y configuraciones de la sesión. La gestión interna de los archivos archivos de audio y MIDI se hace mediante la Bandeja de Archivos incorporada en el programa.