python无聊小创作:直播读弹幕机器人(附完整代码)

news2025/1/15 17:51:47

前言

嗨喽,大家好呀~这里是爱看美女的茜茜呐

直播读弹幕机器人是指能够实时读取直播平台上观众发送的弹幕,并将其转化为语音进行播放的机器人。

这种机器人通常会使用文字转语音技术,将接收到的弹幕文本转为语音,并通过扬声器或耳机播放出来。

它可以帮助主播和观众实现互动,让观众的弹幕内容以声音形式传达给主播和其他观众。

今天就教大家做一个简易版的


👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~

资料、视频教程、代码、插件安装教程等我都准备好了,直接在文末名片自取就可


代码实现

1. 请求数据

  • 选择一个直播间,打开开发者工具,再刷新直播间

  • 用搜索工具搜索弹幕内容,在headers里找到url链接

url = 'https://api.live.***.com/xlive/web-room/v1/dM/gethistory?roomid=XXX&room_type=0'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
print(response.json())

2. 解析数据

for index in response.json()['data']['room']:
    name = index['nickname']
    content = index['text']
    date = index['timeline']
    print(name, content, date)
    time.sleep(1)

3. 文字转语音

pyttsx3是一个Python文本到语音转换库,可以实现文本转语音的功能。

它基于Python的标准库speechd。

你可以使用pyttsx3来在你的Python程序中将文本转换为声音,从而实现语音输出的功能。

要使用pyttsx3,首先需要安装该模块。

你可以使用以下命令通过pip安装:

pip install pyttsx3
import pyttsx3

# 创建一个语音合成引擎
engine = pyttsx3.init()

# 读取文本并转为语音
engine.say(content)

# 播放语音
engine.runAndWait()

完整代码

import requests
import time
import pyttsx3

# 创建一个语音合成引擎
engine = pyttsx3.init()

# 更换直播间更改房间id(roomid)即可
url = 'https://api.live.***.com/xlive/web-room/v1/dM/gethistory?roomid=XXX&room_type=0'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36'
}
response = requests.get(url=url, headers=headers)


for index in response.json()['data']['room']:
    name = index['nickname']
    content = index['text']
    date = index['timeline']
    print(name, content, date)
    # 读取文本并转为语音
    engine.say(content)
    # 播放语音
    engine.runAndWait()
    time.sleep(1)

高级点的tk界面版

能显示读取的弹幕内容,还能调试语音哟,还有自动过滤敏感词、根据观众的弹幕内容进行回复等

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/869550.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

系统架构设计专业技能 · 网络规划与设计(三)【系统架构设计师】

系列文章目录 系统架构设计专业技能 网络规划与设计(三)【系统架构设计师】 系统架构设计专业技能 系统安全分析与设计(四)【系统架构设计师】 系统架构设计高级技能 软件架构设计(一)【系统架构设计师…

腾讯云标准型CVM云服务器详细介绍

腾讯云CVM服务器标准型实例的各项性能参数平衡,标准型云服务器适用于大多数常规业务,例如:web网站及中间件等,常见的标准型云服务器有CVM标准型S5、S6、SA3、SR1、S5se等规格,腾讯云服务器网来详细说下云服务器CVM标准…

Vue中使用Tailwind css

1.什么是Tailwind 就是一个CSS框架,和你知道的bootstrap,element ui,Antd,bulma。一样。将一些css样式封装好,用来加速我们开发的一个工具。 Tailwind解释 tailwind css 中文文档 2.Vue使用Tailwind配置 1. 新建vu…

【elasticSearch系】3.完整搭建详尽版elk

话不多说,我们先看下经典的elk 是由哪些组件搭建组合起来的 elasticsearch和kibana搭建 可以查看之前我们搭建elasticsearch和kibana 的这篇文章 logstash搭建 为了和之前我们搭建elasticsearch和kibana版本保持一致,这里我们还是选择7.17.3 下载地址 点击下载,这里为了…

Spring Boot配置文件中的配置项加密jasypt使用

在Spring Boot中,有很多口令需要加密,如数据库连接密码、访问第三方接口的Token等。常见的方法就是用jasypt对口令进行加密。 实际上,jasypt可以对配置文件中任意配置项的值进行加密,不局限于对密码的加密。 1.在pom.xml中添加ja…

由于找不到vcruntime140.dll,无法继续执行代码,三种修复方法

为什么我们很多人都遇到过打开电脑软件时候突然电脑就提示找不到vcruntime140.dll,或许vcruntime140.dll丢失,那么vcruntime140.dll到底是什么?为什么会丢失,丢失了要怎么解决修复呢?下面小编都会一一介绍给大家&#…

常见直播流协议,你学“废”了吗?

常见的直播流协议(大汇总) 前言正文什么是视频流协议?协议、编解码器和容器格式 RTMP什么是RTMP?RTMP的特性RTMP的三个主要成分使用RTMP直播的整个流程RTMP拉流过程RTMP是否被淘汰了?RTMP的几个变种 HLS什么是HLS&…

腾讯云服务器CVM标准型S5详细介绍及其他S6、SA3实例等

腾讯云CVM服务器标准型实例的各项性能参数平衡,标准型云服务器适用于大多数常规业务,例如:web网站及中间件等,常见的标准型云服务器有CVM标准型S5、S6、SA3、SR1、S5se等规格,腾讯云服务器网来详细说下云服务器CVM标准…

数字经济、创业活跃度与高质量发展(面板熵值法代码数字经济测算原始数据)

数据简介:熵值法是一种多指标综合评价方法,旨在解决多指标决策问题。相较于传统的加权平均法,这一方法更能够综合考虑指标之间的相互影响,避免出现因指标权重设置不当导致决策失误等问题。熵值法是一种基于信息论的多指标综合评价…

✅最新!自然指数中国科研机构百强名单,出炉!

【SciencePub学术】8 月 9 日,自然指数官网发布了最新的中国科研机构百强名单。名单根据各大机构2022年在自然科学领域的论文贡献份额进行排名。 其中,中国科学院以2053.76的论文贡献份额,位列榜首;中国科学院大学和中国科学技术…

【JVM】JVM中的分代回收

文章目录 分代收集算法什么是分代分代收集算法-工作机制MinorGC、 Mixed GC 、 FullGC的区别是什么 分代收集算法 什么是分代 在java8时,堆被分为了两份: 新生代和老年代【1:2】 其中: 对于新生代,内部又被分为了三…

分割一切模型 Fast SAM C++推理部署---TensorRT (有核心代码)

Fast SAM C推理部署—TensorRT 核心源代码在结尾处有获取方式 晓理紫 0 XX开局一张图,剩下… 1 为什么需要trt部署 主要是在GPU上推理可以获得更高的推理速度。可与onnxruntim推理向比较一下 对比视频 2 TensorRt部署 2.1 环境与条件 需要配置TensorRt相关环境 这…

【uniapp】uniapp使用微信开发者工具制作骨架屏:

文章目录 一、效果:二、过程: 一、效果: 二、过程: 【1】微信开发者工具打开项目,生成骨架屏,将wxml改造为vue页面组件,并放入样式 【2】页面使用骨架屏组件 【3】改造骨架屏(去除…

Mr. Cappuccino的第61杯咖啡——Spring之BeanPostProcessor

Spring之BeanPostProcessor 概述基本使用项目结构项目代码运行结果源代码 常用处理器项目结构项目代码执行结果 概述 BeanPostProcessor:Bean对象的后置处理器,负责对已创建好的bean对象进行加工处理; BeanPostProcessor中的两个核心方法&am…

scope,deep穿透的实际应用

一.父组件代码 <template><div id"app"><h1 class"box"><pageName> </pageName></h1></div> </template><script> import pageName from "../src/components/pageName.vue"; export de…

感谢@艾玛·沃特森提供的华为OD机试【按单词下标区间翻转文章内容】【2023 B卷 100分】

目录 一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明4、再输入5、处理非法输入&#xff0c;确保通过率100%&#xff0c;千万不要大意失荆州 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 感谢艾玛沃特森提供…

【CheatSheet】Python、R、Julia数据科学编程极简入门

《Python、R、Julia数据科学编程极简入门》PDF版&#xff0c;是我和小伙伴一起整理的备忘清单&#xff0c;帮助大家10分钟快速入门数据科学编程。 另外&#xff0c;最近 TIOBE 公布了 2023 年 8 月的编程语言排行榜。 Julia 在本月榜单中实现历史性突破&#xff0c;成功跻身 …

C语言学习之一级指针二级指针

一级指针&#xff1a;内存中每个字节都有一个编号&#xff0c;这个编号就是指针&#xff0c;也称作地址&#xff1b;专门用来存储地址的变量&#xff0c;就是指针变量&#xff1b;定义一级指针变量并初始化&#xff1a; 数据类型 *指针变量名 &普通变量名; 数据类型 *指针…

原子css 和 组件化css如何搭配使用

如果让你来实现下面这种页面&#xff0c;该怎么实现呢 原子化和css组件化方式写法&#xff0c;可以搭配起来使用&#xff0c;常用的css 原子css 比如 下面这些类似flex 布局&#xff0c;lstn curser-pointer 等常用的或者 具备一定规律性的padding margin 样式可以抽取为单独…