タグ付けされた質問 「music」

このタグは、課題が音楽を含むことを示します。たとえば、音楽を入力として取り、音楽を出力として生成し、音符を処理します。

11
緩い範囲の解釈
緩い範囲の解釈 ListSharpは、多くの機能を備えたインタープリター型プログラミング言語です。これらの機能の1つは、次のように機能する1つのインデックスベースの範囲作成者です。 あなたはと範囲を定義する(INT) TO (INT)か、単に(INT)どこの両方または単一のintは分からに行くことができる最大のint32値 次に、これらの範囲を使用して、境界を超えることを恐れずに配列の要素を抽出できます したがって: 1 TO 5 生成: {1,2,3,4,5} 3 生成: {3} AND演算子を使用して範囲を追加できます 1 TO 5 AND 3 TO 6 生成: {1,2,3,4,5,3,4,5,6} これは負の数でも機能することを忘れないでください 3 TO -3 生成: {3,2,1,0,-1,-2,-3} 課題は次のとおりです。 入力 文字配列および文字列として以前に定義された範囲句 出力 1インデックスの要素は範囲の位置に基づいています(非既存/負のインデックスは空の文字に変換されます) 勝つ方法 コードゴルフの挑戦として、あなたは勝つために最短のバイト数でプログラムを作成することになっています 空の文字は存在しないことが指摘されているため、無視する必要があります(ここでは、わかりやすくするためだけに示しましたが、混乱させています) テストケース: input array is: {'H','e','l','l','o',' ','W','o','r','l','d'} range clause: "1 TO 3" …
13 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 

4
ゲッターをゲット
タスク 私は誰もが自動コード生成と仕事中の時間の節約を愛していると思います。日中は多くのクラスとメンバーを作成するgetters必要があり、それらすべてを手動で作成する必要はありません。 タスクはgetters、すべてのクラスメンバーに対して自動的に生成されるプログラムまたは関数を作成することです。 入力 私たちの言語では、オブジェクトは非常に単純です。クラスおよびメンバーの名前は、文字から始まる必要[a-zA-Z]があり、文字のみを含めることができます[a-zA-Z0-9]。以下に例を示します。 class Stack { public overflow; protected trace; private errorReport; } 出力 これは、指定された例に基づいた有効な出力です。 class Stack { public overflow; protected trace; private errorReport; public function getOverflow() { return this->overflow; } public function getTrace() { return this->trace; } public function getErrorReport() { return this->errorReport; } } ゲッター getterメソッドの要件は次のとおりです。 …
13 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 

4
モーツァルトゴルフ-ミニ「ロンド」
「Mozart-Alla Turca」をstdoutに出力します(「参照実装」のサンプルを参照) シンセサイザーと音楽の両方を最小サイズにパックする方法を見つけてください。 要件: フィードに適した形式aplay -f cd(署名付き16ビットリトルエンディアン、2チャネル)。 音楽全体を再生する必要があります(音符やパートをスキップせずに、少なくともサンプルプログラムよりも少なくしないでください)。しかし、ポリフォニーは必要ありません。 /usr/bin/timidity、/usr/bin/soxまたはそのようなものだけを呼び出すことはできません(たとえば、特別な音楽モジュールをインストールする必要があります)。 ネットワークにアクセスできない、または音楽がローカルで利用可能であると想定できない。 解析可能なスコアを使用した「リファレンス実装」:https : //gist.github.com/vi/5478693 (古いサンプルPerlプログラム:https : //gist.github.com/vi/5447962)
13 code-golf  music 

3
Brainfuckのビット演算子
あなたの仕事は、以下の二項演算子のそれぞれに対して1つのBrainfuckプログラムを作成することです。各プログラムは、入力から1つまたは2つの8ビット数(AおよびB)を取得し、指定された操作を計算する必要があります。 A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A 5つすべてを実装する必要はありません。スコアは次の方法で計算されます。 #totalCharacters + {4000 * #problemsNotCompleted} したがって、有効なスコアはゼロ(最高)から20,000(何も完了していない)までです。 結果を保存する場所や、入力を保存するかどうかは気にしません。8ビットセル、および必要なだけの空のセルを右側にのみ想定します。 最適なメモリ位置に番号がすでにあると仮定することができるので、IO操作を心配する必要はありません。
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

7
音部記号間の変換
あなたが去る前に、あなたはこの挑戦をするために多くの楽譜を理解する必要はありません。 説明 標準的な楽譜では、音部記号はページを横切って音符への参照ポイントとして機能し、どの音符を演奏するべきかを知らせます。高音部記号と低音部記号にまだ慣れていない場合は、ここから説明します Wikipediaのください。 音部記号は、音符のピッチを示すために使用される音楽記号です。ステーブの先頭にある行の1つに配置され、その行のノートの名前とピッチを示します。この行は、ステーブの他の行またはスペース上のノートの名前を決定する基準点として機能します。 上の画像では、線の上半分がト音記号であり、 下半分は低音部記号で、 高音部記号を見るとわかるように、一番下の行のノートはEです。(このチャレンジでは、音部記号の外側の音符は数えません)低音部記号の一番下の線は Gです。この課題を完了するには、次のことを行う必要があります。 チャレンジ 次のいずれかの形式の入力(任意)を指定して、反対の音部記号に変換します。高音部記号と低音部記号のどちらであるかは、言語のTruthey / Falsey値(2つの値だけでなく)になります。 F#T または F#True または F#Treble だがしかし F#-1 または F#4 スペースと大文字はオプションであり、フラットは表示されず、末尾の空白は許可されません。 Input Expected Output E Treble G F Treble A F# Treble A# G Treble B G# Treble C A Treble C A# Treble C# B Treble D …

6
有理生成関数の係数を見つける
数値のシーケンスをべき級数の係数として記述する場合、そのべき級数はそのシーケンスの(通常の)生成関数(またはGf)と呼ばれます。つまり、ある関数F(x)と一連の整数a(n)について次のようになっている場合: a(0) + a(1)x + a(2)x^2 + a(3)x^3 + a(4)x^4 + ... = F(x) 次にF(x)はの生成関数ですa。たとえば、幾何級数は次のことを示しています。 1 + x + x^2 + x^3 + x^4 + ... = 1/(1-x) したがって、の生成関数は1, 1, 1, ...です1/(1-x)。上記の式の両側を微分して乗算するxと、次の等式が得られます。 x + 2x^2 + 3x^3 + 4x^4 + ... = x/(1-x)^2 したがって、の生成関数は1, 2, 3, ...ですx/(1-x)^2。関数の生成は非常に強力なツールであり、それらを使用して多くの便利なことができます。簡単な紹介はここにありますが、本当に徹底的な説明のために、素晴らしい本生成機能があります。 この課題では、入力として有理関数(整数係数を持つ2つの多項式の商)を、最初に分子、次に分母の2つの整数係数の配列として受け取ります。たとえば、関数f(x) = x …
12 code-golf  math  integer  polynomials  code-golf  math  abstract-algebra  restricted-time  code-golf  math  primes  code-golf  math  number  arithmetic  code-golf  quine  code-golf  number  sequence  code-golf  string  number  code-golf  array-manipulation  code-golf  number  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 

7
音楽間隔ソルバー
音楽理論では、間隔は2つのピッチの差です。各ピッチは、ハーフステップ(CとC#の違い)またはステップ全体(CとDの違い)の数によって定義されます。1つの全体のステップは、2つの半分のステップと同じです。すべてのデフォルト間隔とそれらが表すハーフステップの数のリストは次のとおりです。 0 Perfect Unison 2 Major Second 4 Major Third 5 Perfect Fourth 7 Perfect Fifth 9 Major Sixth 11 Major Seventh 12 Perfect Octave デフォルトの間隔には、マイナー、縮小、および拡張の 3つのバリエーションがあります。 マイナーの間隔は、1つの半段階の主要な間隔よりも低くはなく、完璧な間隔です。したがって、マイナーな秒(1)、マイナーな3番目(3)、マイナーな6番目(8)、マイナーな7番目(10)があります。これらはすべて完全な間隔であるため、マイナー4、マイナー5、マイナーユニゾン、マイナーオクターブなどはありません。 減少間隔はマイナーより1半音低くなっているか、完璧な間隔。減少した2番目(0)、3番目の減少(2)、4番目の減少(4)、5番目の減少(6)、6番目の減少(7)、7番目の減少(9)、およびオクターブの減少(11)があります。 増強間隔は、1つの半段階で高いメジャーまたは完璧な間隔より。ユニゾンの拡張(1)、2番目の拡張(3)、3番目の拡張(5)、4番目の拡張(6)、5番目の拡張、(8)、6番目の拡張(10)、7番目の拡張(12)があります。 チャレンジ: 半ステップまたは全ステップを数回実行し、この間隔の有効な英語の説明の1つを印刷するプログラムまたは関数を作成する必要があります。IOテーブルと完全に一致する限り、どの説明を選択してもかまいません。これを1つの文字列として取ることができます "5w" == 5 whole steps "3h" == 3 half steps または、数字と文字列/文字として。 5, "w" == 5 whole steps 3, …
11 code-golf  music 

3
音楽を作ろう!
多くの人が楽しさと娯楽のために音楽を演奏するのが好きです。残念ながら、音楽は時々かなり難しいです。それがあなたがここにいる理由です! 仕事 音楽を読むのに苦労している人たちにとって、音楽をもっと簡単に読むことはあなたの仕事です。音楽譜表を入力として受け取り、その譜表に書かれた音符の名前を出力するプログラムまたは関数を作成する必要があります。 譜表、音部記号、メモ 音楽スタッフ、またはステーブは、4つのスペースであるわたってるしき5本の水平線です。各行またはスペースは、音部記号に応じて異なる音符(ピッチ)を表します。 かなり多くの異なる音部記号を選択することができますが、ここでは高音部記号のみを扱います。高音部記号では、音符は譜表に次のように表示されます。 行 F ---------- D ---------- B ---------- G ---------- E ---------- スペース ---------- E ---------- C ---------- A ---------- F ---------- 入力のフォーマット 入力は、次のように単一の文字列として提供されます。 --------------- --------------- --------------- --------------- --------------- 譜表の5行と4スペースは、9行の文字で構成されています。譜表の行は-(ハイフン)文字で構成され、スペースは(スペース)で構成されます。各行は次のように単一の改行文字で区切られます。たとえば -----\n \n-----\n \n-----\n \n-----\n \n-----\n 、行は任意の長さ(プログラミング言語で処理できる妥当な量まで)であり、各行は他の行とまったく同じ長さです。また、行は常に3で割り切れる長さになることに注意してください(1つのノートの後に、ノートのない2つの列が続くパターンに合わせます)。 メモは、適切な文字-または文字をに置き換えることにより、この譜表に配置されoます。また、音は半音単位でピッチを上げる(シャープにする)ことも、下げる(フラットにする)こともできます(ノートと隣接するノートの周波数差の約半分)。これは、の代わりにそれぞれ文字#とbで表されoます。各音符は次の音符とちょうど2 -文字で区切られ、最初の音符は常に-and (スペース)文字の最初の「列」に現れます。 ノート名を出力する場合、プログラムでは常にA B C D E F …

4
言葉の音
あるものを別のものとして視覚化できるように、人々は多くのことを書いてきました。今、私は手紙を音楽に翻訳できることを提案します!テキストファイルを取り、各文字がからの特定のノートに変換されたサウンドファイルを出力するプログラムを作成するのがあなたの仕事C3-C8です。 免責事項-私は実際に音楽が良い音を出すことを期待していませんが、私は驚かれることを望んでいます。 仕様書 ファイルの名前を文字列として、BPM(1分あたりのビート)をintとして受け取ります 大文字AをメモにするC3 そして、以下の順番ですべてのキャラクターを半歩上に移動します。 ABCDEFGHIJKLMNOPQRSTUVWXYZ ()-,;.'"abcdefghijklmnopqrstuvwxyz はい、すべての文字が使用されるわけではありません。すべての文字がオクターブにまたがっているからです。 この方法でファイル内のすべての文字を翻訳します 与えられたBPMで4分音符としてメモをまとめる サウンドファイルとして保存するか(midiが最も簡単だと思いますが、何でも構いません)または再生します 正常な入力形式であれば問題ありません 標準的な抜け穴はありません これはコードゴルフなので、バイト単位の最短コードが勝ちです! ボーナス 出力の転置を許可する-50バイト 複数のファイルを取得することで、複数のトラックを互いに重ねることができます-75バイト 連続した文字を1つの長いメモに結合する-50バイト 編集:うわー、負のスコアがあります。土曜日に勝者を発表します。
11 code-golf  music  audio 

2
Xが3より大きく、XとYの間に少なくとも2つの差がある
私はいくつかのC ++をゴルフしようとしています。この条件を短くすることは可能ですか? X > 3 & X - Y > 1 (もちろん、空白の削除は別として。) だから、X少なくともです4がX >= Y + 2。 XおよびYは、[0,5]間隔の整数です。 ビット単位の数式を見つけようとしましたが、失敗しました。
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

2
ただ一つのメモ-楽器の合成[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新することがありますので、上のトピックコードゴルフスタックExchange用。 3年前に閉店しました。 ステートメント タスクは、(お好みの)汎用プログラミング言語の機能を使用して、(お好みの)楽器の音(1つのノートを演奏)を合成することです。 2つの目標があります。 結果として生じる音の品質。実際の楽器にできるだけ似ている必要があります。 最小限。コードを1500バイト未満に維持することをお勧めします(基本的なサウンド生成のみがある場合はそれよりも少なくなります)。 生成関数のみを提供する必要があり、定型句はスコアにカウントされません。 残念ながら、音の忠実度についてスコアを計算することはできないため、厳密な規則はありません。 ルール: サンプルライブラリ、特殊な音楽生成物に依存しません。 ネットワークからダウンロードしたり、マイクやオーディオカードのMIDIなど、外部のようなものを使用したりすることはありません。 コードサイズの測定単位はバイトです。ファイルは現在のディレクトリに作成できます。既存のファイル(係数テーブルなど)が存在する場合がありますが、そのコンテンツはスコアに追加され、名前で開く必要があります。 ボイラープレートコード(スコアにカウントされない)は、符号付き整数の配列(リスト)を受け取り、出力のみを処理します。 出力形式は、オプションのWAVヘッダーを使用して、1秒あたり44100サンプルのリトルエンディアン16ビットワードで署名されています。プレーンなwavの代わりに圧縮されたオーディオを出力しようとしません。 合成するために別の楽器を選択してください(または楽器のその他の品質とコードサイズのカテゴリ)。ただし、最初は何をシミュレートしているかを教えてはいけません。他のユーザーにコメントで推測させてください。 電子機器は使用しないでください。 ドラムは楽器です。人間の声は楽器です。 ボイラープレート 一部の言語の定型文を次に示します。あなたの言語にも同様の定型文を書くことができます。「g」関数は、デモ用です(1秒440 Hzのサイントーン)。 C: //#!/usr/bin/tcc -run #include <stdio.h> #include <string.h> #include <math.h> #include <stdlib.h> /* void g(signed short *array, int* length) { *length = 44100; int i; for(i=0; i<44100; ++i) …

1
音楽ジャンプを展開
ダル・セーニョとダ・カーポは、 2つの非常に一般的に使用される音楽用語です。彼らは、「意味記号から(𝄋)」と「最初からそれぞれ」。 また、曲の最後であるコーダ(𝄌)の概念もあります。曲の「メインセクション」の後に再生されます。 A DSアルコーダ(ダル・セーニョアルコーダは)、例えば、手段は「に行くSEGNOあなたがに行くように言われているまで、プレーをコーダ、そしてそこにジャンプします。」 説明文 この課題でのあなたの仕事は、Dal SegnoとDa Capoが含まれる場合と含まれない場合がある任意の数のノートで構成される入力を取得し、前述のジャンプを「展開」して同じ音楽を出力し、繰り返しが逐語的に拡張されるようにすることです。 入力 コードは、1つの文字列でスペースで区切られた一連のメモまたは信号(ここではメモ以外と定義)のシーケンスを入力として受け取る必要があります。 ノートは任意でありa、b、c、d、e、f、又はg、任意で#またはb付加(この課題の目的のために、何のリズムが存在しません)。 A C(大文字c)はcodaマーキングを表します。コーダマーキングは常にゼロまたは2つあります。最初のコーダマーキングはどこからジャンプするかを表し、2番目のコーダマーキングはどこにジャンプするかを表します。 S(資本s)は表しSIGNOマーキングを。常に0または1つのsignoマーキングがあります。 F(資本f)は表し細かいマーキングを。これはピースの終わりを「オーバーライド」します。詳しくは以下を参照してください。ゼロまたは1つの微細なマーキングが常に存在します。 以下のテキストの正確な文字列のいずれかが表します。 D.S. al fine:signoに移動し、曲の最後または細かいマーキング(存在する場合)のいずれかまで再生します。 D.S. al coda:signoに移動し、コーダまで再生してから、2番目のコーダマーキングにジャンプして、ピースの最後まで再生します。 D.C. al fine:最初に移動し、最後または細かいマーキングまで再生します。 D.C. al coda:最初に移動し、コーダまで再生してから、2番目のコーダマーキングにジャンプして、ピースの最後まで再生します。 ピースごとに各ストリングの最小値は常にゼロであり、最大値は1です。ピースに複数al fineのや複数al codaのが含まれることはありません。 出力 コードは同様の文字列形式で出力する必要があります。スペースで区切られたメモのリストです。 出力は最終的に1文字以上になると常に想定することができます。 テストケース イン:a# bb c b a アウト:a# bb c b a イン:a S b D.S. …
11 code-golf  music 

1
キーとモードからスケーリング
あなたのほとんどはおそらくCメジャースケールを知っています: C D E F G A B C 主音階は、隣接する音符の間隔によって特徴付けられ、半音単位で測定されます。 2 2 1 2 2 2 1 これらの間隔から、任意の音符(音階のキー)で始まる任意の主音階を作成できます。12トーンの平均律チューニングシステムの12音は次のとおりです。 C C♯ D D♯ E F F♯ G G♯ A A♯ B 同等に(いくつかの調和の同等物を置き換える): C D♭ D E♭ E F G♭ G Ab A B♭ B 隣接するノートの各ペアの間に半音があります。 各音階には、キーから始めて、7つの音符が順番に並んでいる必要があります。そうしないと、五芒星の同じ行に2つの音符が含まれる可能性があり、混乱を招きます。したがって、G#メジャー/イオニア語では、GではなくF ##になります。ミュージシャンは五芒星のどこが音符であるかを見るだけです。彼らはすでに各スケールの臨時記号を学びました。実際、G#メジャーでは、F ##は臨時記号なしでF ##の行で表されます。臨時記号は調号にありますが、その調号はFに2つの鋭角を必要とするため、通常、Abメジャーと表記されます。 2 2 …
10 code-golf  music 

6
音楽の内部の間隔のサイズを印刷する
バックグラウンド 洋楽では、すべての音符に名前が割り当てられています。各オクターブ内には、「CC#/ Db DD#/ Eb EFF#/ Gb GG#/ Ab AA#/ Bb B C」の順序で12の一意のノートがあり、最後のCは最初の1オクターブ上にあります。 異なるオクターブの音符の違いを伝えるために、数字(このチャレンジでは1桁に制限されています)が音名の最後に追加されます。したがって、C5はC4より1オクターブ高い音です。Bb6はB5の上にあります。 重要な事実は、B5とC6が隣り合っているノートであり、C0とB9が最低と最高のノートであることです。 2つの音符の間には、それらの間の半音の数である距離があります。Bb4はB4の1半音下にあり、それ自体がC5の1半音下にあります。1オクターブには12の半音があるため、Bb4はA#3から12の距離にあります。 チャレンジ あなたの課題は、STDINから音符のリストを取得し、間隔の変更のリストをSTDOUTに出力できる最短のプログラムを作成することです。 入力は、スペースで区切られた音符のリストです。各メモは、大文字のAG、オプションのbまたは#記号、および1桁の数字で構成されます。E#/ FbまたはB#/ Cbを処理する必要はありません。入力例: C4 D4 E4 F4 G4 A4 B4 C5 C4 出力は、連続する各ノート間の距離を表す整数のスペースで区切られたリストになります。常に前に+または-が付いて、ノートが前のノートと比較して昇順か降順かを示します。入力されたノートよりも常に1つ少ない数が出力されます。上記の入力の出力例: +2 +2 +1 +2 +2 +2 +1 -12 さらにいくつかの入力例: E5 D#5 E5 B4 E5 F#5 E5 B4 C0 B0 …

7
完璧な5分の1に近い
1-TETから始めて、完全な5分の1(ちょうど比率3/2)のより良い近似を持つ等しい気質を与えます。(OEISシーケンスA060528) OEISからコピーされたシーケンスの正式な説明: 最も近い音階のステップが2つの楽音のトーンの比率にますます近づく近似の平均律(オクターブの等分割)のリスト:完全な4th、4/3、およびその補数は完全な5th、3/2。 対称性により、完全な4分の1は問題ではないことに注意してください。 3がシーケンス内にあることを知っているとしましょう。3-TETの頻度は次のとおりです。 2^0, 2^⅓, 2^⅔ どこに2^⅔最も近い対数の近似が3/2。 シーケンスは4ですか?4-TETの頻度は次のとおりです。 2^0, 2^¼, 2^½, 2^¾ どこ2^½の最も近い近似値です3/2。これはに勝るもの2^⅔ではないので、4はシーケンスに含まれていません。 同様の方法で、5がシーケンス内にあることなどを確認します。 n入力として整数を指定する場合、出力は順序の最初のN個の数値でなければなりません。たとえば、の場合n = 7、出力は次のようになります。 1 2 3 5 7 12 29 xnorによるシーケンスの説明 無理数定数のlog2(3)≈1.5849625007211563…log2⁡(3)≈1.5849625007211563… \log_2(3) \approx 1.5849625007211563\dots有理分数の配列によって近似することができます。 21,32,53,85,117,1912,4629,…21,32,53,85,117,1912,4629,… \frac{2}{1}, \frac{3}{2}, \frac{5}{3}, \frac{8}{5}, \frac{11}{7}, \frac{19}{12}, \frac{46}{29}, \dots 分数は、絶対距離で新しい最も近いものである場合、シーケンスに含まれます∣∣pq−log2(3) ∣∣|pq−log2⁡(3) | \left| \frac{p}{q} - \log_2(3)\ \right|、つまり、分母が小さいか等しい他のどの分数よりも近い。 あなたの目標は、最初のnnn分母を順番に出力することです。これらはシーケンスA060528(表)です。分子(必須ではありません)は、A254351で指定されます(表) ルール: …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.