AI 日报

Stable Diffusion与OpenAI Whisper提示教程:基于语音生成图片-Whisper & 稳定扩散

  • By aihubon
  • Dec 19, 2023 - 2 min read



Stable Diffusion与OpenAI Whisper提示教程:基于语音生成图片-Whisper & 稳定扩散

人工智能世界的发展速度快得令人难以置信!多亏了最近发布的模型,我们才有能力从口语中创建图像。这为我们打开了很多可能性。本教程将为您提供创建自己的使用这些技术的应用程序的基础知识。

🚀 开始

🔑 注意:对于本教程,我将使用 Google Colab,因为我没有带 GPU 的计算机。您可以使用本地计算机。记得使用 GPU!

首先,我们需要安装我们需要的依赖项。我们将安装 FFmpeg – 用于录制、转换和流式传输音频和视频的工具。

!apt update !apt install ffmpeg

现在我将安装必要的包:

!pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116!pip install git+https://github.com/openai/whisper.git !pip install diffusers==0.2.4!pip install transformers scipy ftfy!pip install "ipywidgets>=7,<8"

🔑 注意:如果您在安装 Whisper 时遇到任何问题,请转到此处。

下一步是使用 Hugging Face 验证 Stable Diffusion。

from google.colab import outputfrom huggingface_hub import notebook_loginoutput.enable_custom_widget_manager()notebook_login()

现在我们将检查我们是否正在使用 GPU。

from torch.cuda import is_availableassert is_available(), 'GPU is not available.'

好的,现在我们准备开始了!

🤖 编码!

🎤 语音转文字

🔑 注意:为了不浪费时间,我记录了我的提示并将其放在主目录中。

我们将从使用 OpenAI 的 Whisper 小型模型从文件中提取我的提示开始。有一些更大和更小的型号,您可以选择使用哪个。

为了提取,我使用了官方存储库中的代码。我还在提示的末尾添加了一些“提示”。

import whisper# loading modelmodel = whisper.load_model('small')# loading audio fileaudio = whisper.load_audio('prompt.m4a')# padding audio to 30 secondsaudio = whisper.pad_or_trim(audio)# generating spectrogrammel = whisper.log_mel_spectrogram(audio).to(model.device)# decodingoptions = whisper.DecodingOptions()result = whisper.decode(model, mel, options)# ready prompt!prompt = result.text# adding tipsprompt += ' hd, 4k resolution, cartoon style'print(prompt) # -> fiery unicorn in a rainbow world hd, 4k resolution, cartoon style

🎨 文字转图片

现在我们将使用 Stable Diffusion 从文本生成图像。让我们加载模型。

import torchfrom diffusers import StableDiffusionPipelinepipe = StableDiffusionPipeline.from_pretrained(    'CompVis/stable-diffusion-v1-4',    revision='fp16',    torcj_dtype=torch.float16,    use_auth_token=True)pipe = pipe.to("cuda")

使用pipe我们可以从文本生成图像。

with torch.autocast('cuda'):    image = pipe(prompt)['sample'][0]

让我们使用以下方法检查我们的结果:

import matplotlib.pyplot as pltplt.imshow(image)plt.title(prompt)plt.axis('off')plt.savefig('result.jpg')plt.show()
Stable Diffusion与OpenAI Whisper提示教程:基于语音生成图片-Whisper & 稳定扩散
我们的结果!

哇!也许我们的结果会更好,但我们没有改变任何参数。最重要的是我们能够用我们的声音生成图像。那不是很好吗?记住 10 年前我们能做什么,今天我们能做什么!

希望您和我创建这个程序时一样开心。谢谢你,我希望你会回来查看!– AI未来百科 ; 探索AI的边界与未来! 懂您的AI未来站