Use Operai Whisper para transcripciones automatizadas

Desarrollo últimamente con modelos de idiomas grandes (LLM). Gran parte del enfoque está en la respuesta de la pregunta que puede hacer con modelos puros basados ​​en texto o modelos en idioma de visión (VLMS), donde también puede ingresar imágenes.

Sin embargo, hay otra dimensión que ha evolucionado una tonelada en los últimos años: audio. Modelos que pueden transcribir (habla -> texto), síntesis de discurso (texto -> discurso) y también voz a voz, donde tiene una conversación completa con un modelo de idioma, con audio entrando y saliendo.

La arcitectura y la tubería de entrenamiento para el modelo Whisper de OpenAI. Imagen de Repositorio de Operai Whisper Github con licencia MIT.

En este artículo, discutiré cómo estoy utilizando el desarrollo dentro del espacio del modelo de audio para mi ventaja, convirtiéndome en un programador aún más eficiente.

Este es un video de ejemplo de mí usando la herramienta de transcripción. Primero selecciono el campo de inmediato en Cursor Y use mi tecla de acceso rápido para activar el micrófono, que se indica con el icono de naranja en la parte superior izquierda. Luego hablo de la oración que quiero transcribir, y aparece rápidamente en la ventana rápida sin que yo tenga que escribir en el teclado. Esta es una forma más eficiente de escribir largas indicaciones en inglés en su editor. Video del autor.

Motivación

Mi principal motivación para escribir este artículo es que estoy buscando continuamente formas de convertirme en un programador más eficiente. Después de usar la aplicación móvil CHATGPT por un tiempo, descubrí su opción de transcripción (el icono de micrófono a la derecha en el campo de entrada del usuario). Usé la transcripción y rápidamente me di cuenta de cuánto mejor se compara esta transcripción con otras que he usado antes, como la transcripción de iPhone incorporada de Apple.

La transcripción de Openai casi siempre captura todas mis palabras, con muy pocos errores. Incluso si uso palabras menos comunes, por ejemplo, acrónimos relacionados con la informática, todavía puede recoger lo que estoy diciendo.

El icono de transcripción de la aplicación OpenAI. Imagen del autor, tomada de Chatgpt de Openai.

Esta transcripción solo estaba disponible en la aplicación CHATGPT. Sin embargo, sé que OpenAI tiene un punto final API para su modelo Whisper, que es (presumiblemente) el mismo modelo que están utilizando para transcribir el texto en la aplicación. Por lo tanto, quería configurar este modelo en mi Mac para estar disponible a través de un atajo.

(Sé que hay aplicaciones como Macwhisper Disponible, pero quería desarrollar una solución completamente gratuita, que no sean los costos de la API.

Requisitos previos

  • Alfredo (Usaré Alfred en la Mac para activar algunos scripts. Sin embargo, las alternativas a esto también existen. En general, necesita una forma de activar los scripts en su Mac / PC desde una tecla de acceso rápido.

Pros

La principal ventaja de usar esta transcripción es que puede ingresar palabras en su computadora más rápidamente. Cuando escribo lo más rápido que puedo en mi computadora, ni siquiera puedo alcanzar 100 palabras por minuto, y si voy a escribir a esa velocidad, realmente tengo que concentrarme. Sin embargo, la velocidad de conversación promedio está en un mínimo de 110de acuerdo a este artiCLE.

Esto significa que puede ser mucho más efectivo si puede hablar sus palabras con la transcripción, en lugar de escribirlas en el teclado.

Creo que esto es especialmente relevante después del aumento de modelos de idiomas grandes como ChatGPT. Pasó más tiempo solicitando los modelos de idioma, por ejemplo, haciendo preguntas a ChatGPT o solicitando al cursor para implementar una función o arreglar un error. Por lo tanto, el uso del idioma inglés es mucho más frecuente ahora que antes, en comparación con el uso de lenguajes de programación como Python directamente.

Nota: Por supuesto, todavía escribirá mucho código, pero por experiencia, paso mucho más tiempo, lo que provoca el cursor, por ejemplo, con extensas indicaciones en inglés, en cuyo caso, el uso de esta transcripción me ahorra mucho tiempo.

Contras

Sin embargo, también puede haber algunas desventajas para usar la transcripción. Una de las principales es que muchas veces no quieres hablar en voz alta al programar. Es posible que esté sentado en el aeropuerto (como estoy al escribir este artículo), o incluso en su oficina. Cuando estás en estos escenarios, probablemente no quieras molestar a los que te rodean hablando en voz alta. Sin embargo, si está sentado en una oficina en casa, esto naturalmente no es un problema.

Otro lado negativo es que las indicaciones más pequeñas podrían no ser mucho más rápidas. Imagine esto: si solo desea escribir un mensaje de una sola oración, en muchos escenarios será más rápido solo escribir la solicitud a mano. Esto se debe a la demora en comenzar, detener y transcribir audio al texto. Enviar la llamada API lleva un poco de tiempo, y cuanto más corto sea el aviso, mayor fracción del tiempo que tiene que pasar esperando la respuesta.

Cómo implementar

Puedes ver el Código que usé en este artículo en mi GitHub. Sin embargo, también debe agregar teclas de acceso rápido para ejecutar los scripts.

Primero, tienes que:

  • Clon el repositorio de GitHub:
git clone https://github.com/EivindKjosbakken/whisper-shortcut.git
  • Crear un entorno virtual llamado .venv e instalar los paquetes requeridos:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
  • Obtenga una llave API de OpenAI. Puedes hacer eso por:

Los scripts del repositorio de GitHub funcionan por:

  • start_recording.sh – Comienza a grabar tu voz. La primera vez que use esto, le pedirá permiso para usar el micrófono
  • stop_recording.sh – Envía una señal de parada al script para dejar de grabar. Luego envía el audio grabado a OpenAI para la transcripción. Además, agrega el texto transcrito a su portapapeles y pasea el texto si tiene un campo de texto en su PC seleccionado

Todo el repositorio está disponible con una licencia MIT.

Alfredo

Puede encontrar el flujo de trabajo Alfred en el repositorio de GitHub aquí: Transcribe.alfredworkflow.

Así es como configuré el flujo de trabajo Alfred:

Mi flujo de trabajo Alfred. Tengo dos teclas de acceso rápido, una para comenzar la transcripción (grabar voz) y una para detener la transcripción (dejar de grabar y enviar el audio a la API Operai Whisper para la transcripción). El comando Opción + Q ejecuta el script start_recording.sh, y la opción + w ejecuta el script stop_recording.sh. Puede, por supuesto, cambiar las teclas de acceso rápido para estos comandos. Imagen del autor.

Simplemente puede descargarlo y agregarlo a su Alfred.

Además, recuerde tener una ventana de terminal abierta siempre que desee ejecutar este script, ya que activa el script de Python desde el terminal. Tenía que hacerlo de esta manera porque si el script se activaba directamente desde Alfred, obtuve problemas de permiso. La primera vez que ejecuta el script, se le debe pedir que le dé acceso a su terminal al micrófono, que debe aprobar.

Costo

Una consideración importante cuando se usa API como Operai Whisper es el costo del uso de la API. Consideraría el costo de usar el modelo Whisper de OpenAI moderadamente alto. Como siempre, el costo depende totalmente de cuánto usa el modelo. Diría que uso el modelo hasta 25 veces al día, hasta 150 palabras, y el costo es de menos de 1 dólar por día.

Esto significa, sin embargo, que si usa mucho el modelo, puede ver costos de hasta 30 dólares por mes, lo cual definitivamente es un costo sustancial. Sin embargo, creo que es importante tomar nota de los ahorros de tiempo que tiene del modelo. Si cada uso del modelo le ahorra 30 segundos, y lo usa 20 veces al día, acaba de ahorrar diez minutos de su día. Personalmente, estoy dispuesto a pagar un dólar para ahorrar diez minutos de mi día, realizando una tarea (escribiendo en mi teclado), eso realmente no me otorga ningún otro beneficio. Si corresponde, usar su teclado puede contribuir a un mayor riesgo de lesiones, como el síndrome del túnel carpiano. El uso del modelo definitivamente vale la pena para mí.

Conclusión

En este artículo, comencé discutiendo los inmensos avances dentro de los modelos de idiomas en los últimos años. Esto nos ha ayudado a crear poderosos chatbots, ahorrándonos enormes cantidades de tiempo. Sin embargo, con los avances de los modelos de idiomas, también hemos visto avances en modelos de voz. La transcripción que usa Operai Whisper ahora es casi perfecta (desde la experiencia personal), lo que la convierte en una herramienta poderosa que puede usar para ingresar palabras en su computadora de manera más efectiva. Discutí los pros y los contras de usar Operai Whisper en su PC, y también fui paso a paso a través de cómo puede implementarlo en su propia computadora.