自建家庭 KTV,在家想嗨就嗨
现在用户最多、曲库最多的 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,在家想嗨就嗨的更多相关文章
- TTTTTTTTTTTTTTTTTT POJ 2724 奶酪消毒机 二分匹配 建图 比较难想
Purifying Machine Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 5004 Accepted: 1444 ...
- 在家想自学Java,有C语言底子,请问哪本书适合?
一.问题剖析 看到这个问题,我想吹水两句再做推荐.一般发出这个疑问都处在初学编程阶段,编程语言都是相通的,只要你领悟了一门语言的"任督二脉",以后你学哪一门语言都会轻易上手.学语言 ...
- 红星美凯龙CEO车建新的圆融和霸气
待人接物中车建新有许多习惯,与别人一起行走时,走在靠马路的一边:吃饭时最好的菜留给客人.他说,做人往往就在细节中,别小看一个举动,无意中就会感染别人.和别人在一起,你要时时刻刻先考虑对方. 细节上体察 ...
- [web建站] 优课急送《零基础快速学习建站》视频+课件【价值399元】
[课程介绍]你想快速建一个网站出来吗?你想从什么都不懂到一两天出一个漂漂亮亮的站吗?你想完成领导交给你的任务找人建站吗?你想自己建站来创业吗?你想学会建站之后,利用给别人建站来赚钱吗?你想建一个跟某个 ...
- vps建站教程 CentOS6如何安装配置FTP服务器
通过之前的几篇文章,我们都知道了如何配置PHP环境,也知道如何保护我们的vps以及如何绑定多个域名建设多个网站.有时候我们为了让我们的朋友也能用我们的vps建站又不想给他们太多权限,有时候我们想要当个 ...
- 支持中文!秒建 wiki 知识库的开源项目,构建私人知识网络
不知道有没有人和我一样,觉得自建的东西是互联网上的"自留地".私人空间,有一种自己的一亩三分地随心所欲的痛快. 比如自建的博客想写什么随笔就写什么,不用取悦读者可以自娱自乐:再比如 ...
- re.match re.search re.findall区别
re正则表达式里面,常用的三种方法的区别. re.macth和search匹配得到的是match对象,findall得到的是一个列表. match从字符串开头开始匹配,search返回与正则表达式匹配 ...
- 机器时代的中国字幕(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 ...
- SharedPreferences 的另一种场景的用法
SharedPreferences 的另一种场景的用法 昨天,下班在家想做什么来着,然后想用SharedPreferences存点数据,但是不知道咋地突然想到,SharedPreferences是应用 ...
- 本周进步要点20161023(含李笑来第二场live笔记要点)
本周主要忙于去武汉参加iDOF2016智能数字油田会议,会上做了题为“油田SOA及云平台的系统思考与实践”的报告,为了准备这篇报告,用到了一些以前学过的知识,具体内容见“参加iDOF2016会议的收获 ...
随机推荐
- 绑定国内主机IP的域名网站必须要备案
买了个域名: http://devilmaycry812839668.top/ 然后绑定了国内的一个云主机,刚搭了个web server,一个网页都没有(短期内页没考虑做网页): 今天看了下web s ...
- Codeforces Round 886 (Div. 4)
Dashboard - Codeforces Round 886 (Div. 4) - Codeforces A. To My Critics 判断任意两个大于10即可 #include <bi ...
- 树莓派高级开发——“IO口驱动代码的编写“ 包含总线地址、物理_虚拟地址、BCM2835芯片手册知识
微机总线地址 地址总线: 百度百科解释: 地址总线 (Address Bus:又称:位址总线) 属于一种电脑总线 (一部份),是由CPU 或有DMA 能力的单元,用来沟通这些单元想要存取(读取/写入) ...
- zabbix网络拓扑图介绍
"zabbix network map"可以简单的理解为动态网络拓扑图,可以针对业务来配置zabbix map,通过map可以了解应用的整体状况:服务器是否异常.网络是否有故障.应 ...
- Terraform中的for_each和count
通过Terraform创建云主机时,在某些业务场景下,一个机器需要挂载多个云盘,一般云厂商都是单独创建云主机和云硬盘然后通过attachment的资源去挂载,因此我们的模板大致如下: resource ...
- C++ 项目目录结构
目录结构 project_root/ ├── bin/ # 可执行文件目录 │ ├── my_app # 可执行文件 │ └── ... # 其他可执行文件或脚本 │ ├── build/ # 编译产 ...
- VS Code 修改默认插件安装位置
先将扩展插件extensions从默认安装路径剪切到你真正想要存放的位置 将C:\Users\(用户名)\.vscode\extensions\剪切到存放的位置,此处以D:\extensions为例 ...
- WebRTC 简单入门与实践
一.前言 WebRTC 技术已经广泛在各个行业及场景中被应用,但对多数开发者来说,实时音视频及相关技术却是比较不常接触到的. 做为一名 Web 开发者,WebRTC 这块的概念着实花了不少时间才搞明白 ...
- MyBatisPlus——代码生成器
代码生成器 快速生成各项代码 步骤 创建Generator类,并创建main方法 创建代码生成器 AutoGenerator autoGenerator = new AutoGenerator(); ...
- template<> 模板特化
template<> 是用于 模板特化(Template Specialization) 的一种语法. 模板特化允许你为某些特定的模板参数提供不同的实现.例如,template<&g ...