====== Línea de comandos con docker ====== Speech to text https://github.com/alphacep/vosk-api https://alphacephei.com/vosk/install apt-get install python-is-python3 python-is-python3 python3-pip ffmpeg pip3 install vosk vosk-transcriber -l es -i fichero.wav -o texto.txt Dockerfile FROM debian RUN apt-get update && apt-get install -y python-is-python3 python-is-python3 python3-pip ffmpeg RUN pip3 install vosk WORKDIR /audio ENTRYPOINT ["bash", "-c", "vosk-transcriber -l es -i $1 -o texto.txt >/dev/null 2>&1 && cat texto.txt", "--"] docker run --rm -v "$PWD":/audio local/speechtotext fichero.wav ====== Como servicio web ====== Creamos el fichero vosk.py que levantará un servidor web que al hacer un post de un fichero de audio, devuelve el texto. Lo levantamos con el comando: python3 vosk.py from flask import Flask, request, jsonify import subprocess app = Flask(__name__) @app.route('/transcribir', methods=['POST']) def transcribir_audio(): archivo_audio = request.files['audio'] archivo_audio.save('audio.wav') subprocess.run(['vosk-transcriber', '-l', 'es', '-i', 'audio.wav', '-o', 'texto.txt']) with open('texto.txt', 'r') as f: texto = f.read() return jsonify({'texto': texto}) if __name__ == '__main__': app.run(debug=True,host='0.0.0.0',port=3000) Se envía un audio con este comando y te devuelve el texto: curl -X POST -F 'audio=@a.ogg' http://10.103.0.1:3000/transcribir ====== Servicio de Google ====== import speech_recognition as sr import time # Creamos un objeto Recognizer r = sr.Recognizer() # Abrimos el archivo de audio y lo pasamos al objeto AudioFile with sr.AudioFile('audio.wav') as source: # Leemos el audio del archivo audio = r.record(source) # Convertimos el audio a texto text = r.recognize_google(audio, language='es-ES') # Generamos un nombre de archivo único para el texto filename = 'texto_' + str(int(time.time())) + '.txt' # Guardamos el texto en un archivo de texto with open(filename, 'w') as f: f.write(text) ====== API TELEGRAM ====== /dades/web/htdocs/apitelegram.lobo99.info/speechtotext/bot.php Graba el archivo en el file system como AwAxxxxxxxx.ogg Lo pasa a http://vosk.lobo99.com/transcribir