File size: 1,389 Bytes
f6ee1e6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
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
from transformers import pipeline
from gtts import gTTS
from deep_translator import GoogleTranslator

# Loading models
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")  # Load summarizer
sentiment_analyzer = pipeline("sentiment-analysis")  # Load sentiment analyzer

def analyze_sentiment(text):
    result = sentiment_analyzer(text[:500])[0]
    return result['label']

def summarize_text(text):
    cleaned_text = text.strip().replace("\n", " ")
    cleaned_text = cleaned_text[:3000]  # Limit to avoid token overflow

    result = summarizer(
        cleaned_text,
        max_length=130,
        min_length=30,
        do_sample=False
    )

    summary_text = result[0]['summary_text']
    return summary_text

def translate_to_hindi(text):
    try:
        translated_text = GoogleTranslator(source='auto', target='hi').translate(text)
        return translated_text
    except Exception as e:
        print(f"Translation Error: {e}")
        return text  # Fallback to original text if translation fails

def generate_hindi_tts(text, filename="output.mp3"):
    try:
        hindi_text = translate_to_hindi(text)
        tts = gTTS(text=hindi_text, lang='hi')
        tts.save(filename)
        print(f"Hindi audio saved to {filename}")
        return filename
    except Exception as e:
        print(f"Error in generating the TTS: {e}")
        return None