💃接着奏乐!接着舞!让文字随着音乐跃动吧!

简介: 💃接着奏乐!接着舞!让文字随着音乐跃动吧!

创意之源


大家好,我是寒草 🌿,在很久很久以前,我就打算去制作一些有趣的视频发布到 b 站之类的平台,但是一鸽再鸽,直到现在我预想的那个视频也没有和大家见面。我的主页依旧空空如也,于是乎我正襟危坐,思考为我的视频创作做点什么。


思考了七天七夜,我终于想到现在要做什么了!


做个片尾!

可是我本身也没有什么艺术细胞,想不出什么花里胡哨🌺 的,就去看了几个 up 主的视频进行学习模仿!

嘿嘿,小姐姐真好看!嘿嘿,这个东西看着好好吃!嘿嘿,这个 up 好搞笑!嘿嘿,这个人没头发!

嘿嘿 ,不对,我跑题了吧!于是我再次正襟危坐思考我的片尾素材,我预想到片尾应该有这几个要素:

  • 我的名字

没错,我的名字就是寒草哇 🌿,各位想不到吧。想不到才怪呢

  • bgm

没错,需要一个和我风格一致的 bgm!

于是我再次正襟危坐,并为我的创意鼓掌~

这有个屁的创意啊喂!

下面,我就继续在 b 站寻觅可以参考的资源,之后在何同学的视频中找到了我想要的参考对象!就是这个:


网络异常,图片无法展示
|


那我就照着抄吧!不对,我怎么可能照着抄!完全一样怎么会是我的作风!

下面,寒草邀请大家继续阅读!


接着奏乐!接着舞!


首先和大家说一下我的想法:


我视频结尾的 bgm 肯定要一直换的,所以我希望我结尾的文字动效可以随着 bgm 变化而变化,那么我的主题就出来了:

让文字随着音乐旋律舞蹈



这样就可以开搞了,我先去写一个静态页面:


网络异常,图片无法展示
|


其中的 dom 结构大概就是这样的:


<div class="text-container">
    <span class="text">寒</span>
    <span class="text">草</span>
    <span class="text">@</span>
    <span class="text">前</span>
    <span class="text">端</span>
    <span class="text">早</span>
    <span class="text">早</span>
    <span class="text">睡</span>
  </div>
<div class="bottom">HANCAO DESIGN</div>


之后读取音乐信息:


document.onclick = () => {
  document.onclick = null;
  let audio = new Audio("dijia.mp3");
  // 4096
  let audioCtx = new (window.AudioContext || window.webkitAudioContext)();
  let source = audioCtx.createMediaElementSource(audio)
  let analyser = audioCtx.createAnalyser();
  source.connect(analyser);
  analyser.connect(audioCtx.destination)
  analyser.fftSize = 512;
  let bufferLength = analyser.frequencyBinCount;
  let dataArray = new Uint8Array(bufferLength);
  audio.play();
  setInterval(() => {
    analyser.getByteTimeDomainData(dataArray);
    const result = new Array(8).fill(0);
    dataArray.forEach((item, index) => {
      result[parseInt(index/32)] += item;
    });
  }, 200);
};


这里,我把获取到的数据分成了八段,进行累加~


之后我就想,动效是什么样呢,很自然想到 textShadow 这个属性,但是只去加文字阴影效果显得就很单薄,我就想到了可以让文字阴影的位置随着节奏上下移动,就有了这样一段代码:


result.forEach((item, index) => {
    document.getElementsByClassName('text')[index].style.textShadow=`0 ${(item - 4096) / 50}px ${item / 300}px #3f7df7`;
})


效果就是这样的:


网络异常,图片无法展示
|


有点卡哈,但是只是我的 gif 录的不太行,而背景音乐就是我童年很喜欢的《奇迹再现》~


跃动的未来狂想曲


那么本篇文章就结束了,我前几天看了《乔布斯传》,又看了很多遍苹果的广告《非同凡响》,在这里我把《非同反响》的广告词分享给大家~


未来一定努力做视频,寒草一定要破圈哦!我要把我的想法说给大家听,我要追逐那个自我创造的非同凡响的梦想!


✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

一定会非同凡响的寒草

向那些疯狂的家伙们致敬
他们特立独行
他们桀骜不驯
他们惹是生非
他们格格不入
他们用与众不同的眼光看待事物
他们不喜欢墨守成规
他们也不愿安于现状
你可以引用他们 反对他们
颂扬或是诋毁他们
但唯独不能做的就是 漠视他们
因为他们改变了事物
他们推动整个人类向前发展
或许他们是别人眼里的疯子
但却是我们眼中的天才
因为只有那些疯狂到
以为自己能够改变世界的人
才能真正地改变世界

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

相关文章
|
机器学习/深度学习 存储 编解码
如何提取歌曲副歌(高潮)
### 摘要 副歌就是我们日常说的高潮。 副歌分析属于MIR领域的一个小分支,MIR(Music information retrieval)是从音乐中检索信息的跨学科科学,该领域需要数学、乐理、信号处理、机器学习、概率、算法等学科的背景知识。 ### 业界类似方案 - 1:根据能量值、音高区间差异定位 - 2:根据动态歌词定位 - 3:谱聚类&能量值 第一种方式太简单暴
如何提取歌曲副歌(高潮)
PhotoShop实现文字人物海报效果
PhotoShop实现文字人物海报效果
119 0
PhotoShop实现文字人物海报效果
|
人工智能 算法
如何定制你的专属二次元形象?
一键生成 日漫风、3D特效、手绘风、铅笔画、艺术特效各种风格的二次元人物图像。
705 0
如何定制你的专属二次元形象?
|
JavaScript 前端开发
文字到底能玩出多少花样(四)实现跃动的文字
文字到底能玩出多少花样(四)实现跃动的文字
171 0
文字到底能玩出多少花样(四)实现跃动的文字
|
算法 Shell 索引
用粒子动画来忆起你的春节时光 | 支持表情文字
用粒子动画来忆起你的春节时光 | 支持表情文字
141 0
用粒子动画来忆起你的春节时光 | 支持表情文字
|
Linux
4步教你打造好莱坞科幻特效
4步教你打造好莱坞科幻特效
184 0
4步教你打造好莱坞科幻特效
|
存储 前端开发 JavaScript
文字到底能玩出多少花样(一) 炫酷文字粒子效果实现
文字到底能玩出多少花样(一) 炫酷文字粒子效果实现
220 0
|
人工智能 安全
大家好,给大家介绍一下,我们的主题歌 @虾米音乐
我们汇聚了量子密码, 人工智能安全,神经网络,语义检测, DolphinAttack,指纹溯源, 威胁情报,自适应, 等最有技术含金量的议题; 我们也组成了 突破行业边界, 追求极致创新的“新安全圈” 从潜力MAX的企业创新秀, 到推动安全技术发展的年度人物。
2471 0