首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >声音处理- Android上的节拍匹配音乐播放器

声音处理- Android上的节拍匹配音乐播放器
EN

Stack Overflow用户
提问于 2009-07-23 14:03:37
回答 4查看 4.2K关注 0票数 4

所以我想为Android做一个新的音乐播放器,它将是开源的,如果你认为这个想法是好的,可以让我知道,也许我们可以在上面工作。

我知道这是有可能的,加快和放慢一首歌曲,并使声音正常化,使声音和乐器仍然保持相同的音高。

我想为Android做一个针对慢跑者的媒体播放;

manually

  • Alarms
  • 节拍匹配连续歌曲
  • 保持一个恒定的节拍,可以通过加速度计或
  • 建立
  • 节拍,并在运行点(Geo located或timer)

自动发出通知。

现在我知道很多用例都会失败(慢歌听起来很愚蠢,歌曲中的变化被搞砸了),但我觉得它们是可以克服的。我真正需要知道的是如何开始用C++ (使用Android )编写应用程序,这将执行分析并调整流。

在飞行中这样做是否可行?你会用什么方法?流到电话的服务器?也许离线分析桌面上的歌曲,通过绳索同步到你的设备上?

如果这是太多的问题,一个帖子,我最感兴趣的是,最简单的方法,分析一个波的MP3,以找到拍子。除此之外,如何进行操作,改变节拍,将是我下一个感兴趣的问题。

我有一个小烂mp3播放器,可以做双速的飞行,所以我相信这是可以做到的!

盖夫

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-07-23 15:07:46

这在技术上是可行的,在智能手机类型的设备,虽然它是非常困难的,以达到良好的音高转换和时间拉伸的效果,即使是在一个强大的个人电脑,而不是在实时。

在功能相对强大的移动设备上(我在三星i760智能手机上使用i760 CF实现了这一功能),无需对处理器过度征税(简单的版本并不比普通的MP3回放昂贵得多),就可以实现音高转换和时间拉伸。效果不是很好,但如果球场和时间的变化相对较小的话,听起来也不算太糟。

自动确定歌曲的节奏可能太费时,无法实时完成,但这部分过程可以在播放之前执行,也可以在当前歌曲播放完成之前在下一首歌曲上完成。我自己从来没做过,所以我不知道。

你提到的其他事情都是相对容易做的。然而:我不知道Android的API在音频输出方面有多容易,甚至不知道它是否允许这个项目所需的低级别音频播放。

票数 1
EN

Stack Overflow用户

发布于 2009-07-23 14:30:34

实际上,你会有两个问题:

  1. 找到一首歌的节奏并不容易。最常见的方法是自动压缩,这涉及到相当多的微积分,所以我希望大家已经学习过了。
  2. 实际上改变了一首歌的节拍而没有音高偏移,甚至更难,而且仍然会在歌曲中产生声音伪影。通常情况下,用这种方式编辑音频需要很长的时间,而且要使歌曲听起来很好需要大量的修改。要真正做到这一点是非常非常困难的。实际过程包括对音频进行傅里叶变换,变换频率,进行逆傅里叶变换。更多微积分,这次是虚数。

如果你真的想在这方面工作,我建议从电气工程系选修一门信号和系统课程。

也许一个更简单的想法:在用户库中找到所有歌曲的节奏,然后专注于以接近慢跑者的节奏播放歌曲。你仍然需要做第一,但你不需要担心#2。

票数 1
EN

Stack Overflow用户

发布于 2009-07-23 22:52:10

在飞行中改变音频速度是绝对可行的;我不确定它在G1上是否可行。

我建议您不要编写自己的源代码,而应该查看MythTV源代码和/或mplayer源代码。它们都支持加速视频播放,同时对音频进行补偿。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1171988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档