首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏四楼没电梯

    使用 piano_transcription_inference将钢琴录音转换为 MIDI

    一、简介 piano_transcription_inference 是由 Qiuqiang Kong 等人开发的高精度钢琴转录工具,支持音符与踏板信息转 MIDI。 二、环境与安装 ✅ 必备: Python 3.7+ PyTorch ≥1.4(推荐 GPU 版本) FFmpeg(处理 MP3 等格式) pip install piano_transcription_inference 三、快速上手 方法一:Python API 示例 from piano_transcription_inference import PianoTranscription, sample_rate, load_audio # 加载音频 audio, _ = load_audio('your_piano.wav', sr=sample_rate, mono=True) # 初始化转录器,选择 cuda 或 cpu transcriber load_audio:统一采样率、单声道处理 transcribe:自动分段、推理、MIDI 写出,包含踏板信号 方法二:命令行调用 python3 example.py \ --audio_path="your_piano.wav

    57610编辑于 2025-07-25
  • 来自专栏ATYUN订阅号

    谷歌开发AI系统Piano Genie,按几个按钮就能即兴创作音乐

    该系统名为Piano Genie,自动预测歌曲中下一个最可能的音符,使非专业音乐家能够实时创作新的原创音乐。 Piano Genie由一个离散的顺序自动编码器组成。双向RNN将单声道钢琴序列(88维)编码为较小的离散潜变量(此处显示为4维)。训练单向解码器以将潜伏者映射回钢琴序列。 论文:arxiv.org/pdf/1810.05246.pdf 代码:github.com/tensorflow/magenta/tree/master/magenta/models/piano_genie

    77530发布于 2018-11-08
  • 来自专栏量子位

    黑白键上的字节跳动:全球最大钢琴MIDI数据集背后的故事

    △ 团队发表的第一篇论文 团队紧接着发表了第二篇论文《GiantMIDI-Piano: A large-scale MIDI dataset for classical piano music》,公布了数据集 部分使用者认为,GiantMIDI-Piano 比市场上现有的转谱系统要更加流畅、自然。 △ GiantMIDI-Piano 中前 100 位不同作曲家的曲目数量分布 为了搞定这些技术难点,做到高精度,GiantMIDI-Piano 的技术方案中用到了诸多当今领先的技术。 这个项目叫 GiantMIDI-Piano,加一个 Piano 的后缀,其实就是给之后留空间,这个后缀说不定也可以是交响乐。” 论文地址:https://arxiv.org/abs/2010.01815 “GiantMIDI-Piano: A large-scale MIDI dataset for classical piano

    1.6K30发布于 2020-11-04
  • 来自专栏机器之心

    莫扎特、披头士随意切换,这个AI会用10种乐器演奏不同风格音乐

    bach piano_strings start tempo90 piano:v72:G1 piano:v72:G2 piano:v72:B4 piano:v72:D4 violin:v80:G4 piano :v72:G4 piano:v72:B5 piano:v72:D5 wait:12 piano:v0:B5 wait:5 piano:v72:D5 wait:12 piano:v0:D5 wait:4 piano:v0:G1 piano:v0:G2 piano:v0:B4 piano:v0:D4 violin:v0:G4 piano:v0:G4 wait:1 piano:v72:G5 wait:12 piano:v0:G5 wait:5 piano:v72:D5 wait:12 piano:v0:D5 wait:5 piano:v72:B5 wait:12 样本编码 在训练中,OpenAI: 通过升调和降调来调换音符

    73930发布于 2019-05-10
  • 来自专栏转载gongluck的CSDN博客

    cocos2dx 钢琴

    #include "PianoScene.h" #include "SimpleAudioEngine.h" USING_NS_CC; Scene* Piano::createScene() { Scene* scene = Scene::create(); Piano* layer = Piano::create(); scene->addChild(layer); return scene ; } bool Piano::init() { if (! 1.mp3"); auto button1 = MenuItemImage::create("button1.png", "button2.png", this, SEL_MenuHandler(&Piano 2.mp3"); auto button2 = MenuItemImage::create("button1.png", "button2.png", this, SEL_MenuHandler(&Piano

    1.3K30发布于 2018-03-08
  • 来自专栏CDA数据分析师

    程序员拯救乐坛?这个AI会用10种乐器演奏不同风格音乐

    bach piano_strings start tempo90 piano:v72:G1 piano:v72:G2 piano:v72:B4 piano:v72:D4 violin:v80:G4 piano :v72:G4 piano:v72:B5 piano:v72:D5 wait:12 piano:v0:B5 wait:5 piano:v72:D5 wait:12 piano:v0:D5 wait:4 piano:v0:G1 piano:v0:G2 piano:v0:B4 piano:v0:D4 violin:v0:G4 piano:v0:G4 wait:1 piano:v72:G5 wait:12 piano:v0:G5 wait:5 piano:v72:D5 wait:12 piano:v0:D5 wait:5 piano:v72:B5 wait:12 样本编码 在训练中,OpenAI: 通过升调和降调来调换音符

    71720发布于 2019-05-15
  • 来自专栏机器之心

    万余首钢琴作品、一千多个小时,字节跳动发布全球最大钢琴MIDI数据集

    GiantMIDI-Piano 将所有古典钢琴作品转录成 MIDI 格式,并向全世界开放,此举旨在推动音乐科技和计算机音乐学的发展」。 GiantMIDI-Piano 的用途包括但不限于:音乐信息检索、自动作曲、智能音乐创作、计算音乐学等。 下图展示了 GiantMIDI-Piano 中前 100 位不同作曲家的曲目数量分布: GiantMIDI-Piano 的特点是使用钢琴转谱技术,通过计算机将音频文件自动转为 MIDI 文件,并通过该技术转谱了大规模的 and Offsets Times)[2],将所有音频转谱成 MIDI 文件,进而构建了 GiantMIDI-Piano 数据库。 代码&数据集: https://github.com/bytedance/piano_transcription https://github.com/bytedance/GiantMIDI-Piano

    1.6K10编辑于 2023-03-29
  • 来自专栏前端笔记本

    用键盘8个键演奏一首蒲公英的约定送给996的自己或者一首月亮代表我的心给她

    src assets element app-piano songs 钢琴简谱目录 app-piano.eno 单文件组件 app-piano.js 组件编译后的JS文件 notes.js 键盘按键和音符的映射 index.js 组件根容器,配置Proxy的通信方法 public samples/piano 钢琴单音符素材 app-piano.eno开发中你需要编写的单文件组件app-piano.js经过Eno-Snippets /samples/piano/a54.mp3", A3: "./samples/piano/a69.mp3", A4: "./samples/piano/a80.mp3", A5: ". /samples/piano/a74.mp3", A6: "./samples/piano/a66.mp3", 'A#3': ". /samples/piano/b69.mp3", 'A#4': "./samples/piano/b80.mp3", 'A#5': ".

    79210编辑于 2022-05-05
  • 来自专栏allsmallpi博客

    Spring中基于Java的配置@Configuration和@Bean用法

    ;   @Configuration public class SpringConfig {   @Bean public Piano piano(){   return new Piano();       }   @Bean(name = "counter")    public Counter counter(){   return new Counter 类 [java] view plain copy package SpringStudy.Model;   public class Piano {   private String  name="Piano";   private String sound;   public String getName() {   return name;       }   Counter c = ctx.getBean("counter", Counter.class);// 创建bean的引用对象 五、运行结果 12.0 false Shake it Off Piano

    1K10发布于 2021-02-25
  • 来自专栏萝卜大杂烩

    用Python写了一个自动弹钢琴脚本,轻松弹奏出各种钢琴曲!

    def play_piano(music, keytime): for n in music: if n.isupper(): keyboard.press "etu --|0wr --|qet --|" \ "80w --|9qe --|80w --|7Qr --|" \ "370Wr |" thread_play(play_piano \ "80w --|9qe --|80w --|7Qr --|" \ "370Wr u |etu --|0wr --|qet --|" thread_play(play_piano --|" \ "----|----|----|----|" \ "----|t -y -|t ---|t ---|" thread_play(play_piano "etu --|0wr --|qet --|" \ "80w --|9qe --|80w --|7Qr --|" \ "370Wr |" thread_play(play_piano

    93520编辑于 2023-08-21
  • 来自专栏玩转全栈

    推荐一个很效率的prompt

    ><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Piano " onclick="playSound('E')">

    <div class="<em>piano</em>-key" onclick

    78310编辑于 2023-08-09
  • 来自专栏我在本科期间写的文章

    Java面向对象程序设计实验报告(实验五 接口的练习)

    实验内容: 1、模拟上课场景:创建教师类和学生类,两个类都实现了问候接口和工作接口,运行效果如下: ​ 2、请使用接口编码实现如下需求:乐器(Instrument)分为:钢琴(Piano ✨一、需求设计 模拟上课场景:创建教师类和学生类,两个类都实现了问候接口和工作接口 2.使用接口编码实现如下需求:乐器(Instrument)分为:钢琴(Piano)、小提琴(Violin).各种乐器的弹奏 第二题设计一个接口乐器(Instrument),两个类分别为钢琴(Piano)类和小提琴(Violin)类,最后在设计一个测试类InstrumentTest用来测试。 在乐器(Instrument)接口中定义方法testPlay,用钢琴(Piano)类和小提琴(Violin)类重写方法testPlay。 public interface play { public abstract void testPlay(); } 创建一个钢琴(Piano)类实现play重写testPlay public

    51411编辑于 2024-03-20
  • 来自专栏前端笔记本

    用键盘8个键演奏一首蒲公英的约定

    src assets element app-piano songs 钢琴简谱目录 app-piano.eno 单文件组件 app-piano.js 组件编译后的JS文件 notes.js 键盘按键和音符的映射 index.js 组件根容器,配置Proxy的通信方法 public samples/piano 钢琴单音符素材 app-piano.eno 开发中你需要编写的单文件组件 /samples/piano/a54.mp3", A3: "./samples/piano/a69.mp3", A4: "./samples/piano/a80.mp3", A5: ". /samples/piano/a74.mp3", A6: "./samples/piano/a66.mp3", 'A#3': ". /samples/piano/b69.mp3", 'A#4': "./samples/piano/b80.mp3", 'A#5': ".

    1.3K20发布于 2020-06-06
  • 来自专栏DeepHub IMBA

    OpenCV实现手指识别:空中移动手指就可以弹钢琴!

    那时我决定制作“Air Piano”。 ? 技术说明 Air Piano 是一个融合计算机视觉和人机交互的项目。为了制作 Air Piano,我使用了 Python 语言和 OpenCV 库。 以上就是“Air Piano”项目的详细技术说明,希望你能从中学到很多。访问 Github 存储库并查看完整代码以获得更好的理解。 https://github.com/umar07/OpenCV-Projects/tree/main/Air-Piano 未来方向和用例 在类似的路线上开发,一整套乐器可以使用与上述相同的原理进行手势控制 作者:Umar Masud 原文地址:https://towardsdatascience.com/air-piano-using-opencv-and-python-298cb22097d9

    1.3K51发布于 2021-07-01
  • 来自专栏技术杂货店

    设计模式【8】-- 手工耿教我写装饰器模式

    实现 先抽闲一个乐器接口类 Instrument: public interface Instrument { void play(); } 弄两种乐器Piano和Guitar ,实现乐器接口: public class Piano implements Instrument{ @Override public void play() { System.out.println class DecoratorDemo { public static void main(String[] args) { Instrument instrument = new Piano ----------------"); InstrumentDecorator barbecuePiano = new BarbecueInstrumentDecorator(new Piano

    40230编辑于 2022-01-06
  • 来自专栏编程教程

    用Python解码音乐奥秘:自然大调、钢琴结构与循环美学的技术实践

    构建大调音阶生成器用生成器函数实现任意调式的音阶生成:def piano_string_simulation(length=0.655, tension=700, linear_density=0.00785 用物理模型模拟琴弦的基频与泛音:def piano_string_simulation(length=0.655, tension=700, linear_density=0.00785): "" 键盘布局的矩阵表示将88键钢琴键盘转换为二维矩阵,便于算法处理:def create_piano_matrix(): # 88键钢琴的键名列表(A0-C8) notes = [] for ()for row in piano_matrix[:3]: # 显示前3行 print(row)这个矩阵结构为后续实现键盘扫描算法和音乐生成提供了便利的数据结构。 = PythonPiano()piano.play_note("C4") # 播放中央Cpiano.play_chord(["C4", "E4", "G4"]) # 播放C大三和弦2.

    30810编辑于 2025-11-04
  • 来自专栏机器之心

    7 Papers & Radios | 字节跳动全球最大钢琴MIDI数据集;谷歌新型Performer架构

    目录: GiantMIDI-Piano: A large-scale MIDI dataset for classical piano music A survey of embedding models 近期,字节跳动发布了全球最大的古典钢琴数据集 GiantMIDI-Piano 。在数据规模上,数据集不同曲目的总时长是谷歌 MAESTRO 数据集的 14 倍。 GiantMIDI-Piano 的用途包括但不限于:音乐信息检索、自动作曲、智能音乐创作、计算音乐学等。 ? 各种钢琴 MIDI 数据集。 ? GiantMIDI-Piano 中前 100 位不同作曲家的曲目数量分布。 ? 不同国家作曲家的数量。 推荐:字节跳动研究科学家表示:「GiantMIDI-Piano 将所有古典钢琴作品转录成 MIDI 格式,并向全世界开放,此举旨在推动音乐科技和计算机音乐学的发展」。

    80930发布于 2020-11-04
  • 来自专栏编程教程

    超酷!用Python写回文音乐,3步搞定你的MIDI创作处女作

    palindrome.mid"): # 创建MIDI对象 pm = pretty_midi.PrettyMIDI(initial_tempo=tempo) # 创建钢琴轨道 piano_program = pretty_midi.instrument_name_to_program('Acoustic Grand Piano') piano = pretty_midi.Instrument(program =piano_program) # 添加音符 current_time = 0 for pitch, duration, velocity in melody: (note) current_time += note_length pm.instruments.append(piano) pm.write(output_file tracks): if i == 0: program = pretty_midi.instrument_name_to_program('Acoustic Grand Piano

    39810编辑于 2025-11-05
  • 来自专栏北山啦的博客

    java--第6章 继承与多态

    请编码实现如下需求: (1)乐器(Instrument) 分为:钢琴(Piano)、 小提琴(Violin)。 (2)各种乐器的弹奏( play )方法各不相同。 提示: (1)乐器Instrument为父类,钢琴(Piano)、 小提琴(Violin)为子类; (2)乐器类只有play()方法,钢琴(Piano)子类和小提琴(Violin)子类有同名方法play name) { this.name = name;    } public void play(){       System.out.println("弹奏方法");    } } class Piano System.out.println("拉"+this.name);    } } public class TestPlay { public static void main(String[] args){       Piano p = new Piano();       p.name = "钢琴";       p.play();       Violin v = new Violin();       v.name =

    52730编辑于 2022-11-27
  • 来自专栏技术杂货店

    设计模式【8】-- 手工耿教我写装饰器模式

    3实现 先抽象一个乐器接口类 Instrument: public interface Instrument { void play(); } 弄两种乐器Piano和Guitar ,实现乐器接口 : public class Piano implements Instrument{ @Override public void play() { System.out.println class DecoratorDemo { public static void main(String[] args) { Instrument instrument = new Piano ----------------"); InstrumentDecorator barbecuePiano = new BarbecueInstrumentDecorator(new Piano

    33820编辑于 2022-02-15
  • 领券