Forked from turicas/Transcrição de textos em Português com whisper (OpenAI).ipynb
Created
October 31, 2023 15:08
-
-
Save jeffersonvventura/dbd5bb8b40442b45a55f5a0d896c02d4 to your computer and use it in GitHub Desktop.
Transcrição de textos em Português com whisper (OpenAI)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"# Transcrição de textos em Português com whisper (OpenAI)\n", | |
"\n", | |
"Tutorial desenvolvido por [Álvaro Justen](https://twitter.com/turicas).\n", | |
"\n", | |
"Esse tutorial foi desenvolvido para ser executado no ambiente do [Google Colab](https://colab.research.google.com/). Acesse a [versão original do notebook](https://colab.research.google.com/drive/1hDJJNBsl4I3awJuAV2oTKyU0zUUttS_9#scrollTo=Rh3UMmOE3oFk) para facilitar o uso.\n", | |
"\n", | |
"Para transcrever um áudio e baixar os arquivos (tanto da transcrição quanto da legenda, que possui os tempos), execute os seguintes passos:\n", | |
"1. Copie esse notebook para seu Drive (menu \"File\" > \"Save a copy in Drive\");\n", | |
"1. Com a sua cópia desse notebook aberta, feche essa versão e suba o arquivo de áudio que deseja transcrever. Você pode fazer isso de 2 formas diferentes:\n", | |
" - Clique no ícone de pasta  no canto esquerdo, depois no ícone de seta para cima  e escolha o arquivo; ou\n", | |
" - Clique no ícone de pasta no canto esquerdo  e arraste o arquivo para a área abaixo do ícone da pasta (onde a pasta `sample_data` está);\n", | |
"1. Coloque o nome do arquivo que deseja transcrever na célula de código ao fim do notebook: troque `nome do arquivo.mp3` pelo nome do arquivo que você fez upload no passo anterior. Maiúsculas são diferentes de minúsculas; mantenha as aspas;\n", | |
"1. Escolha um dos modelos disponíveis (mais detalhes abaixo) e edite a célula de código, trocando `medium` pelo modelo desejado. Mantenha as aspas. Maiúsculas são diferentes de minúsculas; mantenha as aspas. O modelo `small` costuma ter boa acurácia com baixo tempo de processamento;\n", | |
"1. Clique no botão *play*  que fica no canto superior esquerdo da célula de código;\n", | |
"1. Aguarde o código terminar de executar - o botão *play* vira *stop* durante a execução e volta a ser *play* quando ela termina, precedido pelo tempo que o código demorou para executar. \n", | |
"1. Abra o gerenciador de arquivos  e procure por uma pasta que começa com \"output\". Lá estarão os arquivos da transcrição em vários formatos (`.txt` é apenas o texto, `.vtt` e `.srt` é legenda, com os tempos). Baixe os que desejar clicando nos três pontos  e depois na opção \"Download\".\n", | |
"1. Depois de um tempo o notebook \"desconecta\" e todos os arquivos (tanto os que você enviou quanto os que foram gerados) se perdem. Baixe as transcrições tão logo o processo finalize para não perdê-las.\n", | |
"\n", | |
"\n", | |
"## Modelos disponíveis\n", | |
"\n", | |
"Você pode escolher qual o tamanho de modelo deseja usar. Os tamanhos impactam na qualidade do resultado e no tempo de processamento (quanto melhor a qualidade, mais tempo de processamento). A escolha entre eles também está à qualidade do áudio: se poluído com ruídos, provavelmente será necessário um modelo com maior qualidade para conseguir transcrever corretamente.\n", | |
"\n", | |
"A lista de possíveis modelos é, do mais rápido para o fim o maior qualidade:\n", | |
"\n", | |
"- tiny\n", | |
"- base\n", | |
"- small\n", | |
"- medium\n", | |
"- large\n", | |
"\n", | |
"\n", | |
"## Acelerando a execução do código\n", | |
"\n", | |
"A execução desse modelo é bem mais rápida em uma GPU. Você pode tentar usar uma GPU gratuitamente aqui no Colab clicando no menu \"Runtime\" > \"Change runtime type\". Depois disso, selecione \"GPU\" em \"Hardware Accelerator\":\n", | |
"\n", | |
"\n", | |
"\n", | |
"> Nota: caso você esteja utilizando a versão gratuita do Colab a opção \"GPU class\" não estará habilitada e a disponibilidade de GPUs não é garantida." | |
], | |
"metadata": { | |
"id": "Rh3UMmOE3oFk" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"!pip install openai-whisper\n", | |
"import subprocess\n", | |
"\n", | |
"filename = \"nome do arquivo.mp3\"\n", | |
"model_name = \"medium\"\n", | |
"subprocess.run(\n", | |
" [\n", | |
" \"whisper\", \n", | |
" \"--language\", \"pt\", \n", | |
" \"--word_timestamps\", \"True\",\n", | |
" \"--model\", model_name, \n", | |
" \"--output_dir\", f\"output-{model_name}\", \n", | |
" filename\n", | |
" ]\n", | |
")" | |
], | |
"metadata": { | |
"id": "fEOS5MIhxWSI" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
} | |
], | |
"metadata": { | |
"accelerator": "GPU", | |
"colab": { | |
"provenance": [] | |
}, | |
"gpuClass": "premium", | |
"kernelspec": { | |
"display_name": "Python 3", | |
"name": "python3" | |
}, | |
"language_info": { | |
"name": "python" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment