Neovim 0.7.0 ya fue liberado y estas son sus novedades

Neovim

Después de casi 4 meses de desarrollo desde la última versión liberada (0.6.1) se ha dado a conocer el lanzamiento de la nueva versión de Neovim 0.7 (una rama del editor Vim, que se centró en mejorar la escalabilidad y la flexibilidad), que trae consigo muchas características nuevas y, por supuesto, muchas correcciones de errores.

Para quienes desconocen de Neovim deben saber que el marco del proyecto, el código base de Vim se ha revisado durante más de siete años, como resultado de lo cual se han realizado cambios para simplificar el mantenimiento del código, proporcionar un medio de división del trabajo entre varios mantenedores, separando la interfaz desde la parte base (la interfaz se puede cambiar sin tocar los internos) e implementando una nueva arquitectura extensible basada en plugins.

Entre los problemas de Vim que provocaron la creación de Neovim se encuentra la base de código monolítica de más de 300.000 líneas de código C. Solo unas pocas personas entienden todos los matices del código base de Vim, y todos los cambios están controlados por un mantenedor, lo que dificulta el mantenimiento y la mejora del editor. En lugar del código incorporado en el núcleo de Vim para admitir la GUI, Neovim propone usar una capa universal que le permite crear interfaces usando varios juegos de herramientas.

Principales novedades de Neovim 0.7.0

En esta nueva versión que se presenta de Neovim 0.7.0 se destaca que se ofrece el soporte inicial para el trabajo remoto, lo que permite a los usuarios poder ejecutar Neovim en un servidor y conectarse a él desde un sistema cliente usando un ui_client separado.

En Neovim 0.5 se realizo la introducción de Lua y ahora en esta nueva versión 0.7.0 Lua ahora podrá usarse en casi todo,  el archivo de inicio del usuario, complementos, esquemas de colores, ftplugins, etc. Cabe mencionar que todavía había algunas deficiencias en la API de Lua en ese momento.

Ademas de ello, se destaca que en Neovim 0.7 hay una nueva forma (experimental) de realizar la detección de tipo de archivo. Una introducción rápida a la detección de tipo de archivo, es por ejemplo cuando sé cuando inicia Neovim por primera vez, esto genera un archivo llamado filetype.vim en el directorio $VIMRUNTIME. Este archivo crea varios cientos de comandos automáticos cuyo único propósito es inferir el tipo de archivo del archivo en función de la información sobre el archivo, más comúnmente el nombre o la extensión del archivo, pero a veces también usando el contenido del archivo.

Otros cambios incluyen:

  • Se suspendió la compatibilidad con Python 2,
  • Se permiten las funciones de Lua en el mapa de teclas
  • Se agregaron nuevos comandos a la API
  • Se amplió significativamente la capacidad de usar el lenguaje Lua para el desarrollo de complementos y la administración de la configuración
  • herramientas para diagnosticar problemas en se ha mejorado el código
  • Se ha agregado soporte para la barra de estado global
  • Se han realizado optimizaciones de rendimiento.
  • Se han ampliado las capacidades del cliente LSP integrado ( Protocolo de servidor de idiomas ), que se puede utilizar para trasladar la lógica de análisis y la finalización del código a servidores externos.

Finalmente si estás interesado en poder conocer más al respecto de esta nueva versión, puedes consultar los cambios en el siguiente enlace.

¿Como instalar NeoVim en Linux?

Ahora, para el caso de la instalación de esta nueva versión en Linux, es importante recalcar que Neovim está dentro de la mayoría de los repositorios de las distribuciones más populares y se puede realizar la instalación ejecutando un simple comando.

En Arch Linux y sus derivados solo tienen que abrir una terminal y en ella van a teclear el siguiente comando:

sudo pacman -S neovim

Mientras que para los que son usuarios de Debian, Ubuntu y derivados podrán instalar el nuevo paquete ejecutando en la terminal el comando:

sudo apt install neovim

En el caso de los que son usuarios de Fedora y derivados:

sudo dnf install neovim

Usuarios de openSUSE:

sudo zypper install neovim

Finalmente para los usuarios de Gentoo

emerge -a app-editors/neovim

from Linux Adictos https://ift.tt/iTUlY1I
via IFTTT

Silero, un sistema de síntesis de voz de red neuronal

Hace varios dias se dio a conocer la liberación de una nueva versión pública del sistema de síntesis de voz de red neuronal Silero Text-to-Speech, cuyo objetivo principal del proyecto es crear un sistema moderno de síntesis de voz de alta calidad que no sea inferior a las soluciones comerciales de las corporaciones y que esté disponible para todos sin el uso de costosos equipos de servidor.

Los modelos se distribuyen bajo la licencia GNU AGPL, pero la empresa que desarrolla el proyecto no revela el mecanismo para entrenar modelos. Para iniciar, se puede usar PyTorch y marcos que admitan el formato ONNX.

Actualmente, Silero cuenta con modelos en Inglés, Español, Alemán, Ruso, Francés, Ucraniano, Tartaro, Uzbeko, Bashkir, entre otros.

La síntesis de voz en Silero se basa en el uso de algoritmos de redes neuronales modernos profundamente modificados y métodos de procesamiento de señales digitales.

Se observa que el principal problema de las soluciones de redes neuronales modernas para la síntesis de voz es que, a menudo, solo están disponibles como parte de las soluciones en la nube pagas y los productos públicos tienen requisitos de hardware elevados, son de menor calidad o no son productos terminados y listos para usar. Por ejemplo, para ejecutar sin problemas una de las nuevas arquitecturas populares de síntesis de extremo a extremo, VITS, en modo de síntesis (es decir, no para entrenamiento de modelos), se requieren tarjetas de video con más de 16 gigabytes de VRAM.

Contrariamente a la tendencia actual, las soluciones de Silero se ejecutan con éxito incluso en 1 subproceso x86 de un procesador Intel con instrucciones AVX2. En 4 subprocesos de procesador, la síntesis le permite sintetizar de 30 a 60 segundos por segundo en modo de síntesis de 8 kHz, en modo de 24 kHz – 15-20 segundos y en modo de 48 kHz – alrededor de 10 segundos.

Principales novedades de la nueva versión de Silero

En esta nueva versión que se presenta se destaca que el tamaño del modelo se reduce 2 veces a 50 megabytes, ademas de que los modelos se han vuelto 10 veces más rápidos y por ejemplo, en el modo de 24 kHz, pueden sintetizar hasta 20 segundos de audio por segundo en 4 hilos de procesador.

Ademas de ello los modelos saben cómo hacer una pausa, pueden aceptar párrafos completos de texto como entrada, se admiten etiquetas SSML y que todas las opciones de voz para un idioma se empaquetan en un solo modelo.

Tambien se destaca que Synthesis funciona a la vez en tres frecuencias de muestreo para elegir: 8, 24 y 48 kilohercios, se resuelven los «problemas de los niños»: inestabilidad y omisión de palabras y se agregaron banderas para controlar la colocación automática de acentos y la colocación de la letra «ё».

Por otra parte, tambien se menciona que hay algunos problemas sistémicos inherentes a la síntesis de Silero y son:

  • A diferencia de las soluciones de síntesis más tradicionales como RHVoice , la síntesis de Silero carece de integración con SAPI, clientes fáciles de instalar e integraciones con Windows y Android.
  • La velocidad, aunque sin precedentes para una solución de este tipo, puede no ser suficiente para la síntesis sobre la marcha en procesadores débiles de alta calidad.
  • La solución automática de estrés no maneja homógrafos y aún comete errores, pero esta falla se solucionará en versiones futuras.
  • La versión actual de la síntesis no funciona en procesadores sin instrucciones AVX2 (o necesita cambiar específicamente la configuración de PyTorch), porque uno de los módulos dentro del modelo está cuantificado.
  • La versión actual de la síntesis esencialmente tiene la única dependencia de PyTorch.
  • libtorch disponible para plataformas móviles es mucho más engorroso que el tiempo de ejecución de ONNX, pero aún no se proporciona la versión ONNX del modelo.

Finalmente se menciona que para la próxima versión se publicará en un futuro próximo con los siguientes cambios:

  • La tasa de síntesis aumentará de 2 a 4 veces más.
  • Se actualizarán los modelos de síntesis para los idiomas de la CEI: kalmuko, tártaro, uzbeko y ucraniano.
  • Se agregarán modelos para idiomas europeos.
  • Se agregarán modelos para idiomas indios.
  • Se agregarán modelos para inglés.

Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/qMhPQNO
via IFTTT