[過去ログ] Pythonのお勉強 Part67 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
426: 408 (ワッチョイ 4590-4TU2) [] 2022/07/22(金) 10:03:16.79 ID:PdYjn4LX0(1/3) AAS
>>413
413(3): デフォルトの名無しさん (ワッチョイ 9501-eadZ) [sage] 2022/07/21(木) 18:06:14.66 ID:+gLdidlo0(1/2) AAS
>>408
取り敢えず、音符が音になる、
というシンプルなのを書いてみました。音しか鳴りません。
これを広げるイメージで合ってますか?

#Beep音のライブラリをインポート
from winsound import Beep
#「Beep (Hz, 長さ)」を呼び出して、音が鳴るように
#ドレミファソラシの各音階を辞書に格納。ドは523Hz、など。
table = {'ド': 523, 'レ': 587, 'ミ': 659, 'フ': 698, 'ァ': 784, 'ソ': 880, 'ラ': 988}
#チャルメラの音符を格納
charamela = "ドレミレド" *2
#チャルメラを一文字づつ
for note in charamela:
#Beep演奏する
Beep (table[note], 400)
midiデータは(楽譜も)
縦の音階・横の時間軸の2種類の要素を格納したデータみたいなものですね
(本当はベロシティとか色々あるけど自分の用途の場合は省略)

ドレミに置き換えるというよりは88鍵のうちの何番目、という感じです
調号で場所がずれてくので、そこも考慮しないといけないですが

時間軸はデータ側で実際の秒数を決めるのではなく、いくつかの定数(音符の長さ、拍子)を設定して、BPMを掛け算する形なのかな

音符や休符の形を読み取ってなんの種類か(どれだけの拍子か)を探すわけですけど、音符の旗がくっついてるものがあるんですよね
あと音符に小さな点をがついてるものは1.5倍の長さになったり
ここらへんをうまく読み取れないといけないので難しそうです
一つでも間違えるとその後すべてがズレて酷いことになります
431: 408 (ワッチョイ 4590-fLWz) [sage] 2022/07/22(金) 11:29:22.66 ID:PdYjn4LX0(2/3) AAS
>>430
430(1): デフォルトの名無しさん (アウウィフ FF39-qysg) [] 2022/07/22(金) 10:46:05.18 ID:emgmw9ddF(3/4) AAS
>>408
君が読むべき本は第一にこっち
ISBN 新 9784276100008
ISBN 旧 4276100003
これじゃないけど持ってますよ

タイやスラーの違いを画像で検出するのは面倒そうなので諦めてますね
タイの場合、結局読み取る音符の長さは同じなので後で修正できる範囲です
(音が鳴り続けているか、一瞬音が途切れるかの違いです)

反復記号も後でコピペなりすればいいので
midiツール上での編集はそこまで苦じゃないんですよ
435: 408 (ワッチョイ 4590-fLWz) [sage] 2022/07/22(金) 13:34:34.50 ID:PdYjn4LX0(3/3) AAS
>>434
434(1): デフォルトの名無しさん (ワッチョイ 4597-TMGX) [] 2022/07/22(金) 13:00:32.17 ID:cgVSu2xF0(1) AAS
楽譜は記号片として認識した後記号処理上の面倒さが多少あるってだけで、技術的には難しい部類じゃないと思うけどな

もちろん自分で作れるほど簡単とかそういうことを言っているわけじゃないが、アプリとしては普通に売られているレベルで成熟しているように思う

タイとスラーだって間違えるケースはごく僅かだと思うな

外部リンク:www.playscore.co
タイやスラーの違い、というよりは「タイやスラーそのものを検出するのが面倒そう」と言うほうが正確かもしれません
五線上に紛れてたりするので
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.034s