youtube / app.py
Fralet's picture
Update app.py
240b689 verified
raw
history blame
2.61 kB
from transformers import pipeline
tts = pipeline("text-to-speech", model="facebook/fastspeech2-en-ljspeech")
# Initialize the translation pipeline for Russian to English
translator = pipeline("translation_ru_to_en", model="Helsinki-NLP/opus-mt-ru-en")
# Initialize the summarization pipeline
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
# Input text in Russian
text = "16 стран-участниц «мирного саммита» в Швейцарии отказались подписывать коммюнике. Изначально документ подписали 80 из 92 приглашённых государств. В частности, поддержать текст отказались Армения, Бахрейн, Бразилия, Индия, Индонезия, Ливия, Мексика, ОАЭ, Саудовская Аравия, Таиланд, ЮАР. Святой престол Папы Римского также сначала отказался подписывать коммюнике, но вскоре передумал. Свои подписи под итоговой декларацией вскоре отозвали Ирак и Иордания. Теперь из списка также исчезла Руанда. Примечательно, что в день саммита министр иностранных дел Украины Кулеба лично встретился с делегацией из Кигали и даже отчитался об этом. Представители государства не сообщили, почему решили отозвать свою подпись. Украинская сторона также не прокомментировала решение. Ранее выяснилось, что суть подписанного на саммите коммюнике свелась к предупреждению о недопустимости применения ядерного оружия и предложениям по обмену пленными."
# Translate the text
translation = translator(text)[0]['translation_text']
print("Translated Text: ", translation)
# Summarize the translated text
summary = summarizer(translation, max_length=140, min_length=110, do_sample=False)[0]['summary_text']
print("Summary: ", summary)
speech = tts(summary)
# The output is a list of PyTorch tensors containing the audio data
# Let's save the first (and only) audio sample to a file
with open("output1.wav", "wb") as f:
f.write(speech[0]["file"].read())