CoolFace
Apppublic

VisionVoice/accessibility-assistant

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
app.py64 linesDownload Raw Back to root
1# -*- coding: utf-8 -*-2"""Assignment 4_Visual Assistance_with TTS.ipynb3 4Automatically generated by Colab.5 6Original file is located at7    https://colab.research.google.com/drive/1LBTUSQuENvlt7NtPgp_-3Rd0SLIxQooR8"""9 10import gradio as gr11from PIL import Image12from transformers import BlipProcessor, BlipForConditionalGeneration13from gtts import gTTS14 15# Load BLIP Vision-Language Model16processor = BlipProcessor.from_pretrained(17    "Salesforce/blip-image-captioning-base"18)19 20model = BlipForConditionalGeneration.from_pretrained(21    "Salesforce/blip-image-captioning-base"22)23 24# Main function: Image → Text → Speech25def describe_image(image):26 27    inputs = processor(image, return_tensors="pt")28 29    # Generate caption30    output = model.generate(**inputs, max_new_tokens=50)31 32    caption = processor.decode(33        output[0],34        skip_special_tokens=True35    )36    #ADD DISCLAIMER HERE (after caption is created)37    caption = "This is an AI-generated description and may not be fully accurate.\n\n" + caption38    39    # Convert text to speech using gTTS40    tts = gTTS(text=caption, lang="en")41 42    audio_path = "output.mp3"43    tts.save(audio_path)44 45    # Return both caption + audio file46    return caption, audio_path47 48 49# Gradio Interface (Text + Audio output)50demo = gr.Interface(51    fn=describe_image,52    inputs=gr.Image(type="pil"),53    outputs=[54        gr.Textbox(label="Image Description"),55        gr.Audio(label="Audio Description")56    ],57    title="VisionVoice Accessibility Assistant",58    description=(59        "Upload an image and receive an AI-generated description "60        "with text and spoken audio output to support accessibility."61    )62)63 64demo.launch()