ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Editor de audio Audacity


Enviado por   •  10 de Noviembre de 2015  •  Resúmenes  •  1.415 Palabras (6 Páginas)  •  200 Visitas

Página 1 de 6

Audacity

Este tema trata de popular grabador de sonido y editor de audio llamado Audacity.  Este software es muy capaz y no deja de lado la manera fácil de uso para los usuarios. La mayoría de los usuarios están en Windows, pero el mismo código fuente de Audacity compila para ejecutar en Linux y Mac también.

En cuanto a la historia de este software se dice que fue Dominic Mazzoni quien escribió la versión original de Audacity en 1999 cuando era estudiante de investigación en la Universidad de Carnegie Mellon. Dominic quería crear una plataforma sobre la que desarrollar y depurar algoritmos de procesamiento de audio. El software creció hasta llegar a ser útil de muchas otras maneras. Una vez que Audacity fue lanzado como software de código abierto, atrajo a otros desarrolladores. Un pequeño y gradual equipo de entusiastas ha modificado, mantenido, probado, actualizado, elaborado documentación, con la ayuda a los usuarios, y traducido la interfaz de Audacity en otros idiomas a través de los años.

La Estructura de Audacity es modular, se refiere a que trabaja en capas de varias librerías, cuando se hace una nueva programación en el código de Audacity no requiere un conocimiento detallado de lo que está pasando en estas librerías, pero el conocimiento de sus APIs y lo que hace es importante. Esto ayuda a entender que en Audacity  sólo una fracción del código es esencial. Las librerías aportan una gran cantidad de funciones opcionales, aunque las personas que utilizan esas funciones no lo consideran opcional. Esta arquitectura también está determinada por consideraciones como utilizar el tiempo de desarrollo escaso que tiene de la mejor manera.

La estructura de un programa como Audacity claramente no fue diseñado desde el principio. Es algo que se desarrolla con el tiempo. En general la arquitectura que ahora funciona es la que mejor se adapta a los desarrolladores. Se encuentran luchando con la arquitectura cuando tratan de agregar características que afectan a muchos de los archivos de origen. Por ejemplo, Audacity actualmente maneja pistas estéreo y mono de una manera especial entubado. Si quieres modificar Audacity para manejar sonido envolvente había necesidad de hacer cambios en muchas clases de Audacity.

Como ya se había mencionado Audacity trabaja con varias librerías de las cuales las más importantes son PortAudio que proporciona una interfaz de audio de bajo nivel de una manera multi-plataforma, y ​​wxWidgets que proporciona componentes GUI de manera multiplataforma. Además de tener su propio sistema de efectos de audio, Audacity soportes LADSPA (Linux Audio Developer's Simple Plugin API) para que se pueden cargar la dinámica de efectos de audio plug-in. El API VAMP en Audacity hace lo mismo para los plugins que analizan audio. Sin estas API, Audacity sería menos rica en características, pero no absolutamente depender de estas características. Otras librerías opcionales utilizados por Audacity son libFLAC, libogg y libvorbis. Estos proporcionan varios formatos de compresión de audio. Formato MP3 se atiende al cargar dinámicamente la biblioteca LAME o FFmpeg. Las restricciones de licencia de algunas librerías impiden las compresiones muy populares para ser incorporadas en Audacity.

[pic 1]

La figura anterior muestra algunas capas y módulos en Audacity. El diagrama destaca tres clases importantes de wxWidgets, cada una de ellas tiene un reflejo en Audacity. Los desarrolladores están creando abstracciones de alto nivel de los de menor nivel relacionado. Por ejemplo, el sistema de BlockFile es un reflejo y está construido sobre wxFiles wxWidgets’. Tal vez, en algún momento, tiene sentido dividir a BlockFiles, ShuttleGUI y manejo de comandos en una librería intermedia.

Más abajo en el diagrama se observa la "Plataforma capas específicas de ejecución." Ambos wxWidgets y PortAudio son OS capas de abstracción. Ambos contienen código condicional que elige entre diferentes implementaciones dependiendo de la plataforma de destino.

La categoría "Otras librerías de apoyo" incluye una amplia colección de librerías. Curiosamente un buen número de ellos se basan en módulos cargados dinámicamente. Esos módulos dinámicos no saben nada de wxWidgets.

Como muestra la figura los módulos que tiene Audacity son: wxWidgets GUI Library, ShuttleGui Layer, El TrackPanel, PortAudio Library: grabación y reproducción, Scripting y BlockFiles.

  • wxWidgets GUI Library: La librería individual más importante para los programadores de la interfaz de usuario de Audacity, que ofrece cosas como botones, deslizadores, casillas de verificación, las ventanas y cuadros de diálogo. Proporciona el comportamiento multiplataforma más visible. La biblioteca wxWidgets tiene su propia clase string wxString, tiene abstracciones de plataforma cruzada por hilos, sistemas de archivos y fuentes, y un mecanismo para la localización a otros idiomas.
  • ShuttleGui Layer: reduce mucho el número de líneas de código necesario para especificar un cuadro de diálogo, haciendo que el código sea más legible. ShuttleGui es una capa adicional entre la biblioteca y Audacity wxWidgets. Su trabajo consiste en la transferencia de información entre los dos

  • El TrackPanel: muestra las formas de onda de audio. Se trata de un control personalizado dibujado por Audacity. Se compone de los componentes, tales como paneles más pequeños con información de la pista, una regla de base de tiempo, los gobernantes de la amplitud, y las pistas que pueden mostrar formas de onda, espectro o etiquetas de texto.
  • PortAudio Library: PortAudio es la librería de audio Audacity que da la capacidad de reproducir y grabar audio de manera multiplataforma. Sin ella Audacity no sería capaz de usar la tarjeta de sonido del dispositivo que se está ejecutando. PortAudio proporciona las memorias cíclicas, conversión de frecuencia de muestreo durante la reproducción / grabación y, sobre todo, proporciona una API que oculta las diferencias entre audio en Mac, Linux y Windows. Dentro PortAudio hay archivos de implementación alternativos para apoyar esta API para cada plataforma.
  • Scripting: Audacity tiene un plugin experimental que soporta múltiples lenguajes de scripting. Proporciona una interfaz de scripting más de una canalización con nombre. Los comandos son expuestas a través de secuencias de comandos en un formato de texto, como son las respuestas. Mientras lenguaje de scripting del usuario puede escribir texto y leer el texto de una tubería con nombre, el lenguaje de programación puede conducir Audacity. 

Uno de los módulos que resolvió de una manera creativa algunos problemas en Audacity es BlockFiles: 

Porque uno de los retos que enfrenta Audacity es el apoyo a las inserciones y supresiones en grabaciones de audio que puede tardar horas. Las grabaciones pueden ser fácilmente demasiado larga para caber en la memoria RAM disponible. Si una grabación de audio está en un archivo único disco, la inserción en algún lugar cerca de la salida de audio de ese archivo puede significar mover una gran cantidad de datos para dar paso. Copia de los datos en el disco podría llevar mucho tiempo y significa que Audacity entonces no podía responder rápidamente a las ediciones sencillas.

...

Descargar como (para miembros actualizados)  txt (9 Kb)   pdf (107 Kb)   docx (24 Kb)  
Leer 5 páginas más »
Disponible sólo en Clubensayos.com