MyGo 云音乐
Go와 MyGo로 만든 서드파티 네이버 클라우드 뮤직 데스크톱 클라이언트
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기MMLを中間言語に用いたピアノロール打ち込みモジュール
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
MML を中間言語に用いた、モバイルファーストな DAW / ピアノロール打ち込みコンポーネント。 楽器・ドラムに加え、UTAU 音源(@onjmin/koe)による歌声合成にも対応しています。 31 平均律への対応でノートのピッチの単位が変わりました。1.x からの更新には修正が必要です。 Note.pitch(半音)が Note.pitchUnits(1/372 オクターブの整数)になりました。NoteData / NoteRemove / PlayNoteEvent / MMLNotePlacement / ChordPlacement も同様です。 372 = 12 × 31 なので、両方の音律が誤差ゼロで同じ整数の数直線に乗ります。変換ヘルパを公開しています。 unitsToMidiDetune は SoundFont のように整数 MIDI ノートのゾーンしか持たない音源向けで、最寄りのゾーンを鳴らして残差を detune(セント)で補正します。 PlayDrumEvent.pitch と DRUM_KEYS は変更していません。 GM 打楽器のキー番号なので、units へ変換すると全ドラムが壊れます。README 전문 보기 ↗
MML を中間言語に用いた、モバイルファーストな DAW / ピアノロール打ち込みコンポーネント。 楽器・ドラムに加え、UTAU 音源(@onjmin/koe)による歌声合成にも対応しています。
npm i @onjmin/dtm
createDtmStudio は SoundFont(実行時に CDN から読む)・歌声合成(同梱の dist/voice-worker.js)・録音を内包した一番簡単な入口です。
import { createDtmStudio } from "@onjmin/dtm";
const studio = await createDtmStudio();
// 編集 UI(ピアノロール・音・歌声込み)
const daw = studio.mountEditor(document.getElementById("editor"), {
initialMML: "@0 t120 o5 l8 ccggaag4 ffeeddc4",
});
// 再生専用 UI
studio.mountPlayer(document.getElementById("player"), daw.getMML().full);
// コード進行プレイヤー UI
studio.mountChordPlayer(document.getElementById("chord-player"), "| C | G | Am | F |");
オプションと戻り値の詳細は型定義(JSDoc)と API リファレンスにあります。
| API | 説明 |
|---|---|
createDtmStudio(options) | 全部入りの入口。mountEditor / mountPlayer / mountChordPlayer / playSingingMML / speak / setMasterVolume(聴く人の音量)/ getAudioStreamTrack(録画用)を持つ |
mountDAW(target, options) | 音を持たない編集 UI。onPlayNote / onPlayDrum に自前のシンセを繋ぐ低レベル版 |
mountMmlPlayer(target, mml, options) | 再生専用 UI(トークンのハイライト・歌声・#audio= の同時再生) |
mountChordPlayer(target, chords, options) | コード進行の再生 UI |
playMML(mml, options) | 画面なし再生(ゲーム BGM 向け)。ループ範囲・キュー(onCue)に対応 |
playSingingMML(mml, options) | 歌声トラック入り MML の画面なし再生 |
playChords(chords, options) | コード進行の画面なし再生(patternType で弾き方を選ぶ) |
playNote(options) | 単音の発音(SE・音高確認) |
TRACKS_SIMPLE / TRACKS_ADVANCED | 4 トラックの初心者モード/15 トラックの上級者モードの構成(mode と組で渡す) |
startTour(options) | ガイドツアー(スポットライト型の案内)。DAW と独立して使える |
createSingingVoices(...) | 歌声合成エンジン(低レベル API で singingVoices に渡す) |
createBackingAudio(...) | オーディオ同時再生(低レベル API で backingAudio に渡す) |
parseUst / buildUst | UST(UTAU)の読み込み・書き出し |
exportMIDI / parseMusicXML / exportMusicXML | MIDI・MusicXML の入出力 |
pitchV1ToUnits / unitsToHz / units など | ピッチ単位の変換(下記) |
ノートのピッチ pitchUnits は 1/372 オクターブの整数(ブランド型 Units)です。12 平均律の 1 半音 = 31 units、31 平均律の 1 度 = 12 units、A4 = 2139 units。
MIDI ノート番号(MidiNote)とは型で区別され、変換は pitchV1ToUnits / unitsToPitchV1 / unitsToMidiDetune、素の数値からは units() / midiNote() を使います。
ドラム(PlayDrumEvent.pitch・DRUM_KEYS)は GM 打楽器のキー番号のままです。
1.x からの移行: Note.pitch → Note.pitchUnits、init(...) → createRenderer(...)、new MMLCore は第 3 引数 getConfig が必須、transposeNotes は格子ステップ単位。
#名前=値)| 宣言 | 意味 |
|---|---|
#inst= / #t<n>inst= | 曲全体の楽器プリセット(INSTRUMENT_PRESETS)/トラック n の GM 楽器 |
#t<n>font= | トラック n の音源バンク: FluidR3(既定)・GeneralUserGS・Aspirin・SoundBlasterOld・JCLive・Chaos・SBLive |
#reverb= / #reverbdecay= / #reverbpredelay= | マスタリバーブの量(0-100)/長さ(3-40、×0.1 秒)/遅れ(0-150 ms) |
#delay= / #delaydiv= | テンポ同期ディレイの量(0-100)/音価(4 8 8d 16) |
#t<n>rev= / #t<n>dly= | トラック n からリバーブ/ディレイへの送り(戻りが 0 だと鳴らない) |
#drum= | ドラムパターン名。none と省略はドラム無し |
#edo=31 | 31 平均律(省略時 12 平均律) |
#audio= / #audiostart= / #audioend= | 同時に鳴らす音源の URL(mp3 / wav / YouTube)と使う範囲(秒) |
#audiooffset= / #audiovol= | 開始のずれ(秒。正=音源が先)/音源の音量(0-100、既定 80) |
曲に書かれていない宣言は、読み込み・再生のたびに既定値へ戻ります。
#inst=retro_game #reverb=30 #delay=15 #delaydiv=8d #t0font=GeneralUserGS #t0rev=40 #drum=none;
@0 t140 o5 l8 cdeg a4g4;
| 記号 | 31 平均律 | 12 平均律 |
|---|---|---|
# / - | ±2 度(クロマチック半音) | ±1 半音 |
+ / _ | ±1 度(微分音) | ±1 半音 |
幹音は c=0 d=5 e=10 f=13 g=18 a=23 b=28 度。記号は累積します(c## は +4 度)。
@@n)@@<トラックID> <モデル> [v<声量>] [q<ゲート>] [p<定位>] [o<オクターブ>] <かな歌詞>
@0 t120 v100 o4g8 g8 e8 e8 f8 e8 d8 c8 g8 g8 e8 e8 d4.;
@@0 tsukuyomi どんぐりころころどんぐりこ;
モデルは klatt(内蔵合成)と UTAU 音源 tsukuyomi / rino / roze / uc / ruko_male / ruko_female / teto / shiyo / rei / mgroid / motroid / nynroid。
歌詞は 1 文字(拗音は 2 文字)=ノート 1 つで対応します。
| 記号 | 意味 |
|---|---|
ー / 〜 | 継続(言い直さずにピッチだけ変える/ポルタメント) |
っ | 促音(ノートを消費して無音の閉鎖) |
_ | 休符(ノートを消費して歌わない) |
、 | ブレス(ノートを消費しない) |
「…」 | 語り。中身を話し声で読み上げ、ノートを 1 つ消費(UTAU 音源のみ) |
UST(UTAU)ファイルは「MIDI / UST / MML 入力」から音符と歌詞をまとめて読み込め、選択中のトラックを UST で書き出せます。