Spaces:
Runtime error
Runtime error
| import os | |
| import json | |
| from flask import Flask, jsonify, request | |
| from transformers import pipeline | |
| # Create a Flask app | |
| app = Flask(__name__) | |
| # Initialize the audio model at the start of the API | |
| audio_model = None | |
| def download_models(): | |
| global audio_model | |
| print("Downloading audio model...") | |
| # Download and load the audio model | |
| audio_model = pipeline("audio-classification", model="MelodyMachine/Deepfake-audio-detection-V2") | |
| print("Audio model downloaded and ready to use.") | |
| # Download the model when the server starts | |
| download_models() | |
| def detect_deepfake(): | |
| folder_path = request.form.get('folder_path') | |
| if not folder_path or not os.path.isdir(folder_path): | |
| return jsonify({"error": "Invalid folder path"}), 400 | |
| results = {} | |
| try: | |
| # Process audio files only | |
| for file_name in os.listdir(folder_path): | |
| if file_name.endswith('.wav') or file_name.endswith('.mp3'): | |
| file_path = os.path.join(folder_path, file_name) | |
| result = audio_model(file_path) | |
| results[file_name] = {item['label']: item['score'] for item in result} | |
| # Save results to a file | |
| with open('detection_results.json', 'w') as f: | |
| f.write(json.dumps(results)) | |
| return jsonify({"message": "Detection completed", "results": results}), 200 | |
| except Exception as e: | |
| return jsonify({"error": str(e)}), 500 | |
| if __name__ == '__main__': | |
| # Run the Flask app | |
| app.run(host='0.0.0.0', port=7860) | |