scam-detector / call_analyzer.py
Nanny7's picture
Add real-time features: live text analysis, microphone support, dual JSON datasets
7abcd04
Raw
History Blame Contribute Delete
1.19 kB
from audio_transcriber import AudioTranscriber
from predict import SpamClassifier
class CallAnalyzer:
def __init__(self):
print("Initializing Call Analyzer...")
self.transcriber = AudioTranscriber(model_size='medium')
self.spam_classifier = SpamClassifier()
def analyze_audio(self, audio_path):
# Step 1: Convert audio to text
print("Transcribing audio...")
text = self.transcriber.transcribe(audio_path)
# Step 2: Classify text as spam or not
print("Analyzing text for spam...")
result = self.spam_classifier.predict(text)
return {
'transcribed_text': text,
'is_spam': result['is_spam'],
'label': result['label'],
'confidence': result['confidence']
}
if __name__ == '__main__':
analyzer = CallAnalyzer()
result = analyzer.analyze_audio('test_audio.wav')
print("\n=== Call Analysis Result ===")
print(f"Transcribed Text: {result['transcribed_text']}")
print(f"Classification: {result['label'].upper()}")
print(f"Confidence: {result['confidence']:.2%}")
print(f"Is Spam: {result['is_spam']}")