Spaces:
Paused
Paused
| import gradio as gr | |
| from transformers import pipeline | |
| import os | |
| import torch | |
| # Set max_split_size_mb | |
| os.environ['PYTORCH_CUDA_ALLOC_CONF'] = 'max_split_size_mb:50' | |
| title = """# 🙋🏻♂️Welcome to🌟Tonic's Nexus🐦⬛Raven""" | |
| description = """You can build with this endpoint using Nexus Raven. The demo is still a work in progress but we hope to add some endpoints for commonly used functions such as intention mappers and audiobook processing. | |
| You can also use Nexus🐦⬛Raven on your laptop & by cloning this space. 🧬🔬🔍 Simply click here: <a style="display:inline-block" href="https://huggingface.co/spaces/Tonic1/NexusRaven2?duplicate=true"><img src="https://img.shields.io/badge/-Duplicate%20Space-blue?labelColor=white&style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAP5JREFUOE+lk7FqAkEURY+ltunEgFXS2sZGIbXfEPdLlnxJyDdYB62sbbUKpLbVNhyYFzbrrA74YJlh9r079973psed0cvUD4A+4HoCjsA85X0Dfn/RBLBgBDxnQPfAEJgBY+A9gALA4tcbamSzS4xq4FOQAJgCDwV2CPKV8tZAJcAjMMkUe1vX+U+SMhfAJEHasQIWmXNN3abzDwHUrgcRGmYcgKe0bxrblHEB4E/pndMazNpSZGcsZdBlYJcEL9Afo75molJyM2FxmPgmgPqlWNLGfwZGG6UiyEvLzHYDmoPkDDiNm9JR9uboiONcBXrpY1qmgs21x1QwyZcpvxt9NS09PlsPAAAAAElFTkSuQmCC&logoWidth=14" alt="Duplicate Space"></a></h3> | |
| Join us : 🌟TeamTonic🌟 is always making cool demos! Join our active builder's🛠️community on 👻Discord: [Discord](https://discord.gg/GWpVpekp) On 🤗Huggingface: [TeamTonic](https://huggingface.co/TeamTonic) & [MultiTransformer](https://huggingface.co/MultiTransformer) On 🌐Github: [Polytonic](https://github.com/tonic-ai) & contribute to 🌟 [PolyGPT](https://github.com/tonic-ai/polygpt-alpha) | |
| """ | |
| raven_pipeline = pipeline( | |
| "text-generation", | |
| model="Nexusflow/NexusRaven-V2-13B", | |
| torch_dtype="auto", | |
| device_map="auto", | |
| ) | |
| class DialogueToSpeechConverter: | |
| def __init__(self): | |
| self.raven_pipeline = raven_pipeline | |
| def process_text(self, input_text: str) -> str: | |
| prompt = f"User Query: {input_text}<human_end>" | |
| result = self.raven_pipeline(prompt, max_new_tokens=2048, return_full_text=False, do_sample=False, temperature=0.001)[0]["generated_text"] | |
| torch.cuda.empty_cache() | |
| return result | |
| def create_interface(): | |
| converter = DialogueToSpeechConverter() | |
| with gr.Blocks() as app: | |
| gr.Markdown(title) | |
| gr.Markdown(description) | |
| with gr.Row(): | |
| input_text = gr.Textbox(label="Input Text") | |
| submit_button = gr.Button("Submit") | |
| output_text = gr.Textbox(label="Nexus🐦⬛Raven") | |
| submit_button.click(converter.process_text, inputs=input_text, outputs=output_text) | |
| return app | |
| if __name__ == "__main__": | |
| converter = DialogueToSpeechConverter() | |
| demo = gr.Interface( | |
| fn=converter.process_text, | |
| inputs="text", | |
| outputs="text", | |
| examples=[ | |
| [''' | |
| Function: | |
| def create_audio_sequence_order(text): | |
| """ | |
| Analyzes the text and creates an order for each character and narrator segment. | |
| Args: | |
| text (str): The text containing the dialogues and narration. | |
| Returns: | |
| list: A list of tuples, each containing the character/narrator name and a segment of their dialogue/narration. | |
| """ | |
| Function: | |
| def convert_text_to_speech_single_voice(text, voice): | |
| """ | |
| Converts a given text to speech using a specified voice. This function is used when there is only one character in the text. | |
| Args: | |
| text (str): The text to be converted to speech. | |
| voice (str): The voice to be used for the audio generation. | |
| Returns: | |
| str: The path to the generated speech MP3 file. | |
| """ | |
| User Query: Currently, one way that the wealthy distinguish themselves from others is through the collection of rare objects. In a Celebration Society, to own an “original” of something will remain significant. However, barring a desire to prevent others from enjoying the experience, it will become possible to have perfect replicas of all manner of objects including paintings and sculptures. | |
| There will still be pride of ownership in the original. Others will be able to fully enjoy the “same” piece as well. | |
| use either speech to single voice if there's no dialogue or create_audio_sequence_order if there is dialogue<human_end> | |
| '''] | |
| ], | |
| title=title, | |
| description=description | |
| ) | |
| demo.launch() |