Spaces:
Sleeping
Sleeping
| from flask import Flask, request, send_file, jsonify | |
| import soundfile as sf | |
| from kokoro_onnx import Kokoro | |
| import io | |
| app = Flask(__name__) | |
| kokoro = Kokoro("kokoro-v1.0.onnx", "voices-v1.0.bin") | |
| def tts(): | |
| data = request.get_json() | |
| if not data or "text" not in data: | |
| return jsonify({"error": "Missing 'text' in request"}), 400 | |
| text = data["text"] | |
| voice = data.get("voice", "af_heart") | |
| speed = float(data.get("speed", 1.0)) | |
| lang = data.get("lang", "en-us") # lang can be 'en-us' or 'en-gb' | |
| samples, sample_rate = kokoro.create(text, voice=voice, speed=speed, lang=lang) | |
| buf = io.BytesIO() | |
| sf.write(buf, samples, sample_rate, format="WAV") | |
| buf.seek(0) | |
| return send_file(buf, mimetype="audio/wav", as_attachment=True, download_name="audio.wav") | |
| if __name__ == "__main__": | |
| app.run(debug=True) |