教程
信息差
资源
软件工具
技术笔记
AIGC
视频
Search
1
使用AI实现高精度钢琴曲转谱Piano Transcription简明使用教程
37,794 阅读
2
使用ESP8266Wifi模块制作Wifi杀手
37,467 阅读
3
unravel 让图片唱歌详细教程 Real Time Image Animation 项目
27,386 阅读
4
佳能相机刷Magic Lantern魔灯固件
23,501 阅读
5
战地3 正版账号免费分享!
16,213 阅读
教程
信息差
资源
软件工具
技术笔记
AIGC
视频
Search
标签搜索
python
前端
环境搭建
空镜素材
Ubuntu
markdown
神器
黑苹果
编码
技巧
Git
数据库
开发
下载工具
Youtube
CDN
PDF
OST
电影原声带
音乐
易小灯塔
累计撰写
176
篇文章
累计收到
44
条评论
首页
栏目
教程
信息差
资源
软件工具
技术笔记
AIGC
视频
页面
搜索到
22
篇与
的结果
2024-10-12
MinerU 0.8.0 环境一键包 使用教程 (更新WebUI)
介绍最近发现了一款工具大语言语料处理神器-MinerU, 非常适合在RAG等应用场景中使用, 开源免费MinerU其中的一个功能是将 PDF 转化为 markdown 格式的工具, 对PDF文档提取的效果目前是市面上效果比较好的, 最新的版本还支持了PDF中表格的识别MinerU 官方仓库: https://github.com/opendatalab/MinerU装环境相对麻烦, 为此我制作了Windows系统的环境一键包, 下面就介绍下环境一键包的使用(在Windows11正常运行, 其他系统未测, 如有问题, 可以留言)下载地址MinerU环境一键包下载地址 链接: https://pan.quark.cn/s/ab68ea646a8c{cloud title="MinerU环境一键包" type="default" url="https://pan.quark.cn/s/ab68ea646a8c" password=""/}搞不定环境的可以用这个 里面有使用说明文档下载后解压即可使用之前需要安装里面的cuda, 安装cuda的教程自行百度, 如果已经安装请忽略如果之前安装有cuda这个报错的, 可以卸载之前的cuda, 安装里边的cuda11.8版本使用解压后即可运行点击运行gradio版.bat 运行gradio网页版 和 https://www.modelscope.cn/studios/OpenDataLab/MinerU 功能一样点击运行web版.bat 运行web网页版功能和 https://opendatalab.com/OpenSourceTools/Extractor/PDF 一样文件说明目录python为嵌入版的环境, 已经安装了所有依赖想深入使用, 可以配合官方说明文档使用, 下面是一些简要说明magic-pdf.json为配置文件, 使用的方式和官方一样small_ocr.pdf 为测试用pdf文件app.py 为gradio网页在线版 和 https://www.modelscope.cn/studios/OpenDataLab/MinerU 功能一样运行方式, 在MinerU目录右键启动cmd, 或者启动cmd切换到MinerU目录, 运行下列命令./python/python.exe app.pydemo.py 为官方运行示例运行方式, 在MinerU目录右键启动cmd, 或者启动cmd切换到MinerU目录, 运行下列命令./python/python.exe demo.py 如果要对Python环境里边的包进行操作的, 将原有的pip install xxx换成./python/python.exe -m pip install xxx就可以了扩展使用命令行使用官方的命令使用magic-pdf -p {some_pdf} -o {some_output_dir} -m auto在MinerU目录右键启动cmd, 或者启动cmd切换到MinerU目录, 运行下列命令./python/Scripts/magic-pdf.exe -p {some_pdf} -o {some_output_dir} -m auto例如./python/Scripts/magic-pdf.exe -p small_ocr.pdf或者路径填magic-pdf.exe所在的绝对路径, 例如G:/MinerU/python/Scripts/magic-pdf.exe -p small_ocr.pdf开发使用在pycharm里环境变量填python/python.exe所在目录更新版本更新命令./python/python.exe -m pip install --upgrade magic-pdf更新后需修改文件python/Lib/site-packages/magic_pdf/libs/config_reader.py把13-14行红框替换为如下代码# 获取当前目录 current_dir = os.getcwd() print("当前目录为: ", current_dir) # 定义配置文件名常量 CONFIG_FILE_NAME = os.path.join(current_dir, "magic-pdf.json") print("配置路径为: ", CONFIG_FILE_NAME)在69行最用红框处插入如下代码models_dir = os.path.join(current_dir, models_dir) print(f"模型目录为: {models_dir}")这样路径才不会报错
2024年10月12日
59 阅读
1 评论
0 点赞
2023-09-30
2023年AI文字声音图像实用工具整理
提示: 点击左边图标可以看目录一. 文字对话ChatGPT大名鼎鼎的ChatGPT是一个由OpenAI开发的人工智能聊天机器人,它可以根据用户的问题和指令提供详细的回答和创造性的内容。ChatGPT还可以与用户进行对话,理解用户的意图和需求,并提供个性化的建议和服务。订阅PLUS还能使用更强大的GPT4, 以及插件等功能。缺点就是非付费用户只能用GPT3.5,订阅费比较贵, 20美元一个月, 并且对国内用户支付不友好, 账号容易封号。官网: https://chat.openai.com/NewBingNewbing是微软基于OpenAI的大语言模型开发的新一代搜索引擎, 还可以与用户进行聊天,理解用户的意图和需求,并提供个性化的建议和服务。优点: 使用的是GPT4, 可以联网查询实时信息, 可以阅读网页文章, 以及本地PDF缺点: 需要代理, 需要微软非国区账号,需要edge浏览器, 不支持API调用, 如果需要API调用需要bypass官网:https://www.bing.com/PoePoe机器人是一个由美版知乎Quora推出的AI聊天平台,它可以让用户与多个不同的AI机器人进行实时在线交流,包括多个大语言模型ChatGPT、GPT4、Sage、Claude、Dragonfly等。优点: 基本包含国外主流的大语言模型,可以预制prompt定制机器人,标准机器人免费,逻辑性高的GPT4,Claude+订阅后也可以使用,注册和付费都很友好,网页APP都有,官方ChatGPT平替,缺点: 除了需要代理没什么缺点官网: https://poe.com/文心一言文心一言是百度基于知识增强大语言模型开发的人工智能聊天机器人,它在搜索问答、内容创作生成、智能办公等众多领域都有更广阔的想象空间。优点:无需代理使用,多模态能生成图等,支持API调用,回答效果差不多等于GPT3.5缺点:回答内容可能受法律法规影响限制比较多。官网:https://yiyan.baidu.com/讯飞星火讯飞星火是科大讯飞推出的新一代认知智能大模型,它可以理解和执行用户的自然语言指令,提供语言理解、知识问答、逻辑推理、数学题解答、代码理解与编写等多种能力。讯飞星火还可以与用户进行对话,协助用户完成内容创作、文本扩写、文本润色等任务,是一个集搜索、聊天和创作于一体的平台优点:无需代理使用,支持API调用,回答效果差不多等于GPT3.5缺点:回答内容可能受法律法规影响限制比较多。官网:https://xinghuo.xfyun.cn/通译千问通译千问是阿里云开发的一个基于大语言模型的人工智能聊天机器人,它可以理解和执行用户的自然语言指令,提供搜索、问答、创作等多种能力。通译千问还可以与用户进行对话,协助用户完成内容创作、文本扩写、文本润色等任务,是一个集搜索、聊天和创作于一体的平台。优点:无需代理使用,支持API调用,回答效果差不多等于GPT3.5缺点:回答内容可能受法律法规影响限制比较多。https://tongyi.aliyun.com/GPT4All可离线部署的大语言模型,支持多种模型比如LLaMa等,可以与用户进行对话。优点:可离线部署,部署简单,回答效果差于GPT3.5, 支持CPU,GPU跑缺点:对配置要求比较高,回答效果没GPT3.5好。阅读ChatDOCChatDOC是一款基于ChatGPT的AI文件阅读工具,它可以快速解析、定位和总结上传的pdf文件内容。用户可以以聊天的形式对文档内容进行提问,ChatDOC能在几秒钟内给出问题的答案,并附上引用的文档段落。ChatDOC可以帮助用户更高效、更深入地阅读和理解文档,是一个集搜索、问答和阅读于一体的平台官网:https://chatdoc.com/ChatPDFChatPDF是一个基于ChatGPT的AI文件阅读工具,它可以快速解析、定位和总结上传的pdf文件内容。用户可以以聊天的形式对文档内容进行提问,ChatPDF能在几秒钟内给出问题的答案,并附上引用的文档段落。ChatPDF可以帮助用户更高效、更深入地阅读和理解文档,是一个集搜索、问答和阅读于一体的平台¹²³。官网:https://www.chatpdf.com/ChatGPT BoxChatGPT Box 是一个基于ChatGPT的人工智能聊天机器人浏览器插件,它可以让用户在浏览器中与ChatGPT进行对话,获取信息、知识和灵感。该插件具有以下特点:可以在任何页面上随时调出聊天对话框,或者进入独立的对话页面。可以对任何页面进行摘要,或者使用右键菜单进行其他操作。支持多种API模式,包括Web API、GPT-3.5、GPT-4、New Bing、Self-Hosted、Azure、Poe等。可以与各种常用网站进行集成,如Reddit、Quora、YouTube、GitHub、GitLab、StackOverflow、知乎、哔哩哔哩等。可以对所有主流搜索引擎进行集成,并且支持自定义查询。可以使用选择工具和右键菜单对选中的文本进行各种任务,如翻译、摘要、润色、情感分析、段落划分、代码解释等。该插件是一个集搜索、聊天和创作于一体的平台,它可以让用户在一个位置进行搜索、聊天和创建所有内容。项目地址:https://github.com/josStorer/chatGPTBox写作Writeathon写拉松是一款内容创作工具,从获取灵感、内容记录、整理到输出等写作工作流,为创作者提供多种功能。离线写作,本地存储,无需担心网络问题。Markdown语法,支持语法提示、代码高亮、数学公式等。实时目录,可以根据Markdown标题自动生成目录。导出功能,可以一键导出所有页面,支持Markdown、PDF、HTML等格式。Writeathon有网页版、桌面版和移动版,用户可以根据自己的喜好选择合适的版本官网: https://www.writeathon.cn/iThinkScenAI自动写作神器,一款以AI技术为核心,涵盖100多个日常写作场景的AI写作神器。使用它,可以大大提升我们的工作效率,一键生成各类文案,无论是小红书文案、日报周报文案,还是OKR文案、点评文案,都能轻松应对。官网: https://app.ithinkai.world/WPS AIWPS AI是一款基于大语言模型的人工智能应用,它可以为用户提供智能文档写作、阅读理解和问答、智能人机交互的能力。WPS AI可以与WPS办公套件无缝集成,让用户在办公、写作、文档处理等方面实现更高效、更智能的体验官网: https://ai.wps.cn/Notion AINotion AI是一款内置于Notion中的人工智能助手,它可以帮助用户快速撰写、编辑、总结文本内容,并提供集思广益的功能。Notion AI利用大规模的语言模型和数据收集,能自动整理笔记、改正错别字、列出文章重点、翻译、制作表格等。Notion AI是一个集搜索、聊天和创作于一体的平台,它可以让用户在一个位置进行搜索、聊天和创建所有内容。官网: https://www.notion.so/开发GitHub CopilotGitHub Copilot是一个人工智能配对程序员,它可以帮助你更快、更少地编写代码的一个编程助手插件。它从注释和代码中提取上下文,以立即建议单个行和整个函数。GitHub Copilot由GitHub、OpenAI和微软开发的生成式AI模型提供支持。它可以作为Visual Studio Code、Visual Studio、Neovim和JetBrains的扩展。GitHub Copilot可以根据自然语言提示或者正在编辑的代码上下文为开发者提供代码建议,支持多种编程语言,如Python、JavaScript、TypeScript、Ruby和Go等。GitHub Copilot还可以帮助开发者学习新的语言或框架,解决bug,生成测试用例等。缺点: 需要联外网, 10美元一个月, 不过可以在某宝购买学生认证, 一年几十块CursorCursor编辑器是一个基于GPT-4的代码编辑器,它可以根据用户的自然语言指令或者正在编辑的代码上下文为用户提供代码建议,支持多种编程语言,如Python、Java、C/C#、JavaScript等。Cursor编辑器还可以帮助用户重构、理解和优化代码,提高开发效率。Cursor编辑器是一个集搜索、聊天和创作于一体的平台,它可以让用户在一个位置进行搜索、聊天和创建所有内容。Cursor编辑器由微软、OpenAI和Anysphere合作开发,利用了最先进的大语言模型GPT-4的能力。Cursor编辑器有网页版、桌面版和移动版,用户可以根据自己的喜好选择合适的版本。Cursor编辑器有免费版和付费版,付费版可以享受更多的功能和服务。优点: 使用的是GPT-4缺点: 收费比较高, 独立编辑器, 不支持当做vscode插件使用官网:https://cursor.sh/CodeGeeXCodeGeeX是一个基于大语言模型的人工智能编程助手,它可以实现自动代码生成、代码翻译、自动编写注释等功能,支持20多种编程语言。CodeGeeX由清华大学、华为、鹏城实验室和Anysphere合作开发,利用了最先进的CodeGeeX2-6B模型的能力。CodeGeeX是一个集搜索、聊天和创作于一体的平台,它可以让用户在一个位置进行搜索、聊天和创建所有内容。CodeGeeX有网页版12,桌面版和移动版,用户可以根据自己的喜好选择合适的版本官网: https://codegeex.cn/zh-CN知识库/客服FastGPTFastGPT 是一个基于大语言模型(LLM)的知识库问答系统,它可以帮助用户快速构建智能的对话应用。FastGPT 有以下几个特点:它提供了开箱即用的数据处理和模型调用能力,用户可以通过简单的配置就能使用多种 LLM 模型进行对话,例如 GPT-3、GPT-Neo、GPT-J 等。它支持通过 Flow 可视化进行工作流编排,用户可以灵活地设计复杂的问答场景,例如知识库搜索、文本内容提取、HTTP 扩展等。它还提供了丰富的知识库预处理功能,用户可以从不同的来源导入知识库,例如 URL 读取、CSV 批量导入等,并对知识库进行修改和删除。它还支持 OpenAPI 接口,用户可以通过 API 方式调用 FastGPT 的功能,实现与其他应用的集成。项目地址:https://github.com/labring/FastGPT智能体/AI AgentAuto-GPTAuto-GPT是一个开源的人工智能应用程序,它可以使用OpenAI的大型语言模型GPT-4或GPT-3.5来自动执行多步骤的项目,而不需要人工不断地给它提示和指令。它可以理解用户用自然语言描述的目标,并将其分解为子任务,然后利用互联网和其他工具来完成这些子任务。Auto-GPT的主要特点有:它可以自主地行动,而不需要人工代理来提示其每一项行动。它可以执行各种类型的项目,包括编程、写作、绘画、研究、娱乐等。它可以管理短期和长期的记忆,通过读写数据库和文件来存储和获取信息。它可以处理互联网上的各种操作,如网页搜索、网页表单和API交互等。项目地址: https://github.com/Significant-Gravitas/AutoGPTMetaGPTMetaGPT是一个利用AI技术来简化和自动化软件开发过程的强大工具。它可以通过一个单行的需求,生成一个完整的项目,大大减少了项目开发的初始阶段所需的时间和精力。MetaGPT的核心思想是将不同的角色分配给不同的GPT,形成一个协作的软件实体,来解决复杂的任务。MetaGPT内部包括产品经理、架构师、项目经理、工程师等角色。它提供了一个软件公司的整个流程,以及精心设计的标准操作流程(SOP)。MetaGPT将SOP编码为提示,以增强结构化的协调。MetaGPT利用装配线范式,将多样化的角色分配给各种代理人,从而建立了一个能够有效和协调地分解复杂多代理人协作问题的框架。MetaGPT在协作软件工程基准测试上的实验表明,与现有的基于聊天的多代理人系统相比,MetaGPT生成了更一致和正确的解决方案。这突显了将人类领域知识集成到多代理人系统中的潜力,从而为解决复杂的现实世界挑战创造了新的机会。项目地址:https://github.com/geekan/MetaGPT二. 声音语音识别WhisperWhisper是一个人工智能语音识别系统,它由OpenAI开发,可以在多种语言和任务上实现高精度和鲁棒性的语音转文字和语音翻译。Whisper可以应对不同的口音、背景噪音和专业术语,还可以进行语言识别、时间戳标注等功能。Whisper是一个开源的项目,可以作为构建有用应用和进行进一步研究的基础。优点:可以离线部署处理, 语言识别效果好。Github相关项目链接Buzz: https://github.com/chidiwilliams/buzz WhisperDesktop: https://github.com/Const-me/Whisper 繁体简体字幕转换工具: https://github.com/xiaoxinpro/ChineseSubtitleConversionTool通义听悟通义听悟是一款基于阿里云通义千问大模型开发的AI应用,它主要针对音视频内容进行转写、检索、摘要和整理,比如用大模型自动做笔记、整理访谈、提取PPT等。通义听悟可以帮助用户高效地完成对音视频内容的记录、转写、摘要、整理和分析,实现通义大模型能力与场景化应用的结合,成为人人都可亲手体验和使用的效率工具。官网:https://tingwu.aliyun.com/飞书妙计飞书妙记是一款智能会议纪要工具,它可以将音视频内容转录为可搜索、可翻译、可高亮的文字笔记,帮助用户高效回顾和沉淀会议内容。飞书妙记支持多种场景,如会议、培训、访谈、课堂等,可以实现实时语音转文字、关键词提取、评论互动、内容分享等功能。飞书妙记是飞书的一个子产品,可以与飞书会议无缝集成,也可以单独使用。官网:https://www.feishu.cn/product/minutes文本转语音/语音克隆微软TTS微软TTS是微软的文本转语音服务,它可以将文本转换为逼真的语音。微软TTS利用了人工智能和神经网络技术,让合成的语音具有表现力和情感,适应不同的场景和用例。微软TTS支持多种语言和方言,可以自定义语音模型和参数,还可以在云端或容器边缘部署。微软TTS是Azure AI服务的一部分,可以与其他微软产品无缝集成,提供安全、可靠、灵活的语音解决方案。相关网站: https://azure.microsoft.com/zh-cn/products/ai-services/speech-to-texttts-vue这个项目是一个基于微软TTS的应用,它可以将文本转换为逼真的语音。它使用了Electron等技术,构建了一个简洁、高效、专注的用户界面。项目官网:https://loker-page.lgwawork.com/home.html Github地址:https://github.com/LokerL/tts-vue 微软TTS SSML语法说明:https://learn.microsoft.com/zh-cn/azure/ai-services/speech-service/speech-synthesis-markup-voice原神在线TTS基于Bert-VITS2的原神+崩铁全角色文本转语音实现在线使用:https://genshinvoice.top/仓库地址:https://github.com/Stardust-minus/Bert-VITS2 演示:https://www.bilibili.com/video/BV1hp4y1K78ESo-VITS-SVCSo-vits-svc(SoftVC VITS Singing Voice Conversion)是一款开源免费AI声音克隆软件,最近大火的AI孙燕姿周杰伦唱歌利用的也是这一技术。so-vits-svc可以通过学习一个人的声音,对另一首歌做音色替换。所需的样本量较少,且少量的训练时间就可以得到不错的效果。演示:https://www.bilibili.com/video/BV1Cc411H74DSo-VITS-SVC 4.1 整合包: https://www.yuque.com/umoubuton/ueupp5VALL-EXVALL-E X 是一个强大而创新的多语言文本转语音(TTS)开源声音克隆和合成大模型,最初由微软发布。不同于VITS的声纹复制,更侧重于文本转语音。项目地址:https://github.com/Plachtaa/VALL-E-X介绍演示:https://www.bilibili.com/video/BV1Dh4y1K7qJHugging Face在线体验:https://huggingface.co/spaces/Plachta/VALL-E-X Google Colab在线体验:https://colab.research.google.com/drive/1yyD_sz531QntLKowMHo-XxorsFBCfKul?usp=sharing声音处理UVR5全称为Ultimate Vocal Remover 5,是一款基于深度神经网络的人声伴奏分离工具。它被誉为目前最优秀的人声伴奏分离工具之一,而且开源免费。项目地址:https://github.com/Anjok07/ultimatevocalremoverguiMVSEP-MDX23MVSEP-MDX23是一个基于人工智能的人声伴奏分离工具,它可以将音乐文件分离为四个部分:低音、鼓、人声和其他。它使用了Demucs4、MDX和Ultimate Vocal Remover等多个神经网络模型的结合,实现了高质量和高速度的音乐分离效果。听说是目前最强的人声伴奏分离工具, 比UVR5好项目地址: https://github.com/ZFTurbo/MVSEP-MDX23-music-separation-model效果演示: https://www.bilibili.com/video/BV1Sh4y1r7Ym/Piano transcription基于此工具基于 字节跳动GiantMIDI-Piano项目实现最全钢琴转谱扒谱工具。项目地址:https://github.com/bytedance/piano_transcription效果演示:https://www.bilibili.com/video/BV1ia411A7ur/三. 图像AI绘画Stable Diffusion大名鼎鼎的Stable Diffusion是一个非常先进和有趣的图像生成工具,它可以为创作者和爱好者提供一个新的方式来表达自己的想象。它可以生成各种各样的图像,比如风景、人物、动物、建筑等等,只要给出一个简单的描述,就可以看到惊人的效果。秋葉aaaki的WebUI一键整合包https://www.bilibili.com/video/BV1iM4y1y7oA只剩一瓶辣椒酱的ComfyUI工作流版一键整合包https://www.bilibili.com/video/BV1694y1W76LNenly同学的Stable Diffusion系统教程https://space.bilibili.com/1814756990lora模型训练器秋葉aaaki版https://www.bilibili.com/video/BV1AL411q7Ub朱尼酱的赛博炼丹https://www.bilibili.com/video/BV1zu411W7LW在线SD/模型站C站: https://civitai.com/吐司AI: https://tusiart.com/哩布哩布:https://www.liblib.ai/海艺AI:https://www.seaart.ai/LightFlow工作流社区https://www.lightflow.ai/Stable Diffusion插件推荐待完善....Midjourney大名鼎鼎的Midjourney的主要产品是一个能够将文本描述转化为高质量艺术作品的人工智能平台。换句话说,它能够理解用户的任何请求,并将其转换为某种创造性的视觉表达。官网:https://www.midjourney.com妙鸭相机妙鸭相机是一款在线生成专业质感大片的AI相机,拥有时尚、好玩的风格模板,让你快速拥有百变照片,掌握引爆社交圈的流量密码!使用流程很简单,只需要上传20张包含人脸或上半身的照片,支付9.9元,就可以生成一个专属数字分身,然后挑选模板,就可以得到各种风格的写真。官网: https://www.miaoya.cn/AI换脸RoopRoop换脸是一种使用Python开发的深度AI视频照片换脸工具,只需提供一张照片即可,10秒换脸。可以用于照片,视频,直播。可以作为StableDiffusion的插件使用, 也可以独立使用。StableDiffusion插件地址:https://github.com/s0md3v/sd-webui-roop万能君的软件库的一键打包版本https://www.bilibili.com/video/BV1rH4y1S7UXDeepFaceLiveDeepFaceLive是一种使用Python开发的深度AI视频换脸工具,它可以实现不依赖于原始说话者的声音特征转换。可用于视频,直播。项目地址有打包版本,有模型下载。项目地址:https://github.com/iperov/DeepFaceLive降噪优化Topaz DeNoise AITopaz DeNoise AI是一款功能非常强大且实用的图片降噪软件,用户只需调整基础参数即可马上消除图片中的噪点,让图片变得更加的精美,让图片的细节得到优化,让照片看上去更加的清晰。DxO PureRAWDxO PureRAW是一款智能的RAW照片编辑处理工具,这款软件可以帮助大家保留图像细节,消除噪音,让图像效果达到完美平衡。图像识别SAMMeta的图像分割模型 SAM 是一个可以根据不同类型的提示(如文本、点、框等)来生成高质量的分割掩码的人工智能平台。换句话说,它能够理解用户的任何请求,并将其转换为某种创造性的视觉表达。SAM 的主要特点是:它可以分割任何图像中的任何对象,即使是它在训练过程中没有见过的。它可以使用多种类型的提示,包括文本、点、框、涂鸦、掩码等,来指定要分割的内容。它可以处理不明确或模糊的提示,并生成多个有效的掩码。它可以与用户进行多轮交互,通过记忆提示来优化分割结果。它可以为分割掩码提供语义标签,以便用户更好地理解和编辑。SAM 是基于一个包含超过 10 亿个掩码的大规模数据集 SA-1B 进行训练的。这个数据集是由 Meta 的研究人员使用 SAM 自身来交互式地注释图像而创建的,从而实现了模型和数据集的相互提升.项目地址: https://github.com/facebookresearch/segment-anythingdemo地址: https://segment-anything.com/YOLOv8YOLO是一个实时的物体检测算法,它可以使用一个神经网络来同时进行物体的分类和位置的预测。YOLO的名字来源于英文的“You Only Look Once”,意思是它只需要看一次图像就可以完成检测任务。YOLO相比于其他的物体检测算法,有以下几个优点:它速度很快,可以达到每秒数百帧的检测速率。它准确度很高,可以在各种场景和数据集上取得优秀的结果。它易于使用,只需要安装ultralytics包,就可以在几分钟内开始使用YOLO。YOLO目前已经发展到第八代版本,即YOLOv8,它在前几代版本的基础上引入了新的特性和改进,提升了性能和灵活性。YOLOv8支持多种视觉AI任务,包括检测、分割、姿态估计、跟踪和分类。这种多功能性使得用户可以利用YOLOv8的能力应用于不同的领域和场景。官方文档: https://docs.ultralytics.com/
2023年09月30日
877 阅读
0 评论
1 点赞
2023-09-13
用LightFlow插件快速复现Stable Diffusion作品
Stable Diffusion虽然有ComfyUI工作流版本,但上手还是有点难度, 而WebUI版虽然做的相对简单, 也有原图导入参数的方式, 但有些参数比如ControlNet等都不能设置, 偶然发现一个LightFlow插件,能快速复现整个工作流,就像使用Photoshop的PSD文件那样方便,大大降低了使用门槛。这款插件呢是由腾讯开源的插件 LightFlow。它可以帮你一键保存工作流。它可以帮助你一键保存所有工作流数据(包括垫图和其他第三方插件设置),下次使用只需拖入.flow文件,就能快速复现整个工作流,就像使用Photoshop的PSD文件那样方便。更可以的是,LightFlow 插件还专门配备了一个可以上传和下载 SD 工作流的开源社区,里面有各种大神上传的工作流,我们只需要下载就可以复制大神们的工作流啦!如果之前没玩过SD的话, 推荐使用B站赛博菩萨秋葉aaaki的一键整合包, 具体下载和使用方式https://www.bilibili.com/video/BV1iM4y1y7oA/安装完成后我们打开SD, LightFlow 插件需要从网址进行安装, 也可以下载安装,选择在线安装就可以了, 在SD右边选择扩展=>从网址安装, 输入 git 地址,然后点击安装,重启 SD 就可以了。git项目地址为: https://github.com/Tencent/LightDiffusionFlow有些用SD的会使用多个ControlNet, 建议把 ControlNet Unit 的数量设置到 4 以上。进入 SD 的设置页面,找到 ControlNet 选项,修改以下参数数量就可以了。接下来我们打开LightFlow社区官网: https://www.lightflow.ai/下载想要的工程文件, 然后拖入插件选项框就可以了我这里用我之前制作的暗藏玄坤图来做示例https://www.lightflow.ai/detail/an-cang-xuan-kun-tu参数可以自动设置, 如果有缺少的模型也会给出提示, 如果碰到缺少的模型, 去模型网站下载即可C站: https://civitai.com/吐司: https://tusiart.com/哩布:https://www.liblib.ai/LightFlow不仅会保存第三方插件的参数以及 ControlNet 的参数,还会保存 ControlNet 中上传的图片,在还原工作流的时候可以自动把图片也还原到 ControlNet 中点击生成后即可生成和原作者一模一样的图LightFlow 不仅支持上传文件,还支持读取 PNG Info 功能,把由 SD 生成的图片拖入框中就可以实现 PNG Info 的功能。我们也可以上传我们自己觉得不错的工作流文件,一起共建社区。
2023年09月13日
542 阅读
0 评论
0 点赞
2023-08-01
坚果pro2刷电信补丁解决VoLTE无信号问题
原贴发在贴吧被百度贴吧系统删除, 这里是备份有台坚果pro2旧手机, 在电信升级之后, 2G基站下线没法打电话和接电话了,在设置里边打开VoLTE通话, 会显示 已断开连接,没法接打电话接电话在网上搜索一番后, 发现是有解决办法的, 就是刷入个坚果pro2的电信VoLTE补丁就行不算教程, 只是记录一下问题解决的过程, 如果你刷机出现了问题, 我不负责刷这个补丁需要第三方Recovery, 而且是需要新版本, 我试了奇兔的那个rec好像是不行的这里使用TWRP3.3.1新版本如果你是旧版本的可以使用rec下通过刷入新版本的rec来更新到新的rec你手机没刷过机之前, 需要用9008模式刷入第三方rec一. 刷机线准备刷机线一根, 搜9008数据线就行, 或者拿现有的一根数据线制作就行了, 需要剪开接线接线, 网上有教程这里不描述.这一步的目的是进入到9008刷机模式, 进入以后如果觉得数据线连接不稳定可以在进入以后换上正常的数据线二.下载资源坚果pro2全部资源链接:https://pan.baidu.com/s/1TCarLSqrEpvCAsvDrDMEDQ?pwd=1111 坚果pro2 VoLTE补丁资源链接:https://pan.baidu.com/s/1ul9tiChidwtarZ5e9tdnDw?pwd=1111 1.第三方Recovery 这里使用TWRP3.3.1新版本2.刷机工具, 需要一台电脑操作, QPST和9008模式的驱动3.电信补丁三.刷机操作1.安装QPST以及驱动没啥困难的, 解压后安装就行安装完可以在C:\Program Files (x86)\Qualcomm\QPST\bin 目录下找到QPST.exe2.坚果pro2的电信VoLTE补丁包通过数据线或其他方式传到手机内最好是放到根目录, 方便找,3.手机关机, 按住刷机线的按钮连接电脑连接后可以在设备管理器看到9008的端口设备4.打开QPST.exe, 选中TWRP3.3.1刷入刷入成功后, 拔数据线, 按住下键和开机键开机, 看到锤子logo亮起放开, 进入到rec在rec下刷入补丁包实测官方版本系统也是可以的, 不用双清也是可以的, 不root也是可以的刷入完重启就可以了, 可以看到 VoLTE 已连接, 不root也不会掉!
2023年08月01日
1,939 阅读
0 评论
4 点赞
2023-07-12
使用Stable Diffusion垫图制作创意融合图片
引子起因是一个玩摄影的朋友发了一个牛逼的照片,一开始我以为是真的, 对这个摄影的打光赞叹了一番, 打光还真是牛, 打光打得好手机也能拍出这样的图, 后来有看到别的群里发了几张类似的, 我感觉不太对, 感觉是AI制作的, 还发帖问了下是不是AI, 后来才知道是模型大佬麦橘制作的.然后问了下制作方法, 有段时间没玩AI了, 知道了制作方法后很快就复刻了几张, 好了, 废话不多说, 下面演示一下制作过程, 给大家提供一些思路二维码/艺术字/光影光效/创意LOGO都可以制作, 只有换成不同的底图就行环境准备如果之前没玩过SD的话, 推荐使用B站赛博菩萨秋葉aaaki的一键整合包, 网上整合包比较多, 这里推荐秋叶的整合包, 比较方便, 无需自己搭环境, 还可以一键更新, 具体下载和使用方式https://www.bilibili.com/video/BV1iM4y1y7oA/如果电脑性能不不行, 可以直接使用在线版, 可以使用吐司, 哩布哩布, 海艺等, 都会每天送一些额度使用离线版接下来需要安装ControlNet插件, 并下好插件对应的模型。ControlNet模型链接: https://pan.baidu.com/s/1jBeuuTi-rMvm1U2UCN746g?pwd=9x6k 提取码: 9x6k 放入sd-webui-aki-v4\models\ControlNet文件夹内素材准备使用PS或其他工具制作一张黑底白字的图片, 并保存。或直接拿一张主体比较分明的图,比如logo图等。分辨率一般选512x768, 或者768x768例图上手制作打开AI绘画,主模型随意, 在提示词添加想要生成的图, 如夜景, 女孩在黑暗的房间等我这里使用主模型是麦橘写实v6 https://civitai.com/models/43331?modelVersionId=94640正向词night scene反向词EasyNegative,在ControlNet选择上传第3步制作的图片, 选择tile(分块)点击生成, 并调整提示词和ControlNet控制权重不断优化, 直到生成满意的图技巧: ControlNet控制权重0.5,引导介入时机0.02其他参数见图和平时使用AI绘画没什么不同, 起作用的关键是ControlNet插件的tile(分块)引导生成, 不同的组合有不同的效果.吐司, 哩布哩布, 海艺等在线平台也是一样的, 只是界面有些不同分享几张成果图
2023年07月12日
895 阅读
0 评论
0 点赞
2023-02-10
ChatGPT Prompt的一些使用技巧
Prompt是一种用于引导GPT生成特定内容的文本或向量。Prompt可以帮助GPT利用预训练的知识和技能,完成不同的下游任务,如文本分类、文本生成、图像生成等。像ChatGPT这种大语言模型输出质量主要取决于Prompt/提示词/提问方式,使用高质量的Prompt才能获得高质量的输出。简单来说Prompt其实就是提问词,你和ChatGPT聊天的时候,你输给他的信息。你得到什么回答,取决于你的Prompt写得怎么样。如果你的问题很宽泛, 那很可能会得到一个好的好的问题,一个回合就能拿到自己想要的答案。那高效的prompt怎么写呢?高效的prompt是指能够让模型准确、快速、稳定地生成目标内容的提示。根据不同的任务和模型,高效的prompt可能有不同的写法,但一般来说,有以下几个原则可以参考:明确任务的目标和要求,尽量避免模糊、含糊或歧义的表述。适当地提供一些背景信息、上下文或示例,帮助模型理解任务的场景和语境。指定模型所扮演的角色或风格,让模型生成更符合预期的内容。使用一些特殊的符号、格式或语法,增强模型的注意力或约束模型的输出。下面是一些Prompt的对比原提问:请写一篇关于《让子弹飞》的影评。优化后:请从画风和剧情这两个角度入手,以专业影评人的视角为《让子弹飞》写一份通俗易懂的800字影评。原提问:软件测试是什么?优化后:请从定义、测试生命周期的各个阶段、测试的种类,以及为什么软件测试在软件开发过程中至关重要的角度,详细介绍软件测试,用表格形式输出。原提问:{文章内容}, 为以上文章写一篇摘要。优化后:{文章内容} 使用通俗易懂的语言为以上文章写一篇摘要,摘要应包括一个小结和一个相关要点的列表,同时加粗关键部分以提高可读性。可以尝试把上面的问题拿到ChatGPT里提问试一下,优化后的提问确实能得到更好的答案。ChatGPT可以有很多使用场景,对不同场景有不同的Prompt提问框架, 下面就来看看写作方面的一些Prompt提问优化。基于“BRTR原则”的<GPT写作指令法>, BRTR原则由4个要素组成:说背景(B)定角色(R)派任务(T)提要求(R)写作指令=说背景(B)+定角色(R)+派任务(T)+提要求(R)说背景(B):在什么平台做什么主题的账号,受众是谁,目标策略、人设、风格等定角色(R):设定对口的专家身份 + 特定经验技能派任务(T):简要介绍写作任务的方向、效果预期提要求(R):语言风格、内容结构、写作技巧、模仿示例、创作流程例子背景:我在运营一个“年轻人交流空间”微信公众号,据了解现在很多年轻人都会有被家里催婚的压力。角色:你是一个资深的文案专家,擅长论证说服。任务:请你帮我编写一篇“年轻人不必着急结婚”的文章,要能引起年轻人的共鸣。如果你对想问的什么都不了解, 根本没头绪, 可以这样问:元问题:我想了解xxxx,我应该向你问哪些问题?请给我列出xxx领域/行业相关的,最常用的50个概念,并做简单解释。如果有英文缩写,请给出完整的英文解释。请详细介绍一下 雷军 的主要生平事迹。请详细介绍一下 小米 这家企业的发展历程。对于xxx主题/技能,你认为哪些是我必须理解和掌握的核心要点?我理解的xxx是这样的,你觉得我的理解对吗?我对xxx有一些想法,你能帮我批判性地分析一下这些想法的优点和缺点吗?我正在考虑xxx的决定,你能帮我分析一下可能的结果和影响吗?我想做xxx,你能给我提供什么帮助?我想要你做xxx,我应该给你输入什么信息?如果你对想问的有些了解, 想扩充认知, 可以这样问:我知道xxx的概念,我想知道更多关于xxx的信息。我在xxx问题上遇到困难,你能提供一些可能的解决方案或建议吗?我想要深入学习xxx,你能推荐一些进阶的学习资源或学习路径吗?我想要在xxx领域有所创新,你能提供一些启发或想法吗?我想在xxx领域提升自己,你能根据最新的研究和趋势给我一些建议吗?我正在考虑学习xxx,你能给我一些关于这个领域未来发展的观点吗?(背景信息xxx),我要做关于xxx的研究,我认为原因是,还有其他可能的原因吗?给出一些可能的研究假设。我是一个xx新手,马上要采访这个行业的资深大佬,我应该向他请教哪些有价值的问题?以上介绍了GPT Prompt使用的一些技巧和方法,包括怎么写出高效的Prompt、怎么让Prompt更管用、以及怎么用Prompt进行写作。希望这些内容能够对你的写作有所帮助和启发,让你能够更好地利用GPT的强大能力,创造出更多有价值和有趣的内容。
2023年02月10日
531 阅读
0 评论
0 点赞
2022-06-21
Typecho的Joe主题开启文章导航目录树
引言发现从typora复制过来的markdown代码中的目录导航[toc]语句没生效, 没有像typora或其他markdown编辑器生成导航目录树, 网上搜了下, 发现个解决方法, 在主题设置里插入几行代码就可以了, 也不用写toc了, 会根据标题级别自动生成目录树使用教程资料来源于https://www.ydyno.com/archives/1331.html首先进入网站后台,点击更换外观,点击全局设置在下方找到 自定义增加<head></head>里内容(非必填),填入下面代码<style type="text/css"> .outline-outside-modal-opened { z-index: 10000 !important; left: 0; width: 300px !important; } </style> <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/yaohaixiao/autocjs/dist/css/autoc.min.css">在 自定义<body></body>末尾位置内容(非必填) 中填入下面代码<script src="https://cdn.jsdelivr.net/gh/yaohaixiao/autocjs/dist/autoc.min.js"></script> <script> // 文章导航 if ( $(".joe_detail__article").length > 0 ){ // 创建 Outline 实例 let navigation = new AutocJs({ // 文章正文 DOM 节点的 ID 选择器 article: '.joe_detail__article', // 要收集的标题选择器 selector: 'h1,h2,h3,h4,h5,h6', // 侧边栏导航的标题 title: '文章导读', // 文章导读导航的位置 // outside - 以侧边栏菜单形式显示(默认值) // inside - 在文章正文一开始的地方显示 position: 'outside', // 标题图标链接的 URL 地址 // (默认)没有设置定制,点击链接页面滚动到标题位置 // 设置了链接地址,则不会滚动定位 anchorURL: '', // 链接的显示位置 // front - 在标题最前面(默认值) // back - 在标题后面 anchorAt: 'back', // 是否生成文章导读导航 isGenerateOutline: true, // 是否在文章导读导航中显示段落章节编号 isGenerateOutlineChapterCode: false, // 是否在正文的文章标题中显示段落章节编号 isGenerateHeadingChapterCode: false, // 是否在正文的文章标题中创建锚点 isGenerateHeadingAnchor: false }); } </script>完整配置如图所示点击保存,进入文章页面,就能看到效果
2022年06月21日
1,131 阅读
6 评论
3 点赞
2022-06-20
博客从Emlog迁移至Typecho
这博客之前程序是emlog, 是很久以前搭的一个博客系统, emlog旧版本已经很久没更新了, 主题模板和插件也很少, 对markdown支持也比较差, wordpass太臃肿也不喜欢用。看到个Typecho 挺不错的, 轻量级, 简洁, 今天就花了点时间从emlog迁移至Typecho了, 用的是joe的主题, 很舒服,尤其是代码高亮支持, 支持多种主题的代码高亮渲染文章使用了emlog2typecho进行迁移,大体完美, 原代码有点问题, 稍微改了下https://github.com/isaced/emlog2typecho主题和插件资源https://typecho.me/使用方法在本地新建Emlog数据库并导入需要转换的数据再安装Typecho来建立Typecho的数据库在脚本中设置两个数据库名(默认是“emlog”和“typecho”)运行emlog2typecho.py备份Typecho数据库,上传到你的博客需要先安装mysql驱动pip install MySQLdb迁移脚本# Emlog 数据库名 emlog_database_name = 'emlog' # Typecho 数据库名 typecho_database_name = 'typecho' # 数据库地址 database_host = 'localhost' # 数据库用户名 database_port = 3306 # 数据库用户名 database_user_name = 'root' # 数据库用户名 database_user_password = 'root' # 字符集 database_charset = 'utf8' ################################################################################# import MySQLdb # 连接数据库... conn=MySQLdb.connect(host = database_host, user = database_user_name, passwd = database_user_password, port = database_port, charset = database_charset) # 切换emlog数据库... conn.select_db(emlog_database_name) cur=conn.cursor() # 读取emlog所有分类 cur.execute('select sid, sortname, alias, ( select count( * ) from emlog_blog where sortid = sid ) AS count FROM emlog_sort') emlog_sort_list = cur.fetchall() # 读取Emlog所有Tag cur.execute('select tid,tagname,gid from emlog_tag') emlog_tag_list = [] for row in cur.fetchall(): tagname = row[1] gid_list = row[2].split(',') # 移除列表中为空字符串的项 for gid in gid_list: if gid == '': gid_list.remove(gid) # 组装 tag = {'tagname':tagname,'gidlist':gid_list} emlog_tag_list.append(tag) # 读取emlog blog表... cur.execute('select gid,title,date,content,excerpt,alias,sortid,type,allow_remark from emlog_blog') emlog_blog_list = cur.fetchall() # 读取Emlog comment表 cur.execute("SELECT * FROM `emlog_comment`") emlog_comment_list = cur.fetchall() # ------------------------------------------ # --- Emlog表读取完毕,切换Typecho表进行写入 --- # ------------------------------------------ # 切换Typecho数据库... conn.select_db(typecho_database_name) cur=conn.cursor() # 删除Typecho 所有分类和标签... cur.execute('delete from typecho_metas') # 插入emlog所有分类 for sort in emlog_sort_list: sort_id = sort[0] sort_name = sort[1] sort_sulg = sort[2] # sort[0] if sort[1] == '' else sort[1] sort_count = sort[3] cur.execute("insert into typecho_metas (mid, name, slug, type, description, `count`, `order`) VALUES (%s, %s, %s, 'category', NULL, %s, 0)" , (sort_id,sort_name, sort_sulg,sort_count)) # 删除Typecho 所有文章... cur.execute('delete from typecho_contents') # 删除文章所有关系 cur.execute('delete from typecho_relationships') # 删除所有评论 cur.execute('delete from typecho_comments') # 转移所有文章 for blog in emlog_blog_list: print(blog) blog_id = blog[0] blog_title = blog[1] blog_create_date = blog[2] blog_content = blog[3] blog_excerpt = blog[4] # 不能为空字符串 blog_alias = blog[5] if blog_alias == '': blog_alias = None # emlog --> blog page # typecho --> post page if blog[7] == 'blog': blog_type = 'post' else: blog_type = 'page' # allow comment if blog[8] == 'y': blog_allow_comment = '1' else: blog_allow_comment = '0' params = (blog_id,blog_title,blog_alias,blog_create_date,blog_content,blog_type,blog_allow_comment) cur.execute("insert into `typecho_contents` (`cid`, `title`, `slug`, `created`, `modified`, `text`, `order`, `authorId`, `template`, `type`, `status`, `password`, `commentsNum`, `allowComment`, `allowPing`, `allowFeed`, `parent`) VALUES (%s, %s, %s, %s, NULL, %s, '0', '1', NULL, %s, 'publish', NULL, '0', %s, '0', '0', '0')",params) # 添加文章的relationships blog_sortid = blog[6] # emlog 中 分类id -1 为页面 if blog_sortid == -1: continue cur.execute('insert into `typecho_relationships` (`cid`, `mid`) VALUES (%s, %s)',(blog_id,blog_sortid)) # 插入所有Tag(和关系) cur.execute("select MAX( mid ) FROM `typecho_metas`") sort_max_id = (cur.fetchall()[0][0]) + 1 # 从刚插入的分类最后一个ID+1作为ID开始循环插入 for tag in emlog_tag_list: cur.execute("insert into `typecho_metas` (`mid`, `name`, `slug`, `type`, `description`, `count`, `order`) VALUES (%s, %s, %s, 'tag', NULL, %s, '0');",(sort_max_id,tag['tagname'],tag['tagname'],len(tag['gidlist']))) for gid in tag['gidlist']: params = (int(gid),sort_max_id) # !有时会遇到重复项插入失败跳过 try: cur.execute('insert into `typecho_relationships` (`cid`, `mid`) VALUES (%s, %s)',params) except: print('失败一条Tag:%s,%s' % (params)) sort_max_id = sort_max_id + 1 # 插入评论 for comment in emlog_comment_list: params = (comment[0],comment[1],comment[3],comment[4],comment[6],comment[7],comment[8],comment[5],comment[2]) cur.execute("INSERT INTO `typecho_comments` (`coid`, `cid`, `created`, `author`, `authorId`, `ownerId`, `mail`, `url`, `ip`, `agent`, `text`, `type`, `status`, `parent`) VALUES (%s, %s, %s, %s, '0', '1', %s, %s, %s, NULL, %s, 'comment' , 'approved', %s)",params) # 关闭数据库连接 cur.close() conn.commit() conn.close() print('转移完成...')
2022年06月20日
657 阅读
0 评论
1 点赞
2020-11-20
使用AI实现高精度钢琴曲转谱Piano Transcription简明使用教程
简介此项目可将钢琴录音(mp3, wav等格式)转录成MIDI文件, 识别的精度非常之高, 扒谱党的福利。相对于人工扒谱效率高了不知道多少倍, AI扒谱的时代已经到来。前段时间字节跳动发布了全球最大的古典钢琴MIDI数据集 GiantMIDI-Piano, GiantMIDI-Piano 的特点是使用钢琴转谱技术,通过计算机将音频文件自动转为 MIDI 文件,并通过该技术转谱了大规模的 MIDI 数据集。研究者万余首钢琴作品+一千多小时训练,开发并开源了一套高精度钢琴转谱系统piano_transcription,将所有音频转谱成 MIDI 文件,进而构建了 GiantMIDI-Piano 数据库。该转谱系统的特点包括:能够将任意声部数目、任意复杂度,甚至双钢琴、多钢琴的钢琴音频转谱为 MIDI 文件。实现了任意时间精度的音符检测,突破了之前算法 32 毫秒识别精度的限制。对每个音符实现了 128 个粒度的力度识别。同时包含了钢琴音符和钢琴踏板的识别。在 MAESTRO 评测数据集上取得 96.72% 的 F1 值,超越了 Google 系统的 94.80%。预训练模型的代码以 Apache 2.0 协议开源。详细介绍见https://zhuanlan.zhihu.com/p/269218623GiantMIDI-Pianohttps://github.com/bytedance/GiantMIDI-Pianopiano_transcriptionhttps://github.com/bytedance/piano_transcription一网友在此基础制作的修改版https://zhuanlan.zhihu.com/p/270999354在此基础上, 我再稍微加工了下, 可批量转置, 使得更易使用下面是一些转置后制作的一些视频2011年Zetacola《赤色要塞》的钢琴演奏音质修复+特效钢琴版使用方法只需三步即可下载资源安装环境使用下载下面的资源包, 解压链接: https://pan.baidu.com/s/1aqnlgfFCjB0KIlPEB8RcRg 提取码: xubj资源包内包括piano_transcription项目,项目所使用的已训练完好模型,python安装包和ffmpeg安装环境以64位的windows版本为例, Mac和linux的步骤也是一样的, 只需安装对应系统的软件版本安装下列环境01 Python 3.7使用到了f-string, 需要Python3.6以上版本才支持, 这里选择安装Python3.7.9版本02 项目所依赖的库03 ffmpeg用于读取媒体文件, 使用资源包里的版本即可04 cuda限NVIDIA显卡, 使用cuda转置速度更快, 没有可以不装, 使用CPU转置05 pytorch需要看Python版本和cuda版本, 选择相应的版本下载01 安装 Python 3.7双击附件里边的Python 3.7.9安装即可在cmd里输入python出现下面提示及安装成功02 项目所依赖的库在项目目录根下按住shift在空白处点击powershell打开输入下面命令, 升级pip版本(我装有多个python版本, 所以图片显示命令不一样, 新手直接输入下面命令即可)python -m pip install --upgrade pip 安装依赖环境pip install -r .\requirements.txt 03 安装ffmpeg需要把ffmpeg的bin目录添加到环境变量右键点击此电脑--属性 , 点击高级系统设置, 高级里边的环境变量, 双击Path, 选择新建,将ffmpeg下的bin目录路径复制的里边,如 F:\钢琴转谱资源包\ffmpeg\bin(将路径改为你所解压的ffmpeg的bin目录路径)然后点击确定在cmd里输入ffmpeg 有显示ffmpeg version 4.3.1字样的即添加好了环境变量04 安装cuda (使用CPU跳过此步骤)CUDA 是 NVIDIA 的一种并行计算平台和编程模型。使用显卡转置比用CPU快很多cuda版本和驱动支持有关,显卡驱动会影响支持cuda的版本 , 为避免不必要的错误, 先去官网更新驱动到最新版本,这里以win10 1909版本的系统为例win7等其他系统去NVIDIA控制面板查看支持cuda的最高版本, 选择相应的cuda版本驱动下载地址https://www.nvidia.cn/geforce/drivers/安装显卡最新驱动, 再去下载cuda工具包11.1安装(有3G大)下载地址https://developer.nvidia.com/zh-cn/cuda-downloads在安装界面选择自定义, 如图只勾选cuda当中的那几项, 其他不必勾选, 选了有可能安装失败安装完成后显示05 安装pytorch到官网下载自己系统合适的版本, 如果使用CPU选择cuda版本选择nonehttps://pytorch.org/这里选择windows系统python3.7 使用pip安装cuda11为例, 按下图选择好版本后下面会有对应的安装命令在cmd命令行里输入安装pytorch, 文件挺大有差不多2G, 如果网络不好安装失败, 请看下边的离线包安装pip install torch===1.7.0+cu110 torchvision===0.8.1+cu110 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html 文件比较大差不多2G, 如果网络不好可以下载离线安装包https://download.pytorch.org/whl/cu110/torch-1.7.0%2Bcu110-cp37-cp37m-win_amd64.whl下载好后再目录下按住shift在空白处右键点击, 选择powershell打开命令行, 输入下面安装命令 pip install .\torch-1.7.0+cu110-cp37-cp37m-win_amd64.whl 使用把MP3,或wav文件放入input文件夹, 可以放多个音频文件在项目piano_transcription按住shift在空白处右键点击, 选择powershell打开命令行, 输入以下命令, 等待程序跑完即可 python .\start.py 使用GPU进行转置还是挺快的, 大概10秒~1分多钟一首跑完后可在output文件夹得到转置好的mid文件, 使用播放器播放即可, 可使用Pianoteq的音源生成高音质的mp3, 如果效果不是很好, 可以使用midi编辑软件进行进一步的修改。midi文件还可以通过一些软件转成琴谱如果使用CPU转置可以修改start.py文件把第19行里边的cuda改为cpu即可
2020年11月20日
37,794 阅读
6 评论
114 点赞
2020-10-05
unravel 让图片唱歌详细教程 Real Time Image Animation 项目
01 下载资源项目资源原始项目Real Time Image Animation项目地址:https://github.com/anandpawara/打包修改好的代码、权重文件、视频图片素材, 下载下面这个即可下载链接(密码:amz5):https://pan.baidu.com/s/1TEd7SOaO5mzPaxpOh2pALQ资源来源于Jack-Cui 知乎文章https://zhuanlan.zhihu.com/p/19311921602 环境安装1. 安装Python为避免报错, 选择和项目一样的Python版本Python3.7https://www.python.org/ftp/python/3.7.9/python-3.7.9-amd64.exe安装过程: 略2.安装依赖包安装项目依赖包, 进入到进入到项目目录Real_Time_Image_Animation-master, 按住shift右键点击目录空白处在此处打开powershell窗口, 输入下面命令安装python -m pip install -r requirements.txt 3.安装pytorch进入到pytorch官网https://pytorch.org/get-started/locally/ 安装合适的版本我选择了最新的版本在命令行输入pip install torch===1.6.0 torchvision===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html 这个包比较大, 大约有1个G, 如果网络不好可以下载包再安装4.安装CUDA安装CUDA必须是nvidia显卡建议先升级显卡驱动, 驱动版本越新能安装的cuda版本越高, 也能安装旧版本的cuda我安装的是CUDA Toolkit 11.1 实测也能兼容pytorch 1.6.0https://developer.nvidia.com/cuda-toolkit-archive安装时选择自定义安装, 为避免不必要的错误, 只勾选如图所CUDA下那四项就可以了5.安装ffmpeg下载https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-4.3.1-2020-10-01-full_build.7z或蓝奏云盘https://wws.lanzous.com/iRzjbhg3xod下载好后解压把bin目录添加到环境变量cmd输入ffmpeg -version 显示版本号等信息即添加成功使用在项目Real_Time_Image_Animation-master文件夹下打开命令行运行python `项目主程序` -i `需要制作的源图路径` -c `权重文件路径` -v `输入的视频文件(unravel源视频, 也可以自己制作)` 例如python image_animation.py -i Inputs/trump2.png -c checkpoints/vox-cpk.pth.tar -v 1.mp4 注意输入的源图最好是长宽比1:1的正方形分辨率256x256像素以上, 并且五官清晰自己做的输入源视频分辨率是256x256像素, 时长2分钟内, 不然会报内存不足
2020年10月05日
27,386 阅读
2 评论
74 点赞
2020-09-21
2020年AI与影音相关技术项目整理
Face-Image-Motion-Model项目地址:https://github.com/tg-bomze/Face-Image-Motion-Model功能: 照片根据提供者的脸部运动而运动 StyleGAN2-Face-Modificator项目地址:https://github.com/tg-bomze/StyleGAN2-Face-Modificator功能: 高分辨率图像生成, 把低分辨的人脸图像提升细节质量 ESRGAN项目地址:https://github.com/xinntao/ESRGAN功能: 视频分辨率提升 Artbreeder网站地址:http://artbreeder.com/Artbreeder 是一款在线生成程序,该网站拥有大量不同风格的面部图像,用户可以手动进行调整,将不同的图像混合在一起,生成全新的图像。比如根据古画脑补成接近真人的照片 Realistic-Neural-Talking-Head-Modelshttps://github.com/vincent-thevenin/Realistic-Neural-Talking-Head-Models只需要少量图像样本,就能学习到高度逼真和个性化的目标人物面部模型。甚至对于肖像画也一样适用。 First-Order-Modelhttps://github.com/AliaksandrSiarohin/first-order-model一张名人照片,加上随便一段视频,就能让照片里的人物分分钟动起来。比如输入一段川普的视频,原本静止在画面中的史塔克们,也忍不住跟着动了起来 DAINhttps://github.com/baowenbo/DAINDAIN是上海交通大学开发的插帧算法,能把30fps的视频一口气插帧到480fps,让视频丝滑流畅,毫无卡顿。 Topaz LabsTopaz Labs的能力,是基于机器学习技术和trimap技术,增加照片的分辨率,补充像素细节。提供添加蒙版,AI色彩、细节增强,AI降噪,无损失放大等功能。 Wav2Lip给算法一个音频文件,算法可以让视频里的人物,将这段话自然地念出来https://github.com/Rudrabha/Wav2Liphttps://bhaasha.iiit.ac.in/lipsync/ Lip2WavAI “读唇术”。视频的声音没了,Lip2Wav 帮你生成。根据画面嘴唇的动作,进行“读唇”,给你音频结果https://github.com/Rudrabha/Lip2Wav Bringing Old Photo Back to Life老照片的修复, 清晰度细节提升https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life DeOldify人工智能上色https://github.com/jantic/DeOldify Real time Image Animationhttps://github.com/anandpawara/Real_Time_Image_Animation Real-Time Voice Cloninghttps://github.com/CorentinJ/Real-Time-Voice-CloningGoogle 团队提出了一种文本语音合成(text to speech)神经系统,能通过少量样本学习到多个不同说话者(speaker)的语音特征,并合成他们的讲话音频。此外,对于训练时网络没有接触过的说话者,也能在不重新训练的情况下,仅通过未知说话者数秒的音频来合成其讲话音频,即网络具有零样本学习能力。 Vid2Vidvid2vid是NVIDIA公司提出的一种图像翻译模型 ,通过输入语义图来生成视频, DeepNude只要给DeepNude一张女性照片,借助神经网络技术,软件可以自动“脱掉”女性身上的衣服,显示出LUO体照片 人物肖像随机生成网站: https://thispersondoesnotexist.com/简笔画转写实人脸:http://geometrylearning.com/DeepFaceDrawing/ AI你画我猜:https://quickdraw.withgoogle.com/ 与AI一起涂鸦:https://magic-sketchpad.glitch.me/ 拼贴画联想生成:https://www.autodraw.com/
2020年09月21日
1,410 阅读
0 评论
0 点赞
2020-09-16
新奇网盘BiliDrive哔哩云使用教程 附部分知识星球精华整理下载
无意中发现了一个新奇的网盘BiliDrive, 分享一下GitHub地址 https://github.com/Hsury/BiliDrive特色轻量:无复杂依赖,资源占用少自由:无文件格式与大小限制,无容量限制安全:上传的文件需要通过生成的META URL才能访问,他人无法随意查看稳定:带有分块校验与超时重试机制,在较差的网络环境中依然能确保文件的完整性快速:支持多线程传输与断点续传,同时借助B站的CDN资源,能最大化地利用网络环境进行上传与下载技术实现将任意文件分块编码为图片后上传至B站,对该操作逆序即可下载并还原文件进化版01 CDNDrive https://github.com/apachecn/CDNDrive使用更简单, 看文档好像还除了b站还支持其他网站, 请自测cdrive login usage: CDNDrive login [-h] {bili,baijia,csdn,sohu,jian,weibo,ali,163,osc,sogou} username password 02 BiliDrive-BT https://github.com/1299172402/BiliDrive-BTBili图床共有库 BiliDrive魔改版 有网盘同步,类bt上传功能模仿bt种子和磁力链接设计使用方法(CDNDrive)安装01 安装python3.6以上版本02 安装CDNDrive通过pip安装pip install CDNDrive 通过源码安装pip install git+https://github.com/apachecn/CDNDrive 登陆cdrive login bili username password username: bilibili用户名 password: bilibili密码 下载cdrive download 网盘地址 下载完毕后会自动进行文件完整性校验,对于大文件该过程可能需要较长时间,若不愿等待可直接退出上传等更详细使用见项目文档https://github.com/apachecn/CDNDrive下面是知识星球精华整理下载新建个文件夹, 空白处按住shift键, 右键点击在此处打开powershell窗口, 把下面地址直接复制粘贴上去回车就可以下载了批量下载脚本使用方法: 新建个文件夹, 在文件夹里新建个list.txt, 把要下载的列表粘贴进去, 再新建个download.py文件, 把下面的脚本粘贴进去, 运行这个py文件import os drive = {"bdex": 47, "wbdrive": 42, "bjdrive": 42, "csdrive": 27, "jsdrive": 33, "shdrive": 51, } file = open("list.txt", "r") for line in file: cmd= '' for k, v in drive.items(): if k in line: index = line.find(k) cmd = "cdrive download " + line[index:(index + v)] print(cmd) else: continue res = os.popen(cmd).read() print(res) file.close() print("全部下载完成!") 「帅张和他的朋友们」第二期精华电子书.pdf (1.49 MB) cdrive download bdex://0f39451b7944df1e8483897753af1ee443ded38c 逸米家知识星球整理 20190916.epub (17.44 MB) cdrive download bdex://8c90c920725eaa67c5822ea451dcffd999cb256b 生财有道商学院知识星球附件 20190611-20191003.pdf (26.50 MB) cdrive download bdex://a9b4282134faf5b3d907f53c2f3caee964e47612 郑州买房知识星球精华 20190521.epub (346.83 KB) cdrive download bdex://8538b01165dbef45cf18e572313a24641fde93f2 愚公掘金知识星球精华 20191125.epub (9.52 MB) cdrive download bdex://ba62de4c20aa07aae231f198a51aadcf38328e2e 「帅张和他的朋友们」第一期精华电子书.pdf (1.06 MB) cdrive download bdex://92de120e5d75ba0594b752982b55c3d3e6838e4b 就聊挣钱知识星球精华 20190828.epub (6.81 MB) cdrive download bdex://a50386a5f1e87f2e364a316b208b6774a86f2b4f 童大焕知识星球整理 20191125.pdf (1.14 MB) cdrive download bdex://32d7f90f61b87c1edad4a1860ebc597d1b984de2 路人甲乙丙知识星球精华 20190916.epub (8.24 MB) cdrive download bdex://54d6866c0d17d38c91f12d2cd68a1eee17807fed 泽宇核心课知识星球精华 20190101-20190830.epub (15.95 MB) cdrive download bdex://e277fbf24d33d2a87620b2ac6b19ade92d8a70c8 曹将和朋友们知识星球精华 20190725.epub (13.75 MB) cdrive download bdex://7462af5edbd687c10214b9ea7c9b965ced526400 小马宋商业观察知识星球精华 20190910.epub (2.15 MB) cdrive download bdex://1d523af42a5af0bf86aeab6f96c9131bb4143b7d 下一站深圳知识星球整理 20190926.epub (4.23 MB) cdrive download bdex://e3a9e135a18055bd34f13ecaafb7c42a1e323850 花神妙知识星球精华 20190828.epub (2.92 MB) cdrive download bdex://0f1b54bbee0bc5008dda92b191fe5ab9fa246920 生财有术知识星球整理 20190928.epub (12.92 MB) cdrive download bdex://4617effa49730b35557743f972c12dc011bfedce 斜杠星球知识星球精华 20190725.epub (3.98 MB) cdrive download bdex://e3ca3d0cb76a80996ecf631284ec8ce76b15e1af 生财有道商学院知识星球整理 20190413-20191006.pdf (15.12 MB) cdrive download bdex://5b6da93313a910c60227b023133f89f51746fd34 童大焕:买房的革命.pdf (551.20 KB) cdrive download bdex://09b98c48d615ec5721d8572c6b0a222b4cc2488f 老 A 的私人空间知识星球整理 20190809.epub (4.19 MB) cdrive download bdex://6667333b4229928beedbac57d26443a003d31f17 刘煜辉经济笔记知识星球整理 201906-201908.pdf (24.72 MB) cdrive download bdex://588303fb9bf491e732aaa68954d83a20b5e54e8f 童大焕:世界越来越陡峭.pdf (2.61 MB) cdrive download bdex://f67f803018db784d8380ecb3dbbd91ffbe65eb88 Affiliate 营销圈知识星球精华 20191125.epub (3.70 MB) cdrive download bdex://7c326aaf7aa11279efb9534078665ad343e311e6 黄章林的升级课知识星球精华 20190909.epub (22.06 MB) cdrive download bdex://47a08d1aeef2d40beb97451dbec8061c6fbfbcec 齐俊杰的粉丝群知识星球精华 2019.pdf (1.74 MB) cdrive download bdex://6f5ce8a5bcd61bb8bd2cfa5e448193c3742e9242 生财日历 2020.pdf (4.24 MB) cdrive download bdex://d99c216b6c614e158b1597ed68c7e602845d1ad8 1000 种赚钱方法知识星球精华 20190828.epub (8.72 MB) cdrive download bdex://7e4ea9ba758264abda2a50837c344c7ee06c06ce 11 点港股打新知识星球整理 20190909.epub (20.13 MB) cdrive download bdex://92034a54ca73af89666504412a95032479d90369 杰哥学霸圈知识星球整理 20190921.epub (8.75 MB) cdrive download bdex://3ae0248240b2a817d72353a8b26a7dfe715db030 Kris 的知识星球精华 20190927.epub (10.82 MB) cdrive download bdex://f8a35e9afe359e8041225b1e1d1a711cd2e329c3 Shopee 大卖之路知识星球整理 20190717.epub (2.97 MB) cdrive download bdex://ff0aa0694424a58aa4032031765f626d089e1829 守夜人总司令知识星球整理 20190916.epub (13.61 MB) cdrive download bdex://8ade1e45d91dd220c64e00d03ba1abdad7edbdd0 精英投资圈知识星球精华 20190628.epub (5.14 MB) cdrive download bdex://5a9a35d044cc97a3e2edf44ecc543657fdf7c0ee 童大焕众筹合集.pdf (2.58 MB) cdrive download bdex://93db72eb0eff656787991d30ff29cd943fb5ad4d 老李的干货笔记知识星球精华 20190908.epub (2.94 MB) cdrive download bdex://1c63755e36e212a0cd01b64412d7bfe96035f50b 清单控沙牛知识星球整理.epub (2.45 MB) cdrive download bdex://b08119acdb583d47a3ce1defae3fc8553cea6414 成年人的第二次大学:愚公掘金电子书.pdf (11.49 MB) cdrive download bdex://7ecf1919a0a4341acf6626810b3ea03a34b57d8a MacTalk 的朋友们知识星球精华 20190725.epub (3.61 MB) cdrive download bdex://7e058364ef7a4202911db896509217d6eaebe4c4 螺丝钉学院知识星球精华 20190809.epub (15.26 MB) cdrive download bdex://eca1a92d5c2fb5a5a282fa3b2d58d03101b78e6a 童大焕 2018 财智书院全集.pdf (6.16 MB) cdrive download bdex://fee7bc9772c74304a9a8f42a7b7743ccc17c28d3 呆叔和他的赚友知识星球整理 20190828.epub (4.70 MB) cdrive download bdex://78edd7f826eef85a71d42f5ce408ef2eaa2133b6 泽宇核心课知识星球精华 2018.epub (21.91 MB) cdrive download bdex://27231607ddb9a0ab0b78bb39e6b5970c57d711a9 Facebook 营销俱乐部知识星球整理 20191016.epub (1.56 MB) cdrive download bdex://5cef194e53f132a87036c3805b70924fa9f4e326 毒辣香蕉的诡秘国度知识星球整理 20190814-20190827.pdf (2.87 MB) cdrive download bdex://02fc8578ef60899356a64027518955fe52957a0e 小道消息知识星球精华 20190719.epub (2.10 MB) cdrive download bdex://710b76d198358ffeb3f6e2f246b0c06f6f5f0781 caoz 的知识星球整理 20190809.epub (14.82 MB) cdrive download bdex://bbd305766273a402e1f726df0492d9ae97541a53 流水白菜知识星球精华 20190907.epub (10.61 MB) cdrive download bdex://d77a62b62a020e6bb9f6d7437e36681f8d40b1c9 郑州新一线知识星球整理 20190523.epub (11.40 MB) cdrive download bdex://1b8dec826a78476aadda659176c3dc8bdc0230f5 电商进化岛知识星球精华 20190724.epub (3.30 MB) cdrive download bdex://9725c9e02bb31308fb48302cf0084c41cbee457f 体制内关系攻略知识星球精华 20190918.epub (713.44 KB) cdrive download bdex://59ae03c756d4ca4b6731cc55833ce3d0d6a1d15f 历史求诸野知识星球整理 20190813.epub (19.64 MB) cdrive download bdex://d1f532099c1c811fd288003e16bb9999b8ad240a 「就聊挣钱」第一期精华电子书.pdf (3.96 MB) cdrive download bdex://eaebc6517bd19e801a128a8cee977dc31f9443b1 粥左罗的知识星球精华 20190829.epub (29.20 MB) cdrive download bdex://4dbb74587b831d6495fa98082fe8527498f68728 猫哥聊地产知识星球精华 20190916.epub (293.67 KB) cdrive download bdex://f7a50c4e9b7e4218ecbb8baa18e402424dab48a1 产品学徒知识星球精华 20190527.epub (588.80 KB) cdrive download bdex://fcb456fcfbcbbf0ae581bb4c0f99e9017ca7ddbe 站在中国财富之巅——风格纯粹VS童大焕云端对话中国三大城市群.pdf (1.77 MB) cdrive download bdex://9c6a042a6758771de01c0a399fcb5527a27cca0f资源由布客飞龙整理上传分享更多电子书资源见他的GitHub: https://github.com/wizardforcel
2020年09月16日
1,726 阅读
0 评论
0 点赞
2020-09-14
免费使用Cloudflare Workers部署服务
简介现在都流行无服务器函数,作为大牌CDN提供商cloud flare自然不甘落后推出了worker服务。免费用户有10万请求/每天 的额度cloudflare注册https://workers.cloudflare.com/作用反向代理镜像网站在线代理加速任意网站建立免费网址导航反向代理addEventListener('fetch', event => { const request = event.request; const url = new URL(request.url); const response = fetch('https://magnetdog.net/' + url.pathname + url.search, { method: request.method, headers: request.headers, body: request.body, }); event.respondWith(response); });建立免费网址导航系统安装在 Cloudflare Worker 管理页面创建一个新的 Worker 。在Worker编辑页面左边粘贴 index.js 中的代码。根据自身需要修改 config 的配置内容Github地址:https://github.com/sleepwood/CF-Worker-Dir/演示地址:http://gethe.best免费部署 JSProxy 服务SProxy 一个基于浏览器端 JS 实现的在线代理,这里不多介绍!本文主要介绍一下利用CloudFlare Worker 来搭建一个JSProxy服务。CloudFlare Worker 是 CloudFlare 的边缘计算服务。开发者可通过 JavaScript 对 CDN 进行编程,从而能灵活处理 HTTP 请求。这使得很多任务可在 CDN 上完成,无需自己的服务器参与。CFW免费服务,支持每天10 万次免费请求!基本也够用了!项目地址:https://github.com/EtherDream/jsproxyCloudflare workers + Github 实现的动态博客系统项目地址 https://github.com/kasuganosoras/cloudflare-worker-blogCloudflare workers + Github 实现的动态博客系统,使用边缘计算,无需服务器用户可以使用 JavaScript 编写自己的程序,然后可以直接通过域名访问运行。获取到自己的**.workers.dev域名 Cname 到(**.workers.dev)然后去 Workers 点击 ADD route输入自定义域名,例如 gd.mjj.com/* 后面要加上 /*,下面的 workers 选择刚才的项目利用 Cloudflare Worker 搭建镜像网站!// 反代目标网站. const upstream = 'google.com' // 反代目标网站的移动版. const upstream_mobile = 'google.com' // 访问区域黑名单(按需设置). const blocked_region = ['TK'] // IP地址黑名单(按需设置). const blocked_ip_address = ['0.0.0.0', '127.0.0.1'] // 路径替换. const replace_dict = { '$upstream': '$custom_domain', '//archiveofourown.org': '' } addEventListener('fetch', event => { event.respondWith(fetchAndApply(event.request)); }) async function fetchAndApply(request) { const region = request.headers.get('cf-ipcountry').toUpperCase(); const ip_address = request.headers.get('cf-connecting-ip'); const user_agent = request.headers.get('user-agent'); let response = null; let url = new URL(request.url); let url_host = url.host; if (url.protocol == 'http:') { url.protocol = 'https:' response = Response.redirect(url.href); return response; } if (await device_status(user_agent)) { var upstream_domain = upstream; } else { var upstream_domain = upstream_mobile; } url.host = upstream_domain; if (blocked_region.includes(region)) { response = new Response('Access denied: WorkersProxy is not available in your region yet.', { status: 403 }); } else if(blocked_ip_address.includes(ip_address)){ response = new Response('Access denied: Your IP address is blocked by WorkersProxy.', { status: 403 }); } else{ let method = request.method; let request_headers = request.headers; let new_request_headers = new Headers(request_headers); new_request_headers.set('Host', upstream_domain); new_request_headers.set('Referer', url.href); let original_response = await fetch(url.href, { method: method, headers: new_request_headers }) let original_response_clone = original_response.clone(); let original_text = null; let response_headers = original_response.headers; let new_response_headers = new Headers(response_headers); let status = original_response.status; new_response_headers.set('cache-control' ,'public, max-age=14400') new_response_headers.set('access-control-allow-origin', '*'); new_response_headers.set('access-control-allow-credentials', true); new_response_headers.delete('content-security-policy'); new_response_headers.delete('content-security-policy-report-only'); new_response_headers.delete('clear-site-data'); const content_type = new_response_headers.get('content-type'); if (content_type.includes('text/html') && content_type.includes('UTF-8')) { original_text = await replace_response_text(original_response_clone, upstream_domain, url_host); } else { original_text = original_response_clone.body } response = new Response(original_text, { status, headers: new_response_headers }) } return response; } async function replace_response_text(response, upstream_domain, host_name) { let text = await response.text() var i, j; for (i in replace_dict) { j = replace_dict[i] if (i == '$upstream') { i = upstream_domain } else if (i == '$custom_domain') { i = host_name } if (j == '$upstream') { j = upstream_domain } else if (j == '$custom_domain') { j = host_name } let re = new RegExp(i, 'g') text = text.replace(re, j); } return text; } async function device_status (user_agent_info) { var agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]; var flag = true; for (var v = 0; v < agents.length; v++) { if (user_agent_info.indexOf(agents[v]) > 0) { flag = false; break; } } return flag; }const upstream = '反代目标网站'const upstream_mobile = '反代目标网站的移动版'const blocked_region = ['访问区域黑名单(按需设置)']const blocked_ip_address = ['IP地址黑名单(按需设置)', '127.0.0.1']const replace_dict= 路径替换在 CF Workers 搭建自己的 t.cn 短网址入口addEventListener('fetch', (event) => { return event.respondWith(handleRequest(event.request)); }) const handleRequest = async (request) => { const render = (body) => { return new Response(` <!doctype html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width,initial-scale=1" /> <title>T.CN 短网址</title> </head> <body>${body}</body> </html>`.trim(), { status: 200, headers: { 'Content-Type': 'text/html; charset=utf-8' } }); } request = new URL(request.url); if (request.pathname !== '/') return new Response(null, { status: 404 }); if (request.searchParams.has('url')) { const url = request.searchParams.get('url'); const response = await fetch(`http://service.weibo.com/share/share.php?url=${encodeURIComponent(url)}&title=1`); const html = await response.text(); const short = html.match(/http:\/\/t.cn\/\w+/i); const refer = html.match(/\$refer\s+: "(.+?)"/i); if (short && refer) { return render(` 缩短结果:<a href="${short[0]}">${short[0]}</a><br /> 原始网址:<a href="${refer[1]}">${refer[1]}</a><br /> <a href="/">返回</a> `); } return render(`请求失败`); } return render(` <form method="GET"> <input name="url" placeholder="URL" /> <button type="submit">压缩</button> </form> `); }改进版 addEventListener('fetch', (event) => { return event.respondWith(handleRequest(event.request)); }) const handleRequest = async (request) => { const render = (body) => { return new Response(` <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>T.CN 短网址</title> <style media="screen"> body { background: #ECEFF1; color: rgba(0,0,0,0.87); font-family: Roboto, Helvetica, Arial, sans-serif; margin: 0; padding: 0; } #message { background: white; max-width: 360px; margin: 100px auto 16px; padding: 32px 24px; border-radius: 3px; } #message h2 { color: rgba(0,0,0,0.6); font-weight: bold; font-size: 14px; margin: 0 0 8px; } #message h1 { color: #ffa100; font-size: 30px; font-weight: 300; margin: 0 0 16px;} #message p { line-height: 140%; margin: 16px 0 24px; font-size: 14px; } #message a { display: block; text-align: center; background: #039be5; text-decoration: none; color: white; padding: 16px; border-radius: 4px; } #message, #message a { box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); } #load { color: rgba(0,0,0,0.4); text-align: center; font-size: 13px; } @media (max-width: 600px) { body, #message { margin-top: 0; background: white; box-shadow: none; } body { border-top: 16px solid #ffa100; } } </style> </head> <body> ${body} </body> </html>`.trim(), { status: 200, headers: { 'Content-Type': 'text/html; charset=utf-8' } }); } request = new URL(request.url); if (request.pathname !== '/') return new Response(null, { status: 404 }); if (request.searchParams.has('url')) { const url = request.searchParams.get('url'); const response = await fetch(`http://service.weibo.com/share/share.php?url=${encodeURIComponent(url)}&title=1`); const html = await response.text(); const short = html.match(/http:\/\/t.cn\/\w+/i); const refer = html.match(/\$refer\s+: "(.+?)"/i); if (short && refer) { return render(` <div id="message" align="center"> <center><h1>缩短结果:</h1><a href="${short[0]}">${short[0]}</a></center> <p></p> <center><h1>原始网址:</h1><a href="${refer[1]}">${refer[1]}</a></center> <p></p> <a href="/">返回</a> </div> `); } return render(` <div id="message" align="center"> <center><h1>请求失败</h1></center> </div> `); } return render(` <div id="message" align="center"> <center><h1>T.CN 短网址</h1></center> <p></p> <form method="GET"> <input name="url" placeholder="URL" /> <button type="submit">压缩</button> </form> </div> `); }
2020年09月14日
1,356 阅读
0 评论
2 点赞
2020-09-03
利用CloudflareWorkers加速Github
参考资料https://www.hostloc.com/forum.php?mod=viewthread&tid=737012&highlight=Workers https://github.com/hunshcn/gh-proxy使用国内的云服务器时,对于Github是极其不友好的,经常无法连接上,raw.githubusercontent.com域名也是已经凉凉,git clone能连上的时候也是龟速。Cloudflare Workers免费套餐的每天10万请求数是绰绰有余的使用方法加速下载文件打开https://git.haoduck.cf,然后输入要加速的链接(release文件等)加速clone将git clone https://github.com/username/xxx.git换成git clone https://git.haoduck.cf/github.com/username/xxx.git'use strict' /** * static files (404.html, sw.js, conf.js) */ const ASSET_URL = 'https://hunshcn.github.io/gh-proxy' // 前缀,如果自定义路由为example.com/gh/*,将PREFIX改为 '/gh/',注意,少一个杠都会错! const PREFIX = '/' // git使用cnpmjs镜像、分支文件使用jsDelivr镜像的开关,0为关闭,默认开启 const Config = { jsdelivr: 1, cnpmjs: 1 } /** @type {RequestInit} */ const PREFLIGHT_INIT = { status: 204, headers: new Headers({ 'access-control-allow-origin': '*', 'access-control-allow-methods': 'GET,POST,PUT,PATCH,TRACE,DELETE,HEAD,OPTIONS', 'access-control-max-age': '1728000', }), } /** * @param {any} body * @param {number} status * @param {Object<string, string>} headers */ function makeRes(body, status = 200, headers = {}) { headers['access-control-allow-origin'] = '*' return new Response(body, {status, headers}) } /** * @param {string} urlStr */ function newUrl(urlStr) { try { return new URL(urlStr) } catch (err) { return null } } addEventListener('fetch', e => { const ret = fetchHandler(e) .catch(err => makeRes('cfworker error:\n' + err.stack, 502)) e.respondWith(ret) }) /** * @param {FetchEvent} e */ async function fetchHandler(e) { const req = e.request const urlStr = req.url const urlObj = new URL(urlStr) let path = urlObj.searchParams.get('q') if (path) { return Response.redirect('https://' + urlObj.host + PREFIX + path, 301) } // cfworker 会把路径中的 `//` 合并成 `/` path = urlObj.href.substr(urlObj.origin.length + PREFIX.length).replace(/^https?:\/+/, 'https://') const exp1 = /^(?:https?:\/\/)?github\.com\/.+?\/.+?\/(?:releases|archive)\/.*$/i const exp2 = /^(?:https?:\/\/)?github\.com\/.+?\/.+?\/(?:blob)\/.*$/i const exp3 = /^(?:https?:\/\/)?github\.com\/.+?\/.+?\/(?:info|git-).*$/i const exp4 = /^(?:https?:\/\/)?raw\.githubusercontent\.com\/.+?\/.+?\/.+?\/.+$/i if (path.search(exp1) === 0 || !Config.cnpmjs && (path.search(exp3) === 0 || path.search(exp4) === 0)) { return httpHandler(req, path) } else if (path.search(exp2) === 0) { if (Config.jsdelivr){ const newUrl = path.replace('/blob/', '@').replace(/^(?:https?:\/\/)?github\.com/, 'https://cdn.jsdelivr.net/gh') return Response.redirect(newUrl, 302) }else{ path = path.replace('/blob/', '/raw/') return httpHandler(req, path) } } else if (path.search(exp3) === 0) { const newUrl = path.replace(/^(?:https?:\/\/)?github\.com/, 'https://github.com.cnpmjs.org') return Response.redirect(newUrl, 302) } else if (path.search(exp4) === 0) { const newUrl = path.replace(/(?<=com\/.+?\/.+?)\/(.+?\/)/, '@$1').replace(/^(?:https?:\/\/)?raw\.githubusercontent\.com/, 'https://cdn.jsdelivr.net/gh') return Response.redirect(newUrl, 302) } else { return fetch(ASSET_URL + path) } } /** * @param {Request} req * @param {string} pathname */ function httpHandler(req, pathname) { const reqHdrRaw = req.headers // preflight if (req.method === 'OPTIONS' && reqHdrRaw.has('access-control-request-headers') ) { return new Response(null, PREFLIGHT_INIT) } let rawLen = '' const reqHdrNew = new Headers(reqHdrRaw) let urlStr = pathname if (urlStr.startsWith('github')) { urlStr = 'https://' + urlStr } const urlObj = newUrl(urlStr) /** @type {RequestInit} */ const reqInit = { method: req.method, headers: reqHdrNew, redirect: 'follow', body: req.body } return proxy(urlObj, reqInit, rawLen, 0) } /** * * @param {URL} urlObj * @param {RequestInit} reqInit */ async function proxy(urlObj, reqInit, rawLen) { const res = await fetch(urlObj.href, reqInit) const resHdrOld = res.headers const resHdrNew = new Headers(resHdrOld) // verify if (rawLen) { const newLen = resHdrOld.get('content-length') || '' const badLen = (rawLen !== newLen) if (badLen) { return makeRes(res.body, 400, { '--error': `bad len: ${newLen}, except: ${rawLen}`, 'access-control-expose-headers': '--error', }) } } const status = res.status resHdrNew.set('access-control-expose-headers', '*') resHdrNew.set('access-control-allow-origin', '*') resHdrNew.delete('content-security-policy') resHdrNew.delete('content-security-policy-report-only') resHdrNew.delete('clear-site-data') return new Response(res.body, { status, headers: resHdrNew, }) }
2020年09月03日
2,092 阅读
0 评论
0 点赞
2020-08-20
Vultr自定义ISO安装Windows系统镜像提供下载地址
http://down.80host.com/iso/最多两个自定义iso iso需要制作添加驱动使用下面的评估序列号激活Svr 2008 R2 可以获取180天试用期Windows Server 2008 R2 Web: KBV3Q-DJ8W7-VPB64-V88KG-82C49Windows Server 2008 R2 Standard: 4GGC4-9947F-FWFP3-78P6F-J9HDRWindows Server 2008 R2 Enterprise: 7PJBC-63K3J-62TTK-XF46D-W3WMDWindows Server 2008 R2 Datacenter: QX7TD-2CMJR-D7WWY-KVCYC-6D2YT在180天试用期即将结束时,在命令行模式下,输入“slmgr.vbs /rearm”后,重启电脑,重新输入上面的序列号,剩余时间又恢复到180天。微软官方文档中声明该命令只能重复使用5次。上面的方法5次后,此后将无法再次使用。就要进行下一步,修改注册表中的一处键值(SkipRearm),以后就可以再次使用“Rearm”的命令,这个键值总共可以修改8次。DD方式安装windows20032008r2http://arv.asuhu.com/cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_vl_build_x64_dvd_617396_virtio_20180125.iso2016http://arv.asuhu.com/cn_windows_server_2016_x64_dvd_9327743_virtio_20170124.isowin10http://arv.asuhu.com/cn_windows_10_multi-edition_vl_version_1709_updated_dec_2017_x64_dvd_100406208_virtio_20180202.iso
2020年08月20日
1,497 阅读
2 评论
0 点赞
1
2