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

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

5
白い鍵盤上のピアノの和音
バックストーリー[これは真実ではありません] ピアノは次のように設定されています。 しかし、私のピアノでは、黒い鍵がすべて壊れています! それでも壊れたピアノでコードを弾きたいと思っています。 音楽では、コードは一緒に演奏されるノートのグループです。コードの入力を可能にするために、最初に半音とは何かを定義します。 半音とは何ですか? 半音は、西洋音楽で最も短い距離です。ピアノの上部を見ると、通常は黒鍵から白鍵に、またはその逆に移動できることがわかります。ただし、Band CとEandの間Fには黒いキーはありません。 コードとは? この課題の目的のために、コードを、特定の数の半音を間に挟んだ一連の音符と定義します。たとえば、4-3-3コードから始めてみましょうC(音楽の人にとって、これはFメジャーのV 7コードです)。から始めCます。私たちは4つの半音をカウントアップ:C#、D、D#、E。次のノートがありE、我々はその後3つの半音をカウントアップ:F、F#、G。次のノートがありG、我々はその後3つの半音をカウントアップ:G#、A、Bb。だから、私たちは得るC-E-G-Bb。わーい!しかし、待って... Bbは黒い鍵であり、それらは壊れています...しかし、から始めるとG、G-B-D-F!わーい! 入力 入力は、適切な形式の整数のリストとして提供されます。これは、上記のコードを表します。 出力 出力は、白いキーを使用するだけで開始できるメモのリストになります。キー名はすべて1文字であるため、これは最大7つのノートすべての文字列にすることもできます。空の出力も処理できる必要があります。 テストケース input -> output // comments 4 3 -> C F G // this is a major triad 3 4 -> D E A // this is a minor triad 4 3 3 -> …

7
最長の音楽部分文字列を見つける
音楽の文字列は、ピアノの鍵盤で演奏することができます任意の文字列です。 子供の頃にピアノを習得することを余儀なくされた私たちのために、キーボードは次のようになります。 つまり、文字列feed a dead cabbageはすべて1つの文字がこれらのnotの1つに対応するため、音楽的な文字列です。 あなたの課題は、文字列をSTDINから入力として受け取り、最も長い音楽の部分文字列を見つけるプログラムを作成することです。次に、プログラムは部分文字列とその長さを出力する必要があります。以下に入力/出力の例をいくつか示します。 入力:「FEED ME!お腹がすいている!」 出力:フィード4 入力:いいえ、いいえ、いいえ、ムシストリンなし! 出力:0 入力: "A **bad** !!!fAd82342" 出力:abadfad 7 入力:「ゴルフが上手です!」 出力:dg 2 ルール 出力は大文字でも小文字でもかまいませんが、句読点やスペースがあってはなりません。 入力文字列には大文字と句読点がありますが、これは部分文字列が「音楽的」と見なされるかどうかに影響しません。 音楽の部分文字列と数字の間にスペースが必要です。

3
音楽:この和音の名前は?
これは音楽の逆です:この和音には何がありますか?、指定された和音で音符を印刷します。今回の入力はコード内のノートのリストであり、あなたの仕事はそれがどのコードであるかを出力することです。 プログラムは、次の3和音をサポートする必要があります。例はルートCで示されています。他のルートを持つコードはすべてのノートが回転した同じコードなので、Cはそのルートノートになります。たとえば、DmajはD、F#、Aで構成されます。 C C#D D#E F F#G G#A A#B Db Eb Gb Ab Bb Cmaj C E G Cm C D# G Caug C E G# Cdim C D# F# Csus4 C F G Csus2 C D G CaugはEaugおよびG#augと同じであり、Csus4はFsus2と同じであることに注意してください。どちらでも出力できますが、すべて出力するとおまけがあります。 ボーナスの7番目のコードは次の表のとおりです。 C C#D D#E F F#G G#A A#B Db Eb Gb …

1
タブ譜に関する注記
チャレンジ リストにメモを指定すると、対応するタブ譜を返す必要があります。 ノート 音符はAからGまでの範囲で、オクターブの範囲は2から6までの範囲でなければなりません。形式は#シャープでbフラットを表すノートオクターブです。例:A7またはF#3。 タブ タブラチュアは、楽器を図で表すことにより、音楽を書く方法です。通常は、番号が付いた5本の線で表されます。 線に書かれている数字は、希望のピッチを得るために使用されるフレットを表しています。たとえば、譜表の一番上の行に書かれている数字3は、プレーヤーが高E(最初の弦)の3番目のフレットを押し下げる必要があることを示しています。数字の0はナット、つまり開いた弦を示します。 フレット数は22以下で、ギターは6弦です。 タブ譜は標準のASCII形式である必要があります。テクニックインジケーター(ハンマーオン、スライドなど)は含めないでください。各ノートを5つのダッシュで区切ります。2桁の場合は、ダッシュの数を4に減らします。 タブの最初は次のようになります。 e |----- B |----- G |----- D |----- A |----- E |----- そして最後は次のようになります: -----| すべての行。 (ソース:justinguitar.com) 例 Input: C3 C3 D3 E3 F3 Output: e |-----------------------------------| B |-----------------------------------| G |-----------------------------------| D |-----------------0-----2-----3-----| A |-----3-----3-----------------------| E |-----------------------------------| 勝利 最短のコードが勝ちます

4
文字列のチューニング
仕事 所定の周波数にチューニングされ、所定のポイントで押し下げられたストリングの、チューニングのずれたセント数とともに、発音されたノートを決定するプログラムを記述します。 簡単にするために、生成される音の周波数と、押された場所の右側の弦の長さが反比例していると仮定します。 注:このタスクでは、基音のみを扱い、倍音やその他の倍音は扱いません。 入力 プログラムには2つのデータが渡されます。 問題の文字列を表す、任意の長さの文字列。このストリングは、ストリングが押されるべきXでマークされます。 [-----] is a string divided in six sections (five divisions). [--X--] is a string pressed at the exact center of the string. [X----] is a string pressed at 1/6 the length of the string. (Length used is 5/6) [-X--] is a string pressed …

2
RTTTL曲を再生する
ユーザーquartataがこのチャレンジを投稿しましたが、何らかの理由で自分のコンピューターでMIDIファイルを再生できないという事実を無視しました。 標準入力からRTTTL形式の曲を読み取り、曲名を標準出力に出力して(適切な速度とピッチで)再生する完全なプログラムを作成して、彼を助けましょう。 フォーマットの詳細 RTTTLは、かなり馬鹿げたもので、仕様が不十分な着信音フォーマットです。これは、名前、いくつかのデフォルト値、および単純なテキスト形式の一連のメモ(一度に1つのメモのみ)で構成されます。 例: fifth: d=4,o=5,b=63: 8P, 8G5, 8G5, 8G5, 2D#5 名前は、コロンで終了する文字列です。ここでの名前は「第五」です。プログラムは、15文字以上の名前を受け入れる必要があります。 次に、デフォルトセクション(コロンで終了)には、曲のデュレーション(d)、オクターブ(o)、および毎分ビート(b)のデフォルト値がいくつかリストされています。これらはカンマで区切られ、「key = value」構文を使用します。各「key = value」部分の周囲には、スペースをいくつでも含めることができます。デフォルト値d、o、bがこの順序ですべて存在すると想定できます。デュレーションとオクターブについては後で説明します。bpmは、1分間に再生する必要があるビートの数(4分音符に対応)を指し、20〜900の整数値(両端を含む)をサポートする必要があります。 次に、実際の曲は「DPO」構文を使用してコンマ区切りの一連のノートとしてリストされます。ここで、Dはデュレーション、Pはピッチ(ノート)、Oはオクターブです。各「DPO」パーツの周りには、スペースと改行がいくつあってもかまいません。 デュレーションは1から32までの2の累乗であり、これはノート全体の一部を表します。したがって、たとえば値4(4分音符)は値8(8分音符)の2倍になります。期間が欠落している可能性があります。その場合、デフォルトの期間が使用されます。持続時間は、ドット(.)の存在によっても変更できます。具体的には、ドットによってノートの持続時間が50%長くなります。ドットの位置について全員が同意するわけではないため、ピッチの後またはオクターブの後にドットを受け入れる必要があります(つまり、「DP.O」と「DPO。」の両方が機能するはずです)。 ピッチはA、B、C、D、E、F、G、A#、C#、D#、F#、G#、Pのいずれかです。AG#は標準の音符です(ノート:フラットなし、対応する鋭いノートを使用) Pは一時停止です。ピッチは必要なノートの唯一の部分であり、大文字と小文字は区別されません。 最後に、オクターブは通常4〜8の数値ですが、1〜8の任意の数値をサポートする必要があります。たとえば、C4は標準の中央のCで、周波数は約261.63Hzです。オクターブが欠落している可能性があります。その場合、デフォルトのオクターブが使用されます。一時停止にはオクターブが指定されていないと想定できます(意味がないため)。 他の課題で述べたように、このサイトを使用して、テストのためにRTTTL曲をMIDI形式に変換できます(ただし、まったく同じ仕様に準拠していない場合があります)。 要件: プログラムは、各ノートを適切な速度とピッチで再生する必要があります。可聴でピッチが認識できる限り、あらゆる種類の音(正弦波、三角波、方形波、ピアノ音、ベル音など、標準的なビープ音、波音、MIDI音など)を使用できます。 各ノートには、それよりも短い64分音符を超えない指定の期間連続して再生されない、またはしなければならないあなたのような何か使用している場合を除き、ADSRエンベロープのリリースフェーズは、次のポーズを介して、または次のノートの上に続けることができ、その場合には、 。 2つの連続する音符のピッチが同じである場合、短い休憩(最初の音符の継続時間の一部として64分音符の長さを使用しない)または不均一な音(このような音)を使用して、それらを明確に区別する必要があります。上記のADSRエンベロープとして)、または少なくとも十分変化している場合はフェーズ変更を介して。2つの連続した一時停止は、全体の継続時間を伴う単一の一時停止と同じように処理する必要があります。 プログラムは、無料で入手できるソフトウェアを使用して、Linuxで実行できる必要があります。標準入力から曲を読み取り、曲名を標準出力に出力します。 入力が上記の仕様と一致しない場合の動作は規定されていません。プログラムはエラーを無視したり、メッセージを出力したり、何かを再生したり、ハングしたり、クラッシュしたりする可能性があります。 標準の抜け穴は許可されていません。 得点 コードゴルフ、最短プログラム(UTF-8バイトで測定)が優勝します。

6
ハーモニカの演奏を手伝って
昨日、私はハーモニカを買いました: 図1:ハーモニカ。 しかし、人々を感動させ、大人になった男性を泣かせてしまうソウルフルブルースハーモニカを演奏できるという私の夢は、次の2つの問題にすぐに打ちのめされました。 ハーモニカは特定のノートのみを再生できます。 私はハーモニカを弾くのがうんざりです。 ハーモニカのスキルが不足しているにもかかわらず、私が演奏できる曲はまだいくつかあります。しかし、ハーモニカでいくつかの曲を演奏できるかどうかはすぐにはわかりません。音楽の音符を考慮して、ハーモニカで演奏できるかどうかを判断するプログラムを作成します。 上の写真が示すように、私のハーモニカには10個の穴があります。それぞれの穴で、息を吸い込んだり吸い込んだりすることができます-私が選択した穴と、それに吸い込むか吐き出すかによって、結果の音のピッチが変わります。吐き出すときと吸い込むときのピッチは穴ごとに異なりますが、同じ音符になる組み合わせもあります。全体として、私のハーモニカは19の異なるピッチを演奏できます。ピッチは音楽の科学表記法で表示されます。文字は音符を表し、数字はそのオクターブを表します。 Hole Breathing Note 1 Exhale C4 1 Inhale D4 2 Exhale E4 2 Inhale G4 3 Exhale G4 3 Inhale B4 4 Exhale C5 4 Inhale D5 5 Exhale E5 5 Inhale F5 6 Exhale G5 6 Inhale A5 7 Exhale C6 7 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.