Pular para conteúdo

Transcribe

transcribe(folder, type_model)

Função que transcreve uma lista de arquivos de áudio ou vídeo.

Parameters:

Name Type Description Default
folder str

Caminho da pasta com os arquivos de áudio ou vídeo.

required
type_model str

Tipo de modelo a ser utilizado na transcrição.

required

Returns:

Name Type Description
dic_transcribe dict

Dicionário com o nome do arquivo e o texto transcrito.

Source code in app/transcribe.py
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
def transcribe(folder, type_model):
    '''
    Função que transcreve uma lista de arquivos de áudio ou vídeo.

    Parameters:
        folder (str): Caminho da pasta com os arquivos de áudio ou vídeo.
        type_model (str): Tipo de modelo a ser utilizado na transcrição.

    Returns:
        dic_transcribe (dict): Dicionário com o nome do arquivo e o texto transcrito.
    '''

    # Load whisper model
    model = whisper.load_model(type_model)

    dic_transcribe = {'arquivo'     : [ ],
                      'transcricao' : [ ]}

    audio_file_extensions = (".opus",".wav",".mp3",".ogg",".wma",
                             ".mp4", ".m4a", ".avi", ".mov", ".wmv")


    file_list = os.listdir(folder)

    for file in file_list:

        # Check if file is audio or video and not a hidden file
        if not file.startswith(".") and file.lower().endswith(audio_file_extensions):
            try:  
                st.warning(f"Transcrevendo {file}")   

                result =  model.transcribe(os.path.join(folder,file)) 
                dic_transcribe['arquivo'].append(file)
                dic_transcribe['transcricao'].append(result['text'])

                st.success(f"Arquivo Transcrito: {file}")

            except Exception as e:
                st.error(f"Algo deu errado")
                st.error(e)

    return dic_transcribe