Pre-Recorded Audio Quickstart (Espa√Īol)

ūüĆź

To read this in English, see Getting Started with Pre-recorded Audio.

En este tutorial aprender√°s a transcribir autom√°ticamente audios pre-grabados (pre-recorded) usando los SDK de Deepgram. La transcripci√≥n se efectuar√° en espa√Īol. Los SDKs de Deepgram funcionan en conjunto con el endpoint api.deepgram.com.

Antes de Comenzar

Antes de ejecutar el código, debes hacer ciertas cosas.

Regístrate con Deepgram

Antes de poder usar los productos de Deepgram es necesario que te registres con nosotros. Registrarse es gratis y te proporciona los siguientes beneficios:

  • $200 USD en cr√©ditos de Deepgram que te permite acceder a:
    • todos los modelos b√°sicos
    • API endpoints para transcribir audios pre-grabados y audios en vivo
    • todas las funciones del API

Establece una Clave de API Deepgram

Para acceder al API de Deepgram tendr√°s que crear una clave de API Deepgram. Apunta tu clave de API en un lugar seguro, la necesitar√°s pronto.

Configura el Entorno

Nosotros te facilitamos scripts escritos en Python y Node.js suponiendo que ya tienes configurado un entorno de desarrollo en una o ambas de estos idiomas.

‚ĄĻÔłŹ

Si te encuentras con alguna dificultad, no dudes en contactarnos! Contact Support.

Transcribe Audios pre-grabados

En cuanto tengas tu clave API, podrás comenzar a transcribir audios automáticamente. Las instrucciones que siguen te ayudarán a crear un programa simple para transcribir audios pre-grabados. Te mostraremos como instalar el SDK de Deepgram, como usar tu propia clave de API en tu código, tanto como escribir y ejecutar el código.

  1. Escoge un archivo de audio

    Baja nuestra muestra de audio, o graba una propia usando el micr√≥fono de tu computador. Aseg√ļrate que los archivos descargados est√©n en el directorio de tu proyecto.

  2. Instala el SDK de Deepgram

    Abre el terminal, despl√°zate al lugar en el disco donde quieres crear tu proyecto, e instala el SDK de Deepgram.

    Python

    # Instala el SDK Python de Deepgram
    # https://github.com/deepgram/deepgram-python-sdk
    pip install deepgram-sdk
    

    Node.js

    # Lanza un programa nuevo
    npm init
    
    # Instala el SDK Node.js de Deepgram
    # https://github.com/deepgram/node-sdk
    npm install @deepgram/sdk
    

    ‚ö†ÔłŹ

    Aseg√ļrate de que todos los archivos de audio que vayas a usar est√©n en el directorio de tu proyecto.

  3. Escribe el código

    En el terminal, crea un nuevo archivo e introduce el código.

    Python

    Crea un nuevo archivo llamado deepgram_test.py en el directorio de tu proyecto. Introduce el código siguiente al archivo que creaste:

    from deepgram import Deepgram
    import asyncio, json
    
    # Tu clave de API Deepgram
    DEEPGRAM_API_KEY = 'TU_CLAVE_API_DE_DEEPGRAM'
    
    # Nombre y extención del archivo de audio que bajaste (p.ej., sample.mp3).
    PATH_TO_FILE = 'NOMBRE_DEL_ARCHIVO_A_TRANSCRIBIR'
    
    async def main():
      # Lanzar el Deepgram SDK
      dg_client = Deepgram(DEEPGRAM_API_KEY)
      # Abre el archivo
      with open(PATH_TO_FILE, 'rb') as audio:
        # Reemplazar el mimetype como sea necesario
        source = {'buffer': audio, 'mimetype': 'audio/mp3'}
        response = await dg_client.transcription.prerecorded(source, { 'language': 'es', 'punctuate': True })
        print(json.dumps(response, indent=4))
    
    asyncio.run(main())
    

    Node.js

    Crea un nuevo archivo llamado index.js en el directorio de tu proyecto. Introduce al archivo el código siguiente:

    const fs = require("fs");
    const { Deepgram } = require("@deepgram/sdk");
    
    /** Tu clave de API Deepgram*/
    const deepgramApiKey = "TU_CLAVE_API_DE_DEEPGRAM";
    
    /** Nombre y extención del archivo de audio que bajaste (p.ej., sample.mp3) */
    const pathToFile = "NOMBRE_DE_ARCHIVO_A_TRANSCRIBIR";
    
    /** Lanzar el SDK de Deepgram*/
    const deepgram = new Deepgram(deepgramApiKey);
    
    /** Cargar el archivo al buffer */
    const fileBuffer = fs.readFileSync(pathToFile);
    
    deepgram.transcription
    	.preRecorded(
    		{
    			buffer: fileBuffer,
    			mimetype: "audio/mp3", // o el mimetype de tu archivo
    		},
    		{
    			language: es,
    			punctuate: true,
    		}
    	)
    	.then((transcription) => {
    		console.log(transcription);
    	})
    	.catch((err) => {
    		console.log(err);
    	});
    

    ‚ö†ÔłŹ

    Aseg√ļrate de reemplazar el string TU_CLAVE_DE_API_DEEPGRAM con tu verdadera clave de API Deepgram y de reemplazar el string NOMBRE_DEL_ARCHIVO_A_TRANSCRIBIR con el nombre del archivo que bajaste.

  4. Lanza el programa

    Ejecuta el programa desde el terminal:

    Python

    python deepgram_test.py
    

    Node.js

    node index.js
    
  5. Ver los resultados

    Tus transcripciones figurarán en la consola para desarrolladores del navegador web que estés usando.

Analizar la Respuesta del API

Cuando se termine de procesar, el archivó se devolverá una repuesta en formato JSON:

{
  "metadata":{
    "transaction_key":"drm25h...",
    "request_id":"306dae...",
    "sha256":"23a7d0...",
    "created":"2021-12-16T19:40:14.000Z",
    "duration":28.577938,
    "channels":1,
    "models":["35d5c885-fd84-44e3-82fd-e4f8dba035d9"]
  },
  "results":{
    "channels":[
      {
        "alternatives":[
          {
            "transcript":"Cuentan que hace mucho mucho tiempo en el reino subterr√°neo donde no existe el mentira ni el dolor. Viv√≠a una princesa que so√Īaba con el mundo de los humanos. So√Īaba con el cielo azul, la brisa suave y el brillante sol.",
            "confidence":0.984375,
            "words":[
              {
                "word":"cuentan",
                "start":0.6985944,
                "end":1.1377108,
                "confidence":0.97265625,
                "punctuated_word":"Cuentan"
              },
              {
                "word":"que",
                "start":1.1377108,
                "end":1.2574699,
                "confidence":0.8886719,
                "punctuated_word":"que"
              },
              {
                "word":"hace",
                "start":1.2574699,
                "end":1.5369076,
                "confidence":0.9897461,
                "punctuated_word":"hace"
              },
              {
                "word":"mucho",
                "start":1.5369076,
                "end":2.0369077,
                "confidence":0.9711914,
                "punctuated_word":"mucho"
              },
              {
                "word":"mucho",
                "start":3.3332932,
                "end":3.6526506,
                "confidence":0.94384766,
                "punctuated_word":"mucho"
              },
              {
                "word":"tiempo",
                "start":3.6526506,
                "end":4.152651,
                "confidence":0.9868164,
                "punctuated_word":"tiempo"
              },
              {
                "word":"en",
                "start":6.7663856,
                "end":6.8861446,
                "confidence":0.9838867,
                "punctuated_word":"en"
              },
              {
                "word":"el",
                "start":6.8861446,
                "end":7.165582,
                "confidence":0.99072266,
                "punctuated_word":"el"
              },
              {
                "word":"reino",
                "start":7.165582,
                "end":7.4849396,
                "confidence":0.96240234,
                "punctuated_word":"reino"
              },
              {
                "word":"subterr√°neo",
                "start":7.4849396,
                "end":7.9849396,
                "confidence":0.9448242,
                "punctuated_word":"subterr√°neo"
              },
              ...
            ]
          }
        ]
      }
    ]
  }
}

En la respuesta se ven, por defecto, los siguientes datos:

  • transcript: La transcripci√≥n para el audio que se ha procesado.

  • confidence: Un n√ļmero de coma flotante con valor entre 0 y 1 que refleja la calidad de la transcripci√≥n. Valores m√°s grandes representan mayor fiabilidad estad√≠stica.

  • words: Un objecto que, junto con cada palabra (word) de la transcripci√≥n tambi√©n proporciona las marcas de tiempo para el comienzo (start) y fin (end) de cada palabra y el valor de fiabilidad estad√≠stica (confidence) de cada palabra de la transcripci√≥n.

    A razón de que introdujimos la opción punctuate: true al método transcription.prerecorded, dentro de cada objeto de palabra se incluye un valor de punctuated_word, que representa un string en el cual se combina un posible signo de puntuación con la palabra correctamente modificada en cuanto a su capitalización.

Por defecto, Deepgram escoge el modelo est√°ndar (general) que, es √ļtil dado que este modelo es el que sirve para los usos cotidianos.

Pasos siguientes

Ahora que has logrado transcribir un audio pre-grabado, puedes aprender mas acerca de los productos de Deepgram.

Personaliza las Transcripciones

Para personalizar las transcripciones que recibes, puedes configurar una gran variedad de par√°metros de API de Deepgram.

Por ejemplo, si deseas usar la opción Diarization, que es la opción que te permite asociar cada palabra del transcrito con un hablante específico, puedes introducir el parámetro diarize al método transcription.prerecorded que vimos en el ejemplos anteriores:

Python

        response = await dg_client.transcription.prerecorded(source, { 'language': 'es', 'punctuate': True, 'diarize': True })

Node.js

deepgram.transcription.preRecorded(
	{
		buffer: fileBuffer,
		mimetype: "audio/mp3", // o el mimetype de tu archivo
	},
	{
		language: es,
		punctuate: true,
		diarize: true,
	}
);

Para aprender diferentes maneras de secarle mas provecho al API de Deepgram, échale una mirada a la documentación de los APIs de Deepgram.

Explora casos Pr√°cticos

Ahora te sugerimos explorar las distintas maneras que hay de usar los productos de Deepgram para servir tus objetivos de negocio. Descubre m√°s acerca de casos pr√°cticos de Deepgram.

La transcripción automática de audios en vivo

Ya que has aprendido a transcribir audios pre-grabados, tal vez te gustaría ver como se pueden transcribir audios en vivo. Para saber más, visita la página Tutorial del API endpoint para transcribir en vivo.