AA-6055's picture
Update utils.py
f6ee1e6 verified
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