Questions tagged «music»

该标签表明挑战涉及音乐,例如以音乐为输入,以音乐为输出或处理音符。

28
计算Phi(非Pi)
不,我不是说ϕ = 1.618...和π = 3.14159...。我的意思是功能。 φ(x)的是一个整数小于或等于的数量x互质到x。 π(x)是小于或等于的素数x。 假设“非pi”为π̅(x),并将其定义为小于或等于的复合数x。 任务 给定一个严格的正整数x,计算φ(π̅(x))。得分以字节为单位。 例子 每行包括输入(从1到100,包括1和100),以及由空格分隔的相应输出。 1 0 2 0 3 0 4 1 5 1 6 1 7 1 8 2 9 2 10 4 11 4 12 2 13 2 14 6 15 4 16 6 17 6 18 4 19 4 …
73 code-golf  sequence  primes  number-theory  code-golf  decision-problem  code-golf  date  code-golf  typography  code-golf  math  number  multiple-holes  code-golf  quine  code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

15
攻击,衰减,持续,释放
声音合成器使用包络发生器来控制声音的某些参数(例如整体响度)如何随时间变化。在许多合成器中,信封是由四个参数定义的,如维基百科的下图所示: 起音时间(A):第一次按下该键时,信封从零开始达到最大电平所花费的时间。 衰减时间(D):包络达到指定维持水平所需的时间。 延音等级(S):在初始击打和衰减之后,只要按下琴键,该等级就保持不变。 释放时间(R):释放键时信封到达零的时间。 挑战 输入四个参数A,D,S,R并绘制包络线。 参数将是0到127之间的整数值。 的最高水平(在攻击阶段结束时达到)将被假定为127。 维持电平的水平片段将假定具有持续时间64(在实际声音中,该持续时间不是固定的,而是由按住琴键的时间决定的)。 格式和更多详细信息 输出应为光栅或矢量格式的图像。如果是栅格,则折线应在水平方向上至少占据50个像素。 图像可以以标准图像格式显示或生成为文件。可以将文件写入磁盘,也可以将其确切内容输出到STDERR或作为函数返回参数输出。 图形只需要包含定义信封的折线。每个轴的比例可以自由选择。其他元素(如轴线,数字标签或线条颜色)是可选的。 输入方式和格式像往常一样灵活。例如,您可以采用任意顺序的四个数字,也可以包含它们的数组。可以提供程序或功能。禁止出现标准漏洞。 以字节为单位的最短代码获胜。 测试用例 输入采用格式[A D S R]。请注意,每个图中的比例都是不同的(根据比例可以自由选择的规则) [15 30 70 40] [64 64 64 64] [0 10 50 80] [0 0 90 80] [5 50 0 0] [5 50 0 80] [24 32 127 48]

11
让我们演奏陶笛
众所周知,《塞尔达传说》系列是有史以来最好的游戏系列之一。为此,让我们在ocarina上播放一些歌曲。 挑战: 编写一个程序,给定一首歌曲,将特定歌曲的乐谱输出到stdout。 输入: 您必须输出乐谱的歌曲将由唯一的三个字符组合给出,如下所示: zel - Zelda's Lullaby sas - Saria's Song eps - Epona's Song sos - Sun's Song sot - Song of Time sst - Song of Storms 奖励歌曲,每首-7%: mof - Minuet of Forest bof - Bolero of Fire sow - Serenade of Water nos - Nocturne …

22
自然派#0-摇滚
目标 创建一个接受输入的程序/函数N,检查N随机整数对是否相对质数,然后返回sqrt(6 * N / #coprime)。 TL; DR 这些挑战是仅需要自然和大脑(也许还有一些可重复使用的资源)才能逼近Pi的算法模拟。如果您在僵尸启示录期间确实需要Pi,那么这些方法不会浪费弹药!还有另外八个挑战。检出沙盒帖子以提出建议。 模拟 我们在模拟什么?好吧,两个随机整数是相对质数(即coprime或gcd == 1)的概率是6/Pi/Pi,因此计算Pi的自然方法是挖出两个桶(或少数几个)的岩石。数他们;看看他们的gcd是否为1;重复。这样做后,一对夫妇很多次,sqrt(6.0 * total / num_coprimes)会趋向Pi。如果计算世界末日后的平方根使您感到紧张,请不要担心!有牛顿法。 我们如何模拟这一点? 接受输入 N 请执行以下N次数: 均匀生成随机正整数,i并且j 用 1 <= i , j <= 10^6 如果gcd(i , j) == 1:result = 1 其他: result = 0 取N结果的总和,S 返回 sqrt(6 * N / S) 规格 输入值 …
39 code-golf  math  random  pi  approximation  popularity-contest  code-golf  sequence  number-theory  binary  coding-theory  code-golf  math  3d  code-golf  code-golf  math  number  code-golf  kolmogorov-complexity  code-golf  ascii-art  graphical-output  binary-tree  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation  hexadecimal  code-golf  math  number  set-theory  code-golf  math  arithmetic  number-theory  integer  code-golf  string  kolmogorov-complexity  code-golf  math  sequence  arithmetic  decision-problem  code-golf  code-golf  ascii-art  code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

11
音乐:这和弦里有什么?
输入值 任何三合会和弦的符号(请参阅http://en.wikipedia.org/wiki/Chord_(music)#Triads)。 输出量 组成给定和弦的音符。 例子 输入:AM 输出:A C# E 输入:C#m 输出:C# E G# 输入:Db+ 输出:C# F A 输入:C0 输出:C D# F# 奖金 -50如果您也可以应付第七和弦 -150用于实际演奏和弦的声音 -150用于使用可打印字符显示如何在钢琴上弹奏和弦;例如AM: ┌─┬─┬┬─┬─┬─┬─┬┬─┲┱─┬─┬─┲━┱┬─┲━┱─┬─┬┬─┬┬─┬─┐ │ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │ │ │ ││ │ │ …
38 code-golf  music 

2
音乐推特挑战赛
这是Twitter图像编码挑战的音频版本。 设计一种音频压缩格式,该格式可以以140字节或更少的可打印UTF-8编码文本表示至少一分钟的音乐。 通过编写一个命令行程序来实现它,该程序采用以下3个参数(在程序本身的名称之后): 字符串encode或decode。 输入文件名。 输出文件名。 (如果首选的编程语言缺乏使用命令行参数的能力,则可以使用其他方法,但必须在答案中进行解释。) 该encode操作将从您选择的音频格式转换为压缩的“ tweet”格式,并且该decode操作将从“ tweet”格式转换为原始音频格式。(当然,您应该实现有损压缩,因此输出文件不必与输入文件相同,只是格式相同。) 包括在您的答案中: 程序的源代码完整。(如果此页面太长,则可以将其托管在其他位置并发布指向该页面的链接。) 有关其工作原理的说明。 至少一个示例,具有到原始音频文件的链接,将其压缩为“ tweet”文本,并通过解码tweet获得音频文件。(Answerer对版权“合理使用”主张负责。) 规则 我保留随时关闭竞赛规则中任何漏洞的权利。 [4月24日编辑]对于encode函数的输入(和函数的输出decode),可以使用任何合理的通用音频格式,无论是: 未压缩的波形,例如WAV。 压缩波形,例如MP3。 “ Sheet music”风格,例如MIDI。 压缩的“ tweet”格式必须在输入文件中实际编码声音。因此,以下类型的输出不计算在内: 提供实际输出存储位置的URI或文件路径。 数据库表的键,实际输出存储为Blob。 任何类似的东西。 您的程序必须设计为压缩通用音乐文件,因此请勿执行明显与您的特定示例歌曲相关的事情。例如,如果要演示“眨眼,眨眼,小星星”,则您的压缩例程不应为do-do-so-so-la-la-so序列硬编码特定符号。 您程序的输出实际上应该能够通过Twitter并毫发无损地输出。我没有支持的确切字符列表,但是请尽量使用字母,数字,符号和标点符号。并避免使用控制字符,组合字符,BIDI标记或类似的其他怪异内容。 您可以提交多个条目。 评审标准 这是一次人气竞赛(即,大多数净投票获胜),但敦促选民考虑以下事项: 准确性 歌曲被压缩后还能识别吗? 听起来不错吗? 您还能识别正在演奏的乐器吗? 你还能认出歌词吗?(这可能是不可能的,但是如果有人做到这一点将给人留下深刻的印象。) 复杂 示例歌曲的选择在这里很重要。 [4月24日添加]对于MIDI或类似格式,此挑战最为容易。但是,如果您付出额外的努力使其与波形类型的格式一起使用,则值得您多加赞扬。 有什么结构?当然,只需将相同的4个小节重复任意次数即可满足一分钟的要求。但是,更复杂的歌曲结构值得更多关注。 格式可以同时处理很多音符吗? 代码 使其尽可能简短。但是,这不是代码高尔夫,因此可读性比字符数更重要。 只要有提高结果质量的理由,聪明,复杂的算法也可以。

18
谐音还是不谐音?
给定两个音符名称,您将编写一个程序来确定这两个音符形成的间隔是辅音还是不谐音。 介绍 在西方音乐中,只有12种“不同”的音调。它们的名称(从最低到最高)是:C, C#, D, D#, E, F, F#, G, G#, A, A#, B。该序列是循环的,即,它C在之后B无限地继续。 两个音调之间的距离称为间隔。上一个系列(例如C — C#或E — F)中相邻的两个音符之间的间隔称为半音。距离较远的音符之间的间隔定义为从第一音调到第二音调所需的半音步数(同时可能环绕序列)。一些示例:D to E= 2个半音,C to G= 7个半音,B to D#= 4个半音(这环绕序列)。1个 现在,这些间隔分为两类:辅音(如果同时演奏两个音符,听起来会很悦耳)和不谐音(不是那么多)。 让我们将辅音间隔定义为:0、3、4、5、7、8和9个半音。 它们的其余部分是不和谐的,即:1、2、6、10和11个半音。 挑战 编写一个“程序”(通常在广义上来说:函数完全可以)执行以下操作: 以两个音符名称(上述序列中的字符串)为输入。您可以按照自己的喜好选择它们(从stdin作为参数,用任何想要的分隔,甚至可以随意将它们作为字符列表(例如["C","#"])。但是,您不能为音符分配任何其他名称(尤其是您可能不会将它们从0编号到11,并使用数字)。 对于在那里的音乐极客,音符将不指定八度。在这种情况下,纸币以什么顺序排列,哪个较低和哪个较高也无关紧要。最后,您不需要处理不在上面列表中的任何名称。没有其他类似的谐波E#,没有单位,没有双重变化等等。 选择任意两个不同的值。只要输入中两个音符形成的间隔是辅音,您的程序就必须输出其中一个,否则输出另一个。(如果需要,可以是True和False,但也可以是π和e :) 这是一个代码高尔夫球。每种语言中以字节为单位的最短程序获胜。玩得开心! 示例和测试用例 Note 1 Note 2 Output Interval [semitones] C D Dissonant 2 …
36 code-golf  music 

27
建立节拍器
介绍 几天前,我需要节拍器来做一些事情。我没有空,所以我从App Store下载了一个应用。该应用程序的大小为71 MB !!! 71 MB用于制作tic-toc ...?! 所以我想到了代码高尔夫球,我想知道你们中的某些人是否可以改善这一点。 挑战 寻找一些输出声音的代码。什么样的声音是无关紧要的。如果需要,创建一些声音文件...但是系统提示音也可以完成。(这是我创建的一些声音……没什么特别的。) 输入:节拍器每分钟的节拍输出。 例 这是非高尔夫Java版本!只是为了向您展示任务。 public class Metronome { public static void main(String[] args) throws InterruptedException { int bpm = Integer.valueOf(args[0]); int interval = 60000 / bpm; while(true) { java.awt.Toolkit.getDefaultToolkit().beep(); // or start playing the sound Thread.sleep(interval); System.out.println("Beep!"); } } } …
36 code-golf  music  audio 

15
找到对应词
给定一个完全由q代表四分音符的s和e代表八分音符的s 组成的字符串的输入,输出已切分的四分音符的索引。 概要法很复杂,但是出于此挑战的目的,我们对“同步化”的定义将非常简单:四分音符从“节拍”开始,即节拍在n / 4中计为“和”时间。 可替代地,这可以被定义为在奇数个八分音符之后的任何四分音符。例如,*下面标记为的音符被视为已切分,并且还显示了它们的索引: eqqeqqeqqe ** ** 12 78 Output: 1 2 7 8 输入将始终包含4/4次的所有小节(四分音符是小节的四分之一,八分音符是小节的八分之一)。(输入也永远不会为空。)输出可以是单个字符串,其元素由任何不包含数字的定界符分隔,也可以是数组/列表/等。如果需要,输出可以是基于1的(即第一个索引是1而不是0),并且它也可以使用任何数字基(一进制,十进制等)。 由于这是code-golf,因此以字节为单位的最短代码为准。 测试用例: In Out ----------------------------------------------- eqqqe 1 2 3 qeqeq 2 qqqeqqeeeeqeqeqeqqeqqeqq 4 5 10 14 19 20 eeeeeqeeqeeqqqqeqeqeeqe 5 8 11 12 13 14 18 21 qqqq <none> eeeeeeee <none>
33 code-golf  music 

3
活页乐谱ASCII艺术生成器
注意:Anders Kaseorg警告我,这可能是另一个先前问题的重复。看来是这样,很抱歉,我在发布此问题之前没有找到该问题。尽管如此,这个问题只收到一个答案,这个答案比较简单,以防万一大家都想尝试一下。不过,我将了解该问题是否最终被标记为重复。 挑战 给定这样的输入: 8g 8Df 4cs 2C 1A 编写产生如下输出的最短程序/函数: /\ -o- | | ---|-|---------------------------------------------------|-| |/ | | ---/|--------|\----b-*-----------------------------------|-| / | | | | o | | -|--|--------|------|-----------------|------------------|-| | (| \ | | | | | | -|--|--)----*-------|/---------|------|------------------|-| \ | / | | | | -----|-------------------------|-------------------------|-| | | *_/ #-*- …

10
播放``攻丝''
今天(2015年11月11日)是美国退伍军人节。“ Taps ”是在美国军事葬礼上播放的号角: (来自vtmiller的SoundCloud上的“ 轻击”) 这是一种简单的旋律,只有二十四个音符,并且仅使用四个不同的音符。这是乐谱: (来源) 挑战 编写一个程序或函数以任何常见的音频文件格式(例如MP3,WAV,MIDI)播放“ Taps”或输出“ Taps”音频文件。可以用任何键,使用任何类型的乐器或您的语言可用的蜂鸣声播放。例如,听起来可能像是钢琴,而不是军号。(尽管仍然只能使用一种乐器类型。) 必须以准确的音高,持续时间和间隔演奏所有二十四个音符。熟悉“轻击”的人应该能够运行您的代码并轻松识别正在播放的歌曲。 旋律的持续时间(从第一个音符的开始到最后一个音符的结束)必须在30到70秒之间。您可以选择在声音文件的开头和/或结尾处保留长达5秒钟的静音时间,因此最长允许80秒。 当然,您可能不只是在某处在线下载歌曲或从恰巧将其作为示例的音频库中提取歌曲。但是,您可以使用音频库来播放/编写各个音符并创建音频文件。 计分 这是代码高尔夫球,因此最短的答案以字节为单位。但是,对于这个特殊的挑战,我鼓励您不要专注于字节数,尤其是以音质为代价。充分利用您的意见书,但可以根据自己的乐器选择或声音输出方法来发挥创造力。这项挑战的目的是要表彰退伍军人,而不是要淘汰几乎无法识别的“拍击”版本。 请注意,只需将链接粘贴在空白行上,就可以将SoundCloud音频文件直接嵌入到帖子中。如果您有SoundCloud帐户,这将是共享您的输出的好方法。

8
播放一些Pachelbel的佳能
将以下Pachelbel佳能的摘录输出为D音频: 规则 可以使用任何格式/编码,只要在创建此挑战之前已存在编解码器 可以使用任何乐器(真实乐器,MIDI合成等) 速度必须为65 BPM(如活页乐谱中所述)-如果您无法获得准确的65 BPM,则可以使用64.75-65.25(含)范围内的任何速度 乐谱在音乐会上 必须使用相等的气质调整(特别是12-ET,A4 = 440 Hz) 作为参考,下面是一个摘录的堆栈片段: 显示代码段 <audio controls><source src="https://a.clyp.it/h3y3isar.mp3"></audio> 运行代码段隐藏结果展开摘要

1
ASCII分数
在temp文件夹的深处挖掘,您会发现一些钢琴作品。不幸的是,这些作品只写有音符名称和时长,并且您只能访问文本终端。因此,您的任务是编写一个程序以将合成显示为ASCII艺术。 输入项 您的程序应接受两个字符串作为输入。第一个字符串代表高音谱号的音符(带有高音谱号),第二个字符串代表低音谱号的音符。 这些笔记将以科学的音高符号传递。顶部人员的笔记总是会之间C4和C6包容性。底层员工的笔记总是会之间C2和C4包容性。 每个音符都将拿出一个时间,这将是一个:1,2,4,8。它们分别代表整个音符(半缩音符),半音符(最低音符),四分音符(钩针)和八分音符(颤音)。 其他持续时间的注释将永远不会出现在输入中。 您可以自行决定如何将音符和持续时间分开,以及如何将每个音符与输入中的其他音符分开。以下是高级职员的样本输入: E4/4 A4/8 C#5/8 E5/2 在此,音符之间用空格隔开,并且持续时间与音符之间用正斜杠分隔。这些距离不是固定的,您可以选择更改或完全省略。 您可以假设每位职员至少有一张便条。输入中没有休止符。 输出量 您的程序将分数输出为ASCII艺术作品,并符合以下说明。 谱号应该是输出左侧的第一件事(两个谱号之间的距离不应更改): ^ | | ------|/---- / -----/|----- / | ---/--__---- | / \ ---\-\|-|--- \ | / ------|----- | \_/ ----___----- / \ | ---\---|---- | | -------/---- / -----/------ ------------ 如果音符的条干(圆旁边的垂直线)应指向五线谱的中线以下,则应指向上方。如果音符在谱线的中线上方,则应指向下方。如果音符在中线,则词干可以指向任一方向。(唯一的例外是奖金,并且在连接八分音符时发生,稍后将进行说明)。茎应该从圆的上面/下面的线开始,并且要6高。 除整个音符外,所有类型的音符都有词干。八分音符的标志由不同行上的两个正斜杠表示(请参见下面的示例音符)。 填充的音符头(用于四分音符和八分音符)由表示(@)。空的音符头(代表一半和全部音符)由表示( )。 …

1
在MP3文件中查找节拍
在此挑战中,您的任务是以mp3格式进行简单录音,并在文件中找到节拍的时间偏移。这里有两个示例录音: https://dl.dropboxusercontent.com/u/24197429/beats.mp3 https://dl.dropboxusercontent.com/u/24197429/beats2.mp3 这是第三张录音,噪音比前两张大得多: https://dl.dropboxusercontent.com/u/24197429/noisy-beats.mp3 例如,第一张录音的时长为65秒,其中包含准确的(除非我记错了!)76拍。您的工作是设计一个程序,该程序将一个mp3文件作为输入,并输出以毫秒为单位的文件中拍子的时间偏移序列。当然,当吉他演奏者弹奏一根或多根琴弦时,就会发生拍子。 您的解决方案必须: 处理具有类似“复杂性”的任何mp3文件。它可能无法发出嘈杂的录音或无法快速播放旋律-我不在乎。 相当精确。公差为+/- 50毫秒。因此,如果心跳发生在1500毫秒并且您的解决方案报告为1400,那么这是不可接受的。 仅使用免费软件。允许调用ffmpeg,就像使用任何免费的第三方软件来选择您的语言一样。 获胜标准是能够成功检测出节拍,尽管随附文件中有噪音。如果出现平局,则以最短的解决方案为准(不计算第3方代码的长度)。
27 code-golf  music 

15
一闪一闪亮晶晶
编写程序来播放流行的英语童谣。 (此文件采用知识共享协议授权署名-网上百科全书:许可署名Helix84在英文维基百科 ; Blahedo在英文维基百科) 某些Wikipedia文章可能有用: 闪烁闪烁小星星(具有您的程序输出听起来像的音频片段) 现代音乐符号(以了解上述使用的音乐符号) 音符#音符频率(赫兹)(计算每个音符频率的公式) 您提交的一些准则: 您的程序必须使用计算机的声卡。如果您的编程语言无法方便地访问音频硬件,则您的程序必须创建某种标准格式的输出文件,例如WAV或MIDI。 您的程序必须实际生成其输出。例如,不允许从Wikipedia嵌入Ogg Vorbis文件。 音频质量必须可以接受。至少,这首歌应该易于识别。最好也听起来不错。 重点应该放在代码大小,声音质量或两者上(说明您决定的代码)。优雅的解决方案也将很棒。玩得开心! 这是一个代码高尔夫球,因此最短的代码获胜
27 code-golf  music  audio 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.