An open API service indexing awesome lists of open source software.

https://github.com/arkaniightt/web_app_transcriptor_openai

Ferramenta de transcrição automática de áudio para texto, utilizando Streamlit e OpenAI, com suporte a microfone, vídeo e upload de arquivos de áudio.
https://github.com/arkaniightt/web_app_transcriptor_openai

ai app openai python streamlit tool tools transcript transcription webapp whisper

Last synced: 11 months ago
JSON representation

Ferramenta de transcrição automática de áudio para texto, utilizando Streamlit e OpenAI, com suporte a microfone, vídeo e upload de arquivos de áudio.

Awesome Lists containing this project

README

          




WEB_APP_TRANSCRIPTOR_OPENAI



Transcrevendo a Web, um Sussurro de Cada Vez!



licença
último commit
linguagem principal do repositório
número de linguagens no repositório








## 🔗 Índice

- [📍 Visão Geral](#-visão-geral)
- [👾 Funcionalidades](#-funcionalidades)
- [📁 Estrutura do Projeto](#-estrutura-do-projeto)
- [📂 Índice do Projeto](#-índice-do-projeto)
- [🚀 Começando](#-começando)
- [☑️ Pré-requisitos](#-pré-requisitos)
- [⚙️ Instalação](#️-instalação)
- [🤖 Uso](#-uso)
- [🧪 Testes](#-testes)
- [📌 Roteiro do Projeto](#-roteiro-do-projeto)
- [🔰 Contribuindo](#-contribuindo)
- [🎗 Licença](#-licença)
- [🙌 Agradecimentos](#-agradecimentos)

---

## 📍 Visão Geral

O projeto WebAppTranscriptorOpenai é uma ferramenta inovadora projetada para converter linguagem falada em texto escrito. Ele utiliza o sistema Whisper ASR da OpenAI para transcrever áudio de várias fontes, incluindo microfones e arquivos de vídeo. Esta aplicação amigável, com recursos de comunicação em tempo real e tratamento de erros, é ideal para profissionais que precisam de transcrições rápidas e precisas, como jornalistas, pesquisadores e estudantes.

---

## 👾 Funcionalidades

| | Funcionalidade | Resumo |
| :--- | :---: | :--- |
| ⚙️ | **Arquitetura** |


  • O projeto é estruturado em dois arquivos Python principais: `app.py` e `utils.py`.

  • `app.py` serve como ponto de entrada principal, fornecendo a interface do usuário e lidando com as interações do usuário.

  • `utils.py` gerencia operações de arquivos de áudio e vídeo, incluindo extração de áudio de arquivos de vídeo e transcrição do conteúdo de áudio usando o sistema Whisper ASR da OpenAI.

|
| 🔩 | **Qualidade do Código** |

  • O código é bem estruturado e modular, com clara separação de responsabilidades entre `app.py` e `utils.py`.

  • Há tratamento eficaz de erros e notificações de sucesso para interações do usuário.

  • O código utiliza recursos modernos do Python e bibliotecas, como Streamlit para a interface do usuário e OpenAI para o serviço de transcrição.

|
| 📄 | **Documentação** |

  • A linguagem principal usada no projeto é Python, com um total de 2 arquivos Python e 2 arquivos de texto.

  • O projeto usa `pip` como gerenciador de pacotes, com dependências especificadas em `requirements.txt`.

  • Instruções de instalação e uso são fornecidas, incluindo comandos para instalar dependências e executar a aplicação.

|
| 🔌 | **Integrações** |

  • O projeto integra-se com o sistema Whisper ASR da OpenAI para serviços de transcrição.

  • Utiliza a biblioteca Streamlit para a interface do usuário e WebRTC para comunicação em tempo real.

  • O projeto também integra o framework multimídia `ffmpeg` para manusear vídeo, áudio e outros arquivos e fluxos multimídia.

|
| 🧩 | **Modularidade** |

  • O projeto é modular, com módulos Python separados para diferentes funcionalidades (`app.py` e `utils.py`).

  • Cada módulo tem um papel específico, tornando o código fácil de entender e manter.

|
| 🧪 | **Testes** |

  • Embora não haja arquivos de teste explícitos no projeto, as instruções de uso incluem um comando para executar testes com `pytest`.

  • Isso sugere que o projeto pode ter um framework de testes configurado, embora os detalhes não sejam especificados no contexto fornecido.

|
| ⚡️ | **Desempenho** |

  • O projeto utiliza bibliotecas eficientes como `numpy` e `pandas` para manipulação de dados, conhecidas por seu desempenho.

  • O uso do sistema Whisper ASR da OpenAI para transcrição provavelmente garante alta precisão e velocidade.

|
| 🛡️ | **Segurança** |

  • O projeto estabelece uma conexão segura com o cliente OpenAI usando uma chave de API.

  • No entanto, sem mais informações, é difícil avaliar completamente as medidas de segurança do projeto.

|

---

## 📁 Estrutura do Projeto

```sh
└── Web_App_Transcriptor_Openai/
├── app.py
├── ffmpeg.exe
├── packages.txt
├── requirements.txt
└── utils.py
```

### 📂 Índice do Projeto

WEB_APP_TRANSCRIPTOR_OPENAI/

__root__




utils.py
- O módulo 'utils.py' no projeto gerencia principalmente operações de arquivos de áudio e vídeo
- Extrai áudio de arquivos de vídeo, salva-os temporariamente e transcreve o conteúdo de áudio usando o sistema Whisper ASR da OpenAI
- Este módulo também estabelece uma conexão com o cliente OpenAI usando uma chave de API, garantindo integração perfeita com os serviços da OpenAI.


app.py
- O 'app.py' serve como o ponto de entrada principal para a ferramenta de transcrição de áudio
- Fornece três métodos de transcrição: via microfone, vídeo ou arquivo de áudio
- A ferramenta usa a biblioteca Streamlit para a interface do usuário, WebRTC para comunicação em tempo real e OpenAI para o serviço de transcrição
- Também inclui tratamento de erros e notificações de sucesso para interações do usuário.


requirements.txt
- O arquivo 'requirements.txt' especifica os pacotes Python necessários para o projeto
- Garante ambientes consistentes em diferentes configurações, auxiliando na reprodutibilidade do projeto
- Os pacotes listados variam de manipulação de dados (pandas, numpy), frameworks web (streamlit), a bibliotecas de machine learning (openai), indicando um escopo de aplicação diversificado.


packages.txt
- O 'packages.txt' serve como um manifesto para o projeto, especificando as dependências externas necessárias para o software funcionar corretamente
- Neste caso, indica a necessidade do pacote ffmpeg, um poderoso framework multimídia usado para manipular vídeo, áudio e outros arquivos e fluxos multimídia dentro do código do projeto.



---

## 🚀 Começando

### ☑️ Pré-requisitos

Antes de começar com o Web_App_Transcriptor_Openai, certifique-se de que seu ambiente de execução atenda aos seguintes requisitos:

- **Linguagem de Programação:** Python
- **Gerenciador de Pacotes:** Pip

### ⚙️ Instalação

Instale o Web_App_Transcriptor_Openai usando um dos seguintes métodos:

**Compilação a partir do código-fonte:**

1. Clone o repositório Web_App_Transcriptor_Openai:

```sh
❯ git clone https://github.com/ArkaNiightt/Web_App_Transcriptor_Openai
```

2. Navegue até o diretório do projeto:

```sh
❯ cd Web_App_Transcriptor_Openai
```

3. Instale as dependências do projeto:

**Usando `pip`**   [](https://pypi.org/project/pip/)

```sh
❯ pip install -r requirements.txt
```

### 🤖 Uso

Execute o Web_App_Transcriptor_Openai usando o seguinte comando:
**Usando `pip`**   [](https://pypi.org/project/pip/)

```sh
❯ python {ponto_de_entrada}
```

### 🧪 Testes

Execute o conjunto de testes usando o seguinte comando:
**Usando `pip`**   [](https://pypi.org/project/pip/)

```sh
❯ pytest
```

---

## 📌 Roteiro do Projeto

- [X] **`Tarefa 1`**: Implementar a funcionalidade um.
- [ ] **`Tarefa 2`**: Implementar a funcionalidade dois.
- [ ] **`Tarefa 3`**: Implementar a funcionalidade três.

---

## 🔰 Contribuindo

- **💬 [Participe das Discussões](https://github.com/ArkaNiightt/Web_App_Transcriptor_Openai/discussions)**: Compartilhe seus insights, forneça feedback ou faça perguntas.
- **🐛 [Reporte Problemas](https://github.com/ArkaNiightt/Web_App_Transcriptor_Openai/issues)**: Envie bugs encontrados ou registre solicitações de recursos para o projeto `Web_App_Transcriptor_Openai`.
- **💡 [Envie Pull Requests](https://github.com/ArkaNiightt/Web_App_Transcriptor_Openai/blob/main/CONTRIBUTING.md)**: Revise PRs abertos e envie seus próprios PRs.

Diretrizes de Contribuição

1. **Faça um Fork do Repositório**: Comece fazendo um fork do repositório do projeto para sua conta do GitHub.
2. **Clone Localmente**: Clone o repositório forkado para sua máquina local usando um cliente git.

```sh
git clone https://github.com/ArkaNiightt/Web_App_Transcriptor_Openai
```

3. **Crie um Novo Branch**: Sempre trabalhe em um novo branch, dando-lhe um nome descritivo.

```sh
git checkout -b nova-funcionalidade-x
```

4. **Faça Suas Alterações**: Desenvolva e teste suas alterações localmente.
5. **Commite Suas Alterações**: Faça commit com uma mensagem clara descrevendo suas atualizações.

```sh
git commit -m 'Implementada nova funcionalidade x.'
```

6. **Envie para o GitHub**: Envie as alterações para o seu repositório forkado.

```sh
git push origin nova-funcionalidade-x
```

7. **Envie um Pull Request**: Crie um PR contra o repositório original do projeto. Descreva claramente as alterações e suas motivações.
8. **Revisão**: Uma vez que seu PR for revisado e aprovado, ele será mesclado ao branch principal. Parabéns pela sua contribuição!

Gráfico de Contribuidores






---