【问题标题】:How to display guitar tablature on screen? [closed]如何在屏幕上显示吉他指法? [关闭]
【发布时间】:2016-06-12 15:11:21
【问题描述】:

我正在开发一个系统,可以从音轨中提取音高并将其显示在吉他指法谱上。我发现有许多 DSP 库可用于音高提取部分。 ASCII tab 是我读到的关于如何显示吉他指法谱的东西,但我不太确定如何做到这一点。详细说明这个方法?任何人都可以建议更多的方法来做到这一点,比如可以可视化吉他指法谱的 Java 内置库吗?

Edit - 我看到了一个使用吉他谱编辑器来显示吉他谱的项目。不知道这是如何工作的

提前致谢

【问题讨论】:

  • 我不知道你自己会不会弹吉他,但是想想同一个音符可以在指板上多达 4 个不同的地方弹奏这一事实,你就会明白这并不是那么简单。我认为自动排版不是不可能,而是旁边,因为它不仅显示音符还不够,还要记住指法......
  • 是的,我弹吉他,我知道同一个音符可以在 4 个不同的地方演奏,这将是提取音高时的主要问题。问题是如何在提取音高/频率后显示指法谱
  • 为什么选择 Java?您是否考虑过使用 HTML5 画布和 Javascript?我认为它可能更便携。
  • @Rodrigo 指出。我实际上正在考虑使用 c++,因为它的机器级内存管理效率,当涉及到 FFT 和 DSP 时,c++ 是最好的,但我受时间限制,我正在考虑创建自己的简单 DSP。
  • 我明白你的意思。所以可能 C 比 C++ 更好。甚至汇编程序,如果你有胆量的话。看这里:micosyen.com/aboutus.php。这家伙开发了一个 44 kB 的 windows mp3 播放器 (micosyen.com/mp3.php)。

标签: java signal-processing guitar


【解决方案1】:

这里是吉他指法程序列表:

http://wiki.linuxaudio.org/apps/categories/for_guitarists_only 看到这个

(https://en.wikipedia.org/wiki/List_of_guitar_tablature_software)

您必须找到一个具有命令行界面的程序,因为如果您的操作系统(操作系统)支持该程序,您就可以直接使用该程序。 eTktab 和 Tux Guitar 肯定是开源的。查看源代码(遵守许可!)并可能将其中的一部分用于您的程序。 如果您在商业应用程序中使用他们的代码,则必须支付许可费,否则如果您为该项目捐款会很好。

【讨论】:

  • 我会选择 TuxGuitar,因为它是用 OP 提到的 Java 编写的。
【解决方案2】:

ASCII 格式你应该尝试什么。

我建议阅读 power-tab 编辑器和类似的指法编辑软件的文档

【讨论】:

    【解决方案3】:

    如果你想保持简单,只需像这样显示你的笔记:

    A    B   C    D   E    F
    ------------------X----1
    X--------3--------------
    --------------X---------
    ------------------------
    -----1------------------
    ------------------------
    

    只需在笔记的表示和实际笔记之间创建一个映射。

    【讨论】:

      猜你喜欢
      • 2014-08-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多