现在用户最多、曲库最多的 K 歌软件是全民K歌,基本上想唱的歌都有,而且基本上每首歌都有 MV 或视频,使用体验也还不错,但是收费太贵了,对于一个月唱不了几次的打工人来说,唱一首歌就是“天价”。那是不是可以选择其他 K 歌软件呢?

比如唱吧,曲库是真的有限,很多歌都没有,有些歌也不是原唱,大部分歌没有 MV,就一张默认的背景图片,恕我直言:没有 MV 的 K 歌软件就是垃圾。至于更多的其他 K 歌软件,真是一个比一个垃圾,也就三六十万的曲库也敢号称海量,可能是梁静茹给它们的勇气吧。

网上有很多卖破解版的 K 歌软件,首先是曲库有限,其次是搞不好哪天官方把漏洞堵上了就不能用了,使用体验极差。而网上找到的一些开源的 K 歌软件,基本上都是有音乐没有 MV,且曲库来源第三方,很多歌都没有,基本没法用。那有没有其他可以永久免费无限量的 K 歌的软件呢?

功能介绍

本 KTV 系统适合不闲麻烦且非土豪的家庭/个人使用,本系统需要自建曲库,在此基础上支持点歌、切歌、原唱/伴奏切换、音量调整、暂停等 K 歌软件的核心功能,所有功能支持手机端控制,且全系统、全平台都可以使用。

页面介绍

系统总共只有 4 个页面,分别是曲库列表展示页面、音视频预处理页面、K 歌视频播放页面、手机端控制页面。其中 曲库列表展示页面 和 音视频预处理页面 做的比较简单,因为这两个页面在 K 歌的时候是用不到的。K 歌视频播放页面看着也挺简单的,其复杂的地方在控制逻辑,而不是页面展示。手机端控制页面已经尽可能地适配手机了,在手机、平板等竖屏设备上页面展示效果较好,但是在横屏设备上,页面展示就不那么友好。

曲库列表展示

该页面是首页,其他页面的跳转都在这个页面:

音视频预处理

该页面主要用来做音视频的简单处理,包括音频提取、音视频格式转换、修改视频元数据等:

歌曲视频播放

该页面主要用来播放歌曲视频 MV 的,另外包括音视频同步、音视频控制等功能也在此页面实现的:

手机端控制

所有 K 歌需要的核心功能这里都有,特别针对手机端做了适配:

自建曲库

为什么要自建曲库呢?绝大部分人唱歌可能来来回回也就不过百首,喜欢唱歌的人盲猜会有千首吧,因此不管那些 K 歌软件的曲库是多少万首,只要你想唱的歌没有,那它就不是一个好的曲库。任何 K 歌软件的曲库都是很有限的,如果曲库里没有你想唱的歌,你也没有任何办法,它不受你个人的控制。自建曲库的好处就是整个互联网都将是你的曲库,国内各大视频网站、短视频平台的歌曲 MV 都可以下载下来作为你的曲库(网上有很多下载方法,即使不能下载也还是有办法),如果喜欢国外歌曲,那么 Youtube 也可以是你的曲库,所以完全可以唱任何你想唱的歌,看你想看的 MV。且对于大部分人,自建曲库的时间成本很低的,完全可以均分到日常 K 歌中。

歌曲下载

很多歌曲都可以在 B 站找到,大部分都有带 K 歌字幕的视频,这种视频就非常适合下载下来作为曲库;如果实在找不到带 K 歌字幕的视频,普通的 MV 视频也是可以的,就是 K 歌体验不是很好。另外,像腾讯、爱奇艺、优酷等视频网站也可以看有没有 MV;像微博这种,如果有合适的视频的话也是可以用的;实在不行,抖音、快手等也是可以的;最后的最后就是去 Youtube 找了。

视频预处理

歌曲视频需要处理才能使用,步骤依次是从视频中提取音频、把音频中的人声和伴奏分离、去掉视频中的音频、把视频元数据放到视频头部。下面依次介绍每个步骤。

音视频格式转换

本系统支持的视频格式是 mp4,支持的音频格式是 mp3,如果不是这种格式,需要进行转换,直接使用系统提供的格式转换能力,在页面上操作很方便。

音视频提取

首先需要从视频中提取出音频,其次需要把视频中的音频去掉(其实这步不做影响不大),最后把视频文件的元数据放到视频的头部(这步必须做,否则严重影响 K 歌体验)。以上都可以直接使用系统提供的音视频提取能力,在页面上操作很方便。

分离人声和伴奏

这步操作极其重要,是自建曲库的核心步骤。有很多 K 歌软件的伴奏和人声分离不是很好,伴奏中带有人声,但是近些年人工智能大模型的出现,人声和伴奏的分离效果越来越好了。以下汇总了免费的人声和伴奏分离软件:

1、ultimatevocalremover:简称 UVR,号称天花板级别的音频处理软件,可选择不同的模式和下载不同的模型,具体用法可网上查阅资料。Windows 和 Mac 电脑直接下载即可运行,Linux 系统需要自己编译部署;

2、vocal-separate:极简的人声和伴奏分离软件,效果还可以,速度也挺快的。Windows 系统直接下载就可以用,Mac 和 Linux 系统需要自己部署;

3、Replay:还不错的人声和伴奏分离软件,全平台支持下载安装即可使用,需要自己下载训练好的模型;

4、Adobe Audition:Adobe 公司出品的音频处理软件,没用过,但既然敢拿出来卖,效果应该很不错。网上有很多破解版的可以用哦。

通过使用上述软件分离歌曲的人声和伴奏,最终会生成 2 个音频文件,分别是人声的音频和伴奏的音频。如果音频格式不是 mp3,请将它们转换成 mp3 格式。

上传音视频文件

将处理后的音频和视频文件命好名,建议以歌曲名-歌手这种方式命名,这样在搜索歌曲时,通过歌名和歌手都可以搜到。

音视频命名是有规范的,以大鱼-周深这首歌为例,视频文件的名字是大鱼-周深.mp4,人声文件的名字是大鱼-周深_vocals.mp3,伴奏文件的名字是大鱼-周深_accompaniment.mp3。也就是说人声音频的文件名要加上 _vocals,伴奏音频的文件名要加上 _accompaniment,且音频文件格式必须是 mp3,视频文件格式必须是 mp4。音视频文件上传成功后,这首歌就加入到你的曲库里了,然后就可以点歌和 K 歌了。

点歌

在曲库列表展示页面,可以从曲库中搜索歌曲,然后点歌。点歌时,会去校验音视频文件是否都有,校验逻辑是按照命名规范去找文件是否存在,如果校验不通过,则不能点歌。

开始K歌

进入 K 歌视频播放页面即可开始 K 歌,该页面主要就是视频播放,外加简单的控制功能。

温馨提示:正式 K 歌时,可设置浏览器全屏展示 或者 视频全屏播放,这样用户体验最好。

特别注意:由于浏览器的安全限制(Google 浏览器和 Edge 浏览器有,其他浏览器未测试),在第一次进入网页或者刷新网页后,第一次播放视频需要手动触发,无法自动播放。官方给出的解释是:避免未经用户操作自动发出声音。

一个比较鸡肋的小功能:如果你家里每个房间都有电视屏幕,想每个房间同时播放歌曲的 MV,那么每个设备都可以打开这个 K 歌页面,通过手机端就可以同时控制这些页面的歌曲播放。

手机端控制

手机扫码即可快速打开控制台页面(微信扫码或者浏览器扫码),然后就可以愉快地用手机来控制 K 歌了。控制台界面如下:



说实话,这个页面样式就是参考全民K歌的手机点歌页面,展示了当前正在唱的歌和下一首歌、切歌、原唱/伴奏切换、音量调整、开始/暂停、重唱、各种互动音效等,可以点歌,也可以查看已点歌曲列表,总之这个页面的功能基本上满足 K 歌需求。

开源地址:https://github.com/leeyoshinari/karaoke

自建家庭 KTV,在家想嗨就嗨的更多相关文章

  1. TTTTTTTTTTTTTTTTTT POJ 2724 奶酪消毒机 二分匹配 建图 比较难想

    Purifying Machine Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5004   Accepted: 1444 ...

  2. 在家想自学Java,有C语言底子,请问哪本书适合?

    一.问题剖析 看到这个问题,我想吹水两句再做推荐.一般发出这个疑问都处在初学编程阶段,编程语言都是相通的,只要你领悟了一门语言的"任督二脉",以后你学哪一门语言都会轻易上手.学语言 ...

  3. 红星美凯龙CEO车建新的圆融和霸气

    待人接物中车建新有许多习惯,与别人一起行走时,走在靠马路的一边:吃饭时最好的菜留给客人.他说,做人往往就在细节中,别小看一个举动,无意中就会感染别人.和别人在一起,你要时时刻刻先考虑对方. 细节上体察 ...

  4. [web建站] 优课急送《零基础快速学习建站》视频+课件【价值399元】

    [课程介绍]你想快速建一个网站出来吗?你想从什么都不懂到一两天出一个漂漂亮亮的站吗?你想完成领导交给你的任务找人建站吗?你想自己建站来创业吗?你想学会建站之后,利用给别人建站来赚钱吗?你想建一个跟某个 ...

  5. vps建站教程 CentOS6如何安装配置FTP服务器

    通过之前的几篇文章,我们都知道了如何配置PHP环境,也知道如何保护我们的vps以及如何绑定多个域名建设多个网站.有时候我们为了让我们的朋友也能用我们的vps建站又不想给他们太多权限,有时候我们想要当个 ...

  6. 支持中文!秒建 wiki 知识库的开源项目,构建私人知识网络

    不知道有没有人和我一样,觉得自建的东西是互联网上的"自留地".私人空间,有一种自己的一亩三分地随心所欲的痛快. 比如自建的博客想写什么随笔就写什么,不用取悦读者可以自娱自乐:再比如 ...

  7. re.match re.search re.findall区别

    re正则表达式里面,常用的三种方法的区别. re.macth和search匹配得到的是match对象,findall得到的是一个列表. match从字符串开头开始匹配,search返回与正则表达式匹配 ...

  8. 机器时代的中国字幕(Automata.2014.720p.WEB-DL.DD5.1.H264-RARBG.srt)

    看字幕.再也看不下去.自己翻译的位 评价的探讨 1 00:01:58,452 --> 00:02:02,088 人工增雨 期限为32分钟16第二 2 00:02:02,089 --> 00 ...

  9. SharedPreferences 的另一种场景的用法

    SharedPreferences 的另一种场景的用法 昨天,下班在家想做什么来着,然后想用SharedPreferences存点数据,但是不知道咋地突然想到,SharedPreferences是应用 ...

  10. 本周进步要点20161023(含李笑来第二场live笔记要点)

    本周主要忙于去武汉参加iDOF2016智能数字油田会议,会上做了题为“油田SOA及云平台的系统思考与实践”的报告,为了准备这篇报告,用到了一些以前学过的知识,具体内容见“参加iDOF2016会议的收获 ...

随机推荐

  1. 利用强化学习算法解释人类脑对高维状态的抽象表示:how humans can map high-dimensional sensory inputs in actions

    论文: <Using deep reinforcement learning to reveal how the brain encodes abstract state-space repre ...

  2. mojo编程语言:mojo调用python库及内置函数builtins

    编程语言mojo调用python十分方便,mojo不仅可以调用python的库函数更可以调用python的内置函数(builtins),给出示例代码: from python import Pytho ...

  3. ComfyUI插件:ComfyUI-BrushNet节点

    前言: 学习ComfyUI是一场持久战,而ComfyUI-BrushNet是最近的局部重绘节点,其包含BrushNet和Powerpaint两个主要节点,其中BrushNet有SD1.5和SDXL两个 ...

  4. 关于mysql配置文件中jdbc url 的记录

    版本不同 url不同 大同小异 基本就是不同参数配置的区别 maven 仓库地址 https://mvnrepository.com/artifact/mysql/mysql-connector-ja ...

  5. AvaloniaChat:一个基于大语言模型用于翻译的简单应用

    简介 一个使用大型语言模型进行翻译的简单应用. A simple application using a large language model for translation. 使用指南 访问Gi ...

  6. MFC对话框的CEdit控件回车换Tab键,并获得焦点全选中文本

    对话框上有五个CEdit和两个Button控件 //重写PreTranslateMessage函数 BOOL CAddDlg::PreTranslateMessage(MSG* pMsg) { // ...

  7. Windows 将透明的图片旋转,裁剪

    使用 Microsoft Office Picture Manager 本来是想找个Java代码,跑一下 忽然在 Windows 图片打开方式中有一个  Microsoft Office Pictur ...

  8. 第1章-JSP 简介

    目录 什么是JSP 安装配置JSP运行环境 JSP页面 JSP页面简介 设置Web服务目录 JSP运行原理 JSP 与Java Servlet的关系 HTML与JavaScript 什么是JSP ★ ...

  9. k8s 知识

    命令 Pod 管理 kubectl get pods 查看pod在哪个node上 kubectl get pods -o wide kubectl describe pod pod_name 创建新的 ...

  10. mybatis springboot多数据源,根据使用的数据库不同,执行不同的sql语句

    springboot 多数据源配置就不说了,百度太多的用例, 这里只说下在多数据源下切换执行sql逻辑 1.xml sql嵌套,通过<if>标签来判断,用的是mybatis自己sql动态拼 ...