Questions tagged «music»

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

7
组织格里高利教堂的音乐
那是930年,而格里高利教堂遇到了问题。他们有数千页的诵经音乐,但是问题是所有乐谱都被简单地堆放了起来,而不是拥有任何实际的组织系统: 由制图者协会的用户gamerprinter提供。 教堂需要组织所有乐谱,因此他们聘请了一位中世纪软件工程师来编写程序来为他们组织音乐。您是已雇用的软件工程师。但是,中世纪的编译过程需要由一群缓慢的圣经抄写员将程序写在纸上。为了减少抄写员团队编译代码所花费的时间,您必须使程序尽可能小。 教会希望根据他们所写的音阶来组织圣歌。教会的所有圣歌都以多利安音阶来编写。给定特定音乐的音符,您的程序将输出它所在的Dorian音阶。在这里,我将确切解释Dorian音阶是什么。如果您已经知道,则可以跳过本节。 任何旋律中都有12种可能的音符。在这里,它们按顺序排列: C C# D D# E F F# G G# A A# B 一个半音(用表示S)正在向右增加一个步骤,环绕(所以从B向上的半音将回到C)。甲色调(使用表示T)是两个半音。例如,从F#开始的半音为G。从F#开始的半音为G#。 要创建多利安音阶,我们从列表中的任何音符开始,然后按照以下模式向上移动,列出遇到的音符: T, S, T, T, T, S 一个例子。我从A开始。Dorian音阶的音阶变成: A B (up a tone) C (up a semitone) D (up a tone) E (up a tone) F# (up a tone) G (up a …
19 code-golf  music 

10
命运笔记-在职员上放笔记
僵尸启示录已经来临,世界即将终结。突然,某人发现了一个公式,该公式需要当前的小时,分​​钟和日期,然后吐出一个完美的音符以弹奏钢琴,这会立即杀死每一个听到它的僵尸。不幸的是,世界上只剩下一名钢琴演奏者,他已经忘记了如何阅读笔记,但是他仍然知道如何阅读乐谱。当然,这是非常时间敏感的事情,因此拥有一台计算机似乎很自然。1个 您的挑战是记下一个音符(例如)G,并输出放在五线谱上(高音谱号)的音符,如下所示: ----- ----- | ---|- | --O-- ----- 规格: 您必须输出由-----(5点划线)和空白行组成的交替行。总共有5 -----s。注释必须叠加在此职员的上方。 输入将指定注释的位置。输入将是: 可选的H或L,指定“高”或“低” 从Ato 的字母G,指定音高 可选的#或b,指定为锐利或平坦。 “注释”定义为: 一个O(大写O)与工作人员中间对齐,位于笔记的位置。(最上面的一行是HF(高F),最下面的一行是E(正常E)。) 三秒|(竖线),茎,将为: 如果音符在中线(B)或上方,则在音符左侧留一个空格,然后向下移动(从音符下方开始一个空格),或者 音符右边的一个空格,如果音符在中线以下,则向上移动(从音符上方开始一个空格)。 如果在输入中指定,则在音符左侧直接一个#或b一个空格。 如果音符太高或太低,则必须添加分类帐行。这些行将是---(宽度只有3个破折号,而不是5个破折号),并且仅在注释在总帐本行的上方或下方(分别针对顶部/底部总帐行)时才显示。 多余的空间可以放置在您想要的任何位置;例如,如果可以帮助保存任何字符,则可以使空白行具有空格或在分类帐行之后具有空格。 这是一个可视化视图,为了更容易地理解规格,所有注释名称都位于各行旁边: HB --- HA HG ----- HF HE ----- HD HC ----- B A ----- G F ----- E D --- C LB --- LA …

28
计算逆模量
任务: 输出for的值x,其中a mod x = b有两个给定值a,b。 假设条件 a并且b将始终为正整数 永远不会有解决方案 x 如果存在多个解决方案,请至少输出其中之一。 如果没有任何解决方案,则不输出任何内容或表明不存在任何解决方案。 允许内置(不像其他数学方法那样有趣) 输出始终是整数 例子 A, B >> POSSIBLE OUTPUTS 5, 2 >> 3 9, 4 >> 5 8, 2 >> 3, 6 6, 6 >> 7, (ANY NUMBER > 6) 8, 7 >> NO SOLUTION 2, 4 >> NO …
18 code-golf  math  number-theory  code-golf  number  integer  code-golf  string  code-golf  music  code-golf  arithmetic  array-manipulation  decision-problem  code-golf  math  rational-numbers  code-golf  code-golf  graphical-output  hardware  code-golf  math  number  code-golf  string  parsing  natural-language  code-golf  tips  brain-flak  code-golf  graph-theory  code-golf  number  polynomials  king-of-the-hill  code-golf  ascii-art  kolmogorov-complexity  animation  king-of-the-hill  code-golf  tips  code-golf  ascii-art  code-golf  string  array-manipulation  data-structures  code-golf  math  number  code-golf  string  base-conversion  binary  code-golf  decision-problem  graph-theory  code-golf  math  polynomials  code-golf  kolmogorov-complexity  physics  code-golf  sequence  number-theory  code-golf  math  integer-partitions  code-golf  array-manipulation  random  permutations  code-golf  string  decision-problem 

14
将数字对转换为吉他音符
吉他指板图如下所示: 0 1 2 3 4 5 6 7 8 9 10 11 12 <- Fret number (0 means it's open) |-E--F--F#-G--G#-A--A#-B--C--C#-D--D#-E |-B--C--C#-D--D#-E--F--F#-G--G#-A--A#-B |-G--G#-A--A#-B--C--C#-D--D#-E--F--F#-G |-D--D#-E--F--F#-G--G#-A--A#-B--C--C#-D |-A--A#-B--C--C#-D--D#-E--F--F#-G--G#-A |-E--F--F#-G--G#-A--A#-B--C--C#-D--D#-E 如您所见,(从顶部开始)打开的第一个字符串是E。第一个琴弦上的第一个品格是一个F。第三弦上的第四品格是B。请注意,第一个音符是零品格,而不是第一个。 可以在格式上用数字写string, fret。字符串从上到下从1到6编号。品格从左到右从0到12编号。E因此,第一个是1, 0。其他一些例子: 1, 0 --> E 1, 1 --> F 3, 5 --> C 5, 1 --> A# 6, 6 --> …

25
一个简单的模式
输入: 您选择的输入格式中的两位数字(我们称它们为m和n)和两个字符(我们称其为a和b)。 输出: 对于演练,请假装m=2, n=5, a='a', b='b'。 您的输出将是根据四个输入构建的字符串。让我们result用value 调用字符串""。首先,连击a到result m时间,所以串连a到result 2倍。result现在等于aa。其次,连击b到result m时间,所以串连b到result 2倍。result现在等于aabb。最后,如果结果已经比更长n,请截断result它,使其具有length n。否则,继续交替使用m的长度运行a,并b直到result有长度n。最终result是aabba,它有长度5。 测试用例: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: m = 3, n = 8, a = A, b = B Output: AAABBBAA Input: m = 4, n …
17 code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

4
显示MIDI音轨
背景 MIDI文件与WAV或MP3音频文件完全不同。MP3和WAV文件包含表示音频“记录”的字节,而MIDI文件具有存储在MIDI事件中的一系列MIDI消息,这些信息通知MIDI合成器要播放的虚拟乐器或MIDI音序器应使用的播放速度。这些消息存储在轨道中,轨道的集合构成一个MIDI序列,其事件可由音序器分析,并将其消息从音序器传输到合成器的接收器。 在大多数情况下,存储在MIDI事件中的MIDI消息是“音符开”消息,它告诉合成器播放特定的音符,或者是“音符关”消息,告诉合成器停止播放音符。这些消息包含两个数据字节,第一个数据字节通知合成器该音符的速度(较高的速度会导致一个更大的音符),而第二个字节则通知合成器该音符的演奏(即中音C)。事件本身还包含刻度,用于告知音序器何时发送消息。 挑战 面临的挑战是编写一个完整的程序或函数,以单轨MIDI序列分析一系列Note On和Note Off MIDI消息,并向STDOUT输出一个图表,该图表显示何时打开特定音符,何时关闭这些音符以及这些音符的速度。图表的纵轴表示音符值,应按以下说明进行标记,横轴表示以MIDI音调为单位的时间(尽管应保持未标记状态,以减少复杂性和间距问题)。 您的输入可能是四个单独的数组或列表,每个数组或列表包含一系列整数值。包含四个带有一系列整数值的子数组/子列表的二维数组或列表;或任何其他方便的方式;这表示音轨中具有“音符开启”和“音符关闭”消息的MIDI事件集合。这些数组中的第一个数组中的值指定音符,第二个数组中的音符指定力度,事件滴答声中的第三个音符,和音符关闭事件音符的第四个音符。例如,给定四个这样的数组: {60, 62, 64, 65, 67} {20, 40, 60, 80, 100} { 0, 4, 8, 12, 16} { 2, 6, 10, 14, 18} 分析每个数组的第一个元素会产生两个事件:在滴答0处发生的事件,其中包含一条消息,其中包含Note On命令,note 60(中间C)和note速度为20;以及在第2滴答处发生的事件,并带有一条带有“音符关闭”命令且音符和力度相同的消息。 规则 图表的左侧应显示降序显示的数字0到127(代表音符值),音符开始时,每个音符的持续时间(音符关闭记号减去音符开启记号)以及音符的力度。表示音符的符号取决于其速度: 0-15: O 16-31: = 32-47: # 48-63: - 64-79: @ 80-95: + 96-111: 0 …

10
升序矩阵
“升序矩阵”是整数(包括0)的无限矩阵,其中任何元素是最小的可用元素,之前尚未在相应的行和列上使用: | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

9
这是大尺度(或同等学历)吗?
沙盒 主音阶(或爱奥尼亚音阶)是最常用的音阶之一,尤其是在西方音乐中。它是全音阶音阶之一。像许多音阶一样,它由七个音符组成:第八个音符以其两倍的频率复制第一个音符,因此它被称为同一音符的更高八度。 七个音符是: C,D,E,F,G,A,B和C(出于示例目的而重复) 大尺度是全音阶。将先前的音符序列作为主要音阶(实际上,它是音阶C Major)。大音阶音符之间的间隔顺序为: 整个,整个,一半,整个,整个,整个,一半 其中“整个”代表整个音调(图中红色的U形曲线),“半”代表半音(图中红色的虚线)。 在这种情况下,从C到D存在一个整体色调,从D到E存在一个整体色调,从E到F存在一个半色调,等等。 我们有2个成分会影响音符之间的音调距离。它们是尖锐符号(♯)和扁平符号(flat)。 尖锐符号(♯)为音符增加半音。例。从C到D,我们提到存在一个完整的音调,如果我们用C♯代替C,那么从C♯到D则存在一个半音。 扁平符号(♭)与夏普符号相反,它从音符中减去半音。示例:从D到E,我们提到存在一个完整的音调,如果我们使用Db代替D,则从Db到E则存在一个音调的一半。 默认情况下,随音符存在一个全音,除了E to F和B to C在短短半音。 请注意,在某些情况下,使用谐音音调可以创建与大音阶等效的音调。这样的一个例子是C#, D#, E#, F#, G#, A#, B#, C#其中E#和B#是等音但规模如下一个主标度的序列。 挑战 给定标度,如果是大标度或等效标度,则输出真实值,否则输出伪值。 规则 允许使用标准I / O方法 适用标准代码高尔夫球规则 您无需考虑8号音符。假设输入将仅包含7个注释 假设不存在双平(♭♭),双尖(♯♯)或自然符号(♮) 测试用例 C, D, E, F, G, A, B => true C#, D#, E#, F#, G#, A#, …

4
马尔可夫链节拍发生器
前几天我只是有个主意:按照预定义的声音的马尔可夫链拍拍。 我记得有人用Google Translate和德语做了一个节拍盒(点击链接并按监听)。 因此,挑战在于如何从给定的链中为Google翻译构建文本输入。或者,您可以使用音符并自己演奏:)。 您可以使程序读取一条带有拍数的行,另一条读取其名称和几率的矩阵表示形式(可以选择表示形式)。 您也可以使用这三个参数来创建函数。 例如 [输入] 20 pv zk bschk kkkk [[.1, .4, .5, 0.], [.3, .2, .3, .2], [0., .3, .2, .5], [.1, .8, .1, 0.]] [输出]类似: pv zk bschk zk pv bschk zk pv zk bschk kkkk pv bschk zk bschk bschk bschk zk kkkk bschk …

5
RTTTL混淆
RTTTL或铃声文本传输语言是诺基亚在恐龙漫游土地的曙光中发明的一种音乐格式。它允许播放相当粗糙的音乐(没有和弦或任何东西),而且格式非常简单,这就是为什么我认为它很酷。看一下这个: DejaVu: d=8,o=5,b=200: e, e, c, e, g, 2g4 让我们剖析格式。开头的“ DejaVu”部分是标题-不能超过10个字符。d和o是持续时间和八度的默认值-如果音符未指定持续时间或八度,它将使用它们。最后,b是每分钟的拍数。 之后,将列出歌曲的实际音符。音符的格式为DPO,其中D为音符的持续时间(1、2、4、8、16),P为音高(A,B,C,D,E,F,G,A#,B# ,C#,D#,E#,F#,G#)和O是八度音阶(在诺基亚实现中为4-8,但是对于其他实现则有所不同。出于挑战的目的,我们将其称为1-8)。 。如果未指定持续时间或八度,则使用默认值。此外,音符后面可以有一个点-这实际上是将持续时间乘以1.5。 在此处的示例中,我们有两个没有持续时间和八度的E音符,这意味着它们具有默认的持续时间和八度(8,或者八分音符和八度5),一个没有持续时间和八度的C,一个E和一个G.最后的音符是持续时间为2(半音符)和八度为4的G音符。 既然我们已经了解了格式,那么挑战是什么?实际上,挑战与RTTTL无关。您的任务是创建一个混淆的程序,输出“ Hello,World!”。(恰好)这也是一首有效的RTTTL歌曲,长度至少为5秒。 为了测试您的RTTTL歌曲,您可以使用此站点将您的歌曲转换为MIDI文件,然后在MIDI播放器中收听。这是人气竞赛。祝好运! 编辑:如果您愿意,这是一个将MIDI转换为RTTTL的网站。链接 编辑2:这项闪亮的赏金将在7天之内颁发给获胜者(获得最高评价的职位)。

2
大二分法
给定一个和弦列表,将其标记为“大”或“小”。 输入值 输入将是和弦列表,每行一个,由3个音符隔开。每个便笺将由大写的便笺名称(A- G)和可选的偶然的(#或b)组成。和弦可以以任何反转(即音符可以以任何顺序)。 输出量 如果和弦是大和弦,则输出“ Major”。如果和弦较小,则输出“ Minor”。如果和弦既不是大和小,则输出空白行。 例 输入值 C E G F Ab C C Eb Gb E G B Db F Ab Bb G D D A Gb 输出量 Major Minor Minor Major Minor Major 测试脚本 就像我过去的一些问题一样,我再次选择了一些最初由Joey和Ventero创建的测试脚本,以针对该问题提供一些测试用例: 重击 电源外壳 用法: ./test [your program and its arguments] 奖赏 …
15 code-golf  music 

4
创建GUI钢琴[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 挑战 用最少的字符创建一个GUI键盘。 例 因为这是我的一门课程中的一项作业,所以我无法显示源代码。但是,这是我的键盘的屏幕截图。 在此示例中,我的键属于类型JButton,我使用Midi合成器产生声音(具有默认的ADSR包络值)。 规则 你被允许使用标准的外部库。 发挥您的声音创意。您可以使用8位,西塔琴等。 为简单起见,您可能有五个键;黑白,从C到E(键盘上的前五个键)。 最重要的是……展示您的作品! 注意:根据您选择使用的语言,这可能是一项相当大的任务。 这是我对SE Code Golf的第一个问题。如果不清楚,请询问更多细节。 编辑:此挑战的截止日期将为9/22/12。如果您在此日期之后发布答案,无论如何(可能对其+1),我都会对其进行检查。
15 code-golf  music 

4
留在基督教青年会很有趣
“ YMCA”是乡村人民流行的迪斯科歌曲,有着著名的舞蹈。编写最短的程序,以输出与歌曲的合唱同步的大写字母“ Y”,“ M”,“ C”和“ A”。 通常,发送到标准输出的每一行都有一个字母。这主要是为了简化受C标准库的输出缓冲限制的程序(打印换行符会刷新输出缓冲区),因此,如果省略这些换行符会使您的程序更短,则可以省略其中的任何或所有换行符。 您的程序(与音乐同时启动)必须在启动后每隔0.125 s内输出字母“ Y”(以秒为单位;这是我从YouTube上发布的音乐视频中确定的)。 45.766 49.611 60.889 64.661 109.816 113.591 124.810 128.687 173.830 177.620 188.950 192.724 204.013 207.739 219.057 字母“ M”,“ C”和“ A”分别在每个“ Y”之后分别为0.930 s,1.395 s和1.628 s。出于测试目的,通过将这些相对时间加到前面的“ Y”时间中,可以将它们转换为绝对时间。 我已经用C语言编写了一个测试程序和相应的示例程序,假定每个字母后都有一个换行符(尽管这不是竞争规则)。它是为Linux编写的,如果不使用Cygwin,将无法在Windows上运行。如果您无法使用测试程序测试提交的内容,请至少根据YouTube视频来检查提交的内容。 如果您的提交要求使用特殊的命令行选项才能正常运行,则该命令行选项将在计算分数时计算在内。但是,任何解释器的启动时间都不会影响您,可以根据需要修改测试程序以适应该要求。 尽管我怀疑存在,但我必须说禁止使用专门为此任务设计的编程语言功能或库。
15 code-golf  music 

11
帮我弹小号
该喇叭是有阀管乐器仪器,一般在投B♭。当演奏者振动嘴唇以置换乐器内部的空气时,将发出声音。这种振动是通过以一种特定的方式张口而获得的,这种方式被称为“囊袋”。嘴唇更紧或更松的不同囊袋会产生不同的音高。 此外,小号中的每个气门也会改变乐器的音高。按下时,阀门会关闭乐器管内的路径,使空气流经更长的路径,从而降低原始声音的音调。为了应对这一挑战,我们将考虑标准B♭喇叭,其中第一个阀门将螺距降低整步,第二个阀门将螺距降低半步,第三个阀门将螺距降低一个和一个。半步。 挑战 您面临的挑战是创建一个程序或函数,给定两个输入embouchure和valves,确定要弹奏的音符的音高。 出于此挑战的目的,注释将遵循以下顺序: B♭, B, C, C♯, D, E♭, E, F, F♯, G, G♯, A. 规则 可以通过任何合理的方法进行输入/输出。 标准漏洞。 您可以使用b和#代替♭和♯,如果你想。 的输入valves可以作为低压阀列表(1, 3)或布尔值列表(1, 0, 1)的形式。 这是代码高尔夫球,因此每种语言中最短的代码将获胜。 测试用例: Valves 在这些测试用例中以布尔值列表的形式给出,其中0表示被压低,1表示被压低。 Embouchure: Valves: Output: B♭ 0 0 0 B♭ B♭ 0 1 0 A B♭ 1 0 1 F C♯ 0 0 …
14 code-golf  music 

1
计数坎宁安链
素数总是让人着迷。2300年前,欧几里得在他的《元素》中写道 质数是仅由一个单位测量的质数。 这意味着素只能被 1(或本身)。 人们一直在寻找素数之间的关系,并提出了一些非常奇怪的东西(如“有趣的”)。 例如,一个索菲·热尔曼质数是一个主要p针对2*p+1也是素数。 一个安全素是一种主要p用于哪些(p-1)/2也是黄金,而这正是一个索菲·热尔曼质数的倒退状态。 这些与我们在此挑战中寻找的东西有关。 一个坎宁安链型我是一系列素数,其中除了最后一个的每一个元素是的索菲·热尔曼质数,而除了第一个的每一个元素是一个安全的黄金。该链中元素的数量称为它的length。 这意味着我们从素数开始p计算q=2*p+1。如果也q为质数,则我们有长度为2的I型Cunnigham链。然后进行测试2*q+1,以此类推,直到下一个生成的数字为复合数为止。 II型坎宁安链是按照几乎相同的原理构造的,唯一的区别是我们检查了2*p-1在每个阶段。 坎宁安链的长度可以为1,这意味着2 * p + 1和2 * p-1都不是素数。我们对这些不感兴趣。 坎宁安链的一些例子 2启动长度为5的I型链。 2, 5, 11, 23, 47 下一个构造的数字95不是素数。 这也告诉我们,那5,11,23和47不启动类型的任何链我,因为这将有前述的元素。 2也开始长度为3的II型链。 2, 3, 5 接下来是9,这不是素数。 让我们尝试II11型(之前我们将其排除在I型之外)。 好吧,接下来是下一个,它不是素数,因此该“链”的长度为1,我们不将其计入此挑战。21 挑战 写一个程序或功能,给定一个号码n作为输入,写入/返回的起始数第n个的坎宁安链I或II型的至少长度为2,后跟一个空格,随后链的类型它开始(我或II),然后是冒号,然后是该类型链的长度。万一素数同时启动两种类型的链(类型I 和型 II型),则首先计算型链。 例: 2 I:5 请记住,这n可能是任何类型的先前启动链的一部分,在这种情况下,不应将其视为该类型链的起始编号。 让我们看看这是如何开始的 我们从开始2。由于它是第一个素数,因此我们可以确定没有链从包含的较低素数开始2。 类型I中的下一个数字将是2*2+1 == 5。5是素数,因此我们已经有了至少长度为2的链。 我们将其视为第一条链。那II型呢?下一个号码是2*2-1 == 3。3是素数,因此II型的链长也至少为2。 …

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.