如何将midi时间线转换为应该播放的实际时间线

2023-11-21

我已经研究这个主题有一段时间了,但仍然没有弄清楚。 我使用 midas3 库 (Midi-actionscript3) 将 midi 导入到 flash。我在时间线上得到了每个笔记项目。我得到分度值 (192),所有“GET-TEMPO”元素都等于 81。

我尝试了很多组合来获取 MIDI 的实际时间,但仍然不好(例如时间轴*192/60)。

我知道它与实际时间不同步的原因是,当我将音符可视化为 Flash 中的简单矩形时 - 我检查它们是否完全符合 mp3 文件播放的内容(我已使用简单转换将 midi 文件转换为此 mp3程序)

我已经阅读了很多关于如何计算所有内容的内容,但仍然没有弄清楚我需要使用多少数字才能正确计算(时间轴 * MysteriusConstant = ReaTIME,MysteriusConstant 的值是多少?它真的是常数吗?如果不是,如何计算我计算它是如何改变的吗?)

谢谢 阿隆


如果我正确理解您的问题,您基本上希望将每个 MIDI 音符的刻度转换为毫秒值,以便您可以沿着时间线直观地显示音符。

因此,首先,您需要使用分度和节奏来确定单个刻度的值。该转换基本上如下所示:

 [  1 min    60 sec   1 beat     Z clocks ]
 | ------- * ------ * -------- * -------- | = seconds
 [ X beats   1 min    Y clocks       1    ]

所以,在上面的转换中,X是节奏,Y是除法,并且Z是来自传入事件的时钟数。您可以看到所有单位如何相互抵消,从而以秒为单位给出一个值。因此,该转换的精简版本是:

(60 * clocks) / (tempo * division) = seconds

请记住,此处给出的值seconds是自以下时间以来的秒数previousMIDI 事件,不从序列开始。您将需要保留该值的运行总计以构建连贯的序列。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将midi时间线转换为应该播放的实际时间线 的相关文章

  • Flex 中的数组与 ArrayCollection

    谁能解释一下 Flex 中 Array 和 ArrayCollection 之间的区别吗 根据 liveDocs ArrayCollection 类是一个包装器 将数组公开为的类 可以访问的集合以及 使用方法和操作 ICollectionV
  • 如何在Flash CS5中制作通用暂停按钮?

    我正在尝试在 Flash 中制作一个按钮来暂停我的文件中正在运行的所有影片剪辑 这些影片剪辑都不是我的主时间线中的补间 它们都有自己的单独时间线 每个移动剪辑都由一个按钮触发 该按钮告诉剪辑开始播放 因此 如果有人可以帮助我创建这个暂停按钮
  • 如何在 Flex 中对 ArrayCollection 进行排序

    我想按 fieldName 升序对 Arraycollection 进行排序 这是我的代码 我想知道它是否正确 你有什么建议吗 public static function arrayCollectionSort ar ArrayColle
  • Chrome 通知/权限栏 - 检测是否可见

    当 Flash 请求访问相机或麦克风时 Chrome 会显示以下通知栏 有没有 JavaScript 或 AS3 方法可以检测它是否可见 我知道你问这个问题已经很长时间了 但我们终于找到了一个我想分享的解决方法 ActionScript C
  • 如何判断一个字符串是否包含特定子串

    给定一个字符串A 如何确定该字符串是否包含子字符串 video x flv A indexOf video x flv gt 0
  • 将 MouseEvent.CLICK 添加到八哥图像

    我有一个容器有很多带有滚动的图像 我添加TouchEvent TOUCH作为事件监听器而不是MouseEvent CLICK 因为八哥不支持MouseEvent 问题是当我在图像之间导航时它会监听TouchEvent虽然我不需要这个 有什么
  • 使用 flash/flex 在客户端硬盘上下载/保存/写入文件

    我想知道如何下载 保存 写入文件我的服务器 to a 客户的计算机使用闪光灯或柔性 我正在寻找的示例可以在http www flexdownloads com http www flexdownloads com Sign up Sign
  • 带有嵌入 Flash 视频的 PDF 示例?

    有谁知道我在哪里可以查看嵌入 Flash 视频的 PDF 示例 我知道问这个问题很愚蠢 因为你会认为任何面向技术的用户都应该能够使用谷歌找到一个 但我真的找不到 我的另一个问题是 使用 C 中的 API 将 Flash 视频嵌入 PDF 文
  • 我如何知道请求是否来自 flash swf?

    我有一个用 flash 开发的应用程序 我需要访问一些 php 文件 因此 如果访问来自 swf 则 php 文件会返回一些数据 如何判断请求是否来自Flash 无需将 get post 变量传递给 php 可能是用户代理 推荐人 请记住
  • 使用 Flex 3 从 SWF 创建 EXE,而不需要 AIR?

    我有一个用 Flex 3 MXML 和一些 AS3 编写的简单的小测试应用程序 我可以将其编译为 SWF 但我想将其制作为 EXE 这样我就可以将它提供给我的几个同事 他们可能会发现它有用 使用 Flash 8 我可以只针对 EXE 而不是
  • 为什么 swfloader 不工作?

    我正在尝试使用 mxml swfloader 组件从以下 url 加载外部 Flash 但它不加载任何内容 我正在使用 FlashBuilder 4 5 http somesite com en interface swf token 12
  • Adobe Air - 检测连接是否为 WIFI、3G 或 EDGE

    我需要确定设备正在使用哪种连接类型 在 iOS 上区分 WIFI 和 3G 似乎不是问题 使用网络信息ANE http www adobe com devnet air native extensions for air extension
  • 我可以将 Pepper Flash 捆绑在 Electron.js 应用程序中以在 2021 年以后运行 Flash 吗?

    所以 我已经关注了https www electronjs org docs tutorial using pepper flash plugin https www electronjs org docs tutorial using p
  • as3 - 如何停止视频并分离 NetStream

    我有来自服务器的视频流 稍后我想并排添加另一个视频 那就好 我做到了 现在当我想删除视频时我的问题来了 我设法将其从显示中删除 但我可以听到视频仍在后台播放 那么我怎样才能停止播放该视频呢 这是我设置视频的代码 ns new NetStre
  • 将图像保存在 applicationStorageDirectory 的目录中

    我试图将图像文件保存到我的空气项目的应用程序存储目录中的目录中 首先创建目录 var imageDirectory File File applicationStorageDirectory resolvePath vispics if i
  • Flex 相当于 Google Visualization Geomap(等值线地图)?

    The 谷歌可视化地理地图 http code google com apis visualization documentation gallery geomap html Overview组件是一个等值线地图 http en wikip
  • 将两个声音文件合并为一个新文件

    如何合并两个声音并另存为新文件 一种声音是加载的 mp3 文件 另一种声音来自麦克风 然后我需要将这个声音上传到服务器中 这可能吗 这一切都可以完成 但如果你看的是简单的例子 调用的方法很少 恐怕就没那么容易了 您可以使用以下命令从声音中提
  • 如何在 ItemRenderer 内使用数据网格范围外的变量?

    我使用将项目数组绑定到数据网格ItemRenderer 我用data变量来控制可绑定数据 我也有someComponentVariable需要插入到每一行中 但它是在组件范围内声明的 因此数据网格似乎无法重新识别它 编译错误 我如何使用这个
  • 如何重置加速度计事件 As3

    在我的项目中 在游戏开始时加速计事件工作正常 当游戏到达游戏结束页面并单击重新启动按钮时 重新启动整个游戏时 所有对象都工作良好 所有值也已重置 但加速计不起作用 提前致谢 代码如下 if Accelerometer isSupported
  • 垃圾收集最佳实践

    如果您要从显示列表中删除某个 MovieClip 并且该 MovieClip 又具有具有自己的事件侦听器的子 MovieClip 则是否有必要从子 MovieClip 中删除所有侦听器 或者只是直接从显示列表中删除的父级 MovieClip

随机推荐

  • 将数字四舍五入到前 3 位数字(以数字 != 0 开头)

    是否有一个预定义的格式函数可以将数字四舍五入到前 3 位数字 开头应该是数字 0 0 02528498 to 0 0253 1 857403 to 1 86 2060943 to 2060000 0 00006513832 to 0 000
  • 未加密的 SSL 协议?

    是否可以通过未加密的 https 发送消息 例如 要求进行证书验证和授权 但不加密通过套接字发送的实际数据 是的 TLS 和 SSL 支持 无加密 模式 所讨论的特定客户端和服务器是否配置为启用是一个单独的问题 服务器有可能默认启用这些密码
  • 将函数应用于 Spark DataFrame 的每一行

    我使用的是 Spark 1 3 我想对数据框的每一行应用一个函数 该函数对行的每一列进行哈希处理并返回哈希值列表 dataframe map row gt row toSeq map col gt col hashCode 当我运行此代码时
  • Visual Studio:重新启用“构建失败,运行上次成功?”对话框

    当构建失败时 VS 会弹出一个选项来运行上次成功的构建 有人在我的机器上单击了 是 和 不再显示此对话框 现在我仍坚持该设置 我怎样才能重置它 流程如下Visual Studio 2010及以上 但与以前的版本应该类似 在菜单栏上转到 To
  • 使用 Update 且 Upsert 为 true 时未设置默认值

    我为用户提供以下模型 var UserSchema new mongoose Schema name String dob Date sex String photo String email type String index uniqu
  • boost::interprocess::shared_ptr 线程安全(和进程间安全)吗?

    我想在线程之间共享数据 并在最后一个用户使用完数据后自动删除数据 大多数时候 这似乎有效 使用boost interprocess shared ptr in a boost fixed managed shared memory段 但并非
  • 使用@Preauthorize和@@ControllerAdvice自定义错误消息

    我们正在使用 spring 和 spring security 3 2 最近我们正在向 RestAPI 添加注释 PreAuthorize 之前它是基于 URL 的 PreAuthorize hasPermission salesorder
  • 将 getdate() 转换为 int

    当我运行以下查询时 select convert int getdate 我得到结果 41238 1 row s affected 有谁知道这是什么意思 这是我想的天数1 1 1900 sql server 保留从那时起的天数 尝试将该数字
  • 使用 Go 解析带有尾随逗号的 JSON 数组和映射元素时出现运行时错误

    Go 领域的主要主题专家之一 Dave Cheney 写道 当使用复合文字初始化变量时 Go 要求复合文字的每一行都以逗号结尾 甚至是声明的最后一行 这就是结果分号规则 然而 当我尝试将这个美丽的规则应用于 JSON 文本时 解析器似乎并不
  • 防止 HTML 表单操作被更改

    我的页面上有一个表单 用户可以在其中输入信用卡数据 是否可以在 HTML 中将表单的操作标记为常量 以防止恶意 JavaScript 更改表单的操作属性 我可以想象 XSS 攻击会更改表单 URL 使用户将其秘密数据发布到攻击者的站点 是否
  • 点击时隐藏 Twitter Bootstrap 导航折叠

    这不是一个子菜单下拉菜单 类别是 li 类 如图所示 通过从响应式菜单中选择一个类别 模板只是 一页 我想在点击时自动隐藏导航折叠 也可以漫步用作导航 因为模板只有一个 页 我寻求一个不影响它的解决方案 这里是HTML代码 菜单 div c
  • 使用 Apache 服务器运行 Silverlight(Linux 下)

    我需要将 Silverlight 2 0 应用程序部署到 Apache 服务器 但它是在 Linux 下 这可能吗 我的意思是 我需要在服务器中安装 Net 3 5 以及可以执行 Asp Net 的网站吗 谢谢你的帮助 如果 apache
  • defrecord 构造函数中未强制执行类型提示

    我使用创建了一个类型defrecord带有字段的类型提示 然而 我发现这些类型提示在构造函数中没有强制执行 我可以用它们做一些奇怪的事情 例如 请看下面的代码片段 user gt defrecord Person String name I
  • RegExp 去除 HTML 注释

    寻找匹配和替换的正则表达式序列 最好是 PHP 但并不重要 来改变这一点 开始和结束只是需要保留的随机文本 IN fkdshfks khh fdsfsk div class codetop CODE AutoIt div div class
  • Android 闹钟 UI

    我试图弄清楚 Android 闹钟应用程序的 UI 是如何设计的 这似乎正在使用 Holo 黑暗主题 包含的屏幕截图是创建 编辑警报Activity屏幕 它看起来类似于安卓设置 有这种情况吗 因为 打开闹钟 和 振动 行看起来像Chexbo
  • 如何向此 ASP.NET DropDownList 控件添加默认的“选择”选项?

    我是一名新的 ASP NET 开发人员 我正在尝试学习 Linq To Entities 我正在尝试将 DropDownList 与 Linq 语句绑定 以检索状态实体中的状态列表 一切正常 但是 我现在尝试将 选择 选项添加到 DropD
  • Ace Editor 可以在一个页面中支持多个代码编辑器吗?

    我正在寻求实现一个网络应用程序 该应用程序具有 编码竞赛 风格的界面 在一个屏幕上有 2 个不同的代码编辑器 一个将是只读的 另一个将是活动的并允许用户进行编辑 我目前正在使用 Ace Editor 我发现它非常棒且易于使用 然而 这是我的
  • 如何找到列表的所有子序列?

    我正在尝试学习如何列表理解 并且正在尝试找出一种方法来查找列表的所有子序列 但我不太确定如何去做 有人可以帮助我吗 如果您想访问此功能 您可以使用subsequences函数位于Data List subsequences 1 2 3 gt
  • 无法向 weblogic 队列发送消息

    我正在尝试将字符串消息发送到在 weblogic 服务器中创建的 JMS 队列中 我正在使用 Eclipse ide 当我运行 Web 应用程序时 出现以下错误 并且 tomcat 服务器关闭 错误是 javax naming Commun
  • 如何将midi时间线转换为应该播放的实际时间线

    我已经研究这个主题有一段时间了 但仍然没有弄清楚 我使用 midas3 库 Midi actionscript3 将 midi 导入到 flash 我在时间线上得到了每个笔记项目 我得到分度值 192 所有 GET TEMPO 元素都等于