- Start App launcher - https://surikov.github.io/rockdice/main.html
- Source - https://github.com/surikov/rockdice
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΡΠ·ΡΠΊΠΈ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ.
- ΠΡΠΊΡΡΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ - https://surikov.github.io/rockdice/main.html
- ΠΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ - https://github.com/surikov/rockdice
- ΠΠ½Π΄ΡΠΎΠΈΠ΄Π½Π°Ρ Π²Π΅ΡΡΠΈΡ - https://play.google.com/store/apps/details?id=rockdice.chord.progression
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Web Audio API, TypeScript, Android WebView, ΡΠ°Π±Π»ΠΈΡΠ½ΠΎ-Π²ΠΎΠ»Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΠ½ΡΠ΅Π· ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½Π°Ρ ΡΠ΅ΠΎΡΠΈΡ ΠΌΡΠ·ΡΠΊΠΈ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅:
Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π°ΠΉΠ΄Π΅ΡΠΎΠΌ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΡ. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π°ΠΊΠΊΠΎΡΠ΄ΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Π»ΠΎΠ΄ΠΈΠΈ (ΡΠ»Π΅Π²Π° ΠΌΠΈΠ½ΠΎΡΠ½ΡΠ΅, ΡΠΏΡΠ°Π²Π° ΠΌΠ°ΠΆΠΎΡΠ½ΡΠ΅, ΠΏΠΎΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ Π΄ΠΆΠ°Π·ΠΎΠ²ΡΠ΅ ΡΠ΅ΠΏΡΠ°ΠΊΠΊΠΎΡΠ΄Ρ). ΠΡΡΠ³Π»ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΈΡΡΡ Π΄Π»Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ 4-Ρ ΡΠ»ΠΎΡΠ² ΠΌΠ΅Π»ΠΎΠ΄ΠΈΠΈ
- Drums - Π·Π°Π΄Π°Π΅Ρ ΡΠΈΡΠΌ
- Bass - Π³Π°ΡΠΌΠΎΠ½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠ½ΠΎΠ²Π° ΠΈ ΡΠΈΡΠΌ
- Lead - ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ΅Π»ΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΈΡΡΠ½ΠΎΠΊ
- Pad - ΠΊΠΎΠ½ΡΡΠ°ΠΏΡΠ½ΠΊΡ, ΠΏΡΠΎΡΡΠΆΠ½ΡΠ΅ Π½ΠΎΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π°ΠΊΠΊΠΎΡΠ΄Π°
ΠΠΎ Π³ΠΎΠ»ΡΠ±ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Ρ ΠΈΠ³ΡΠ°Π»ΡΠ½ΡΠΌ ΠΊΡΠ±ΠΈΠΊΠΎΠΌ Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ ΡΠ°Π½Π΄ΠΎΠΌΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π»Π°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»ΡΡΠΈΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½ΡΠ΅ Π°ΠΊΠΊΠΎΡΠ΄Ρ. ΠΡΠ»ΠΈ ΠΏΠΎΠΊΡΡΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ ΠΈ ΠΏΡΠΎΡΠ»ΡΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅Π»ΠΎΠ΄ΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ ΡΡΠΎ ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΌ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Π°ΠΊΠΊΠΎΡΠ΄ΠΎΠ² ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π·Π²ΡΡΠ°Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ "ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠ΅".
ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π°Π²ΡΠΎΠ³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π°ΡΠ°Π½ΠΆΠΈΡΠΎΠ²ΠΎΠΊ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π΅ΡΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΡΠΈΠ½ΡΠ΅Π·Π°ΡΠΎΡΠ°Ρ . ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π° Cassio MT-100 ΠΈΠ· 80-Ρ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ Π²Π΅ΠΊΠ°:
https://www.youtube.com/watch?v=Aepm6V4yvhw
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Captain Plugins Epic, ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Π°ΠΌ:
https://www.youtube.com/watch?v=ZuB_t1DBwp8
Web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ BandLab SongStarter, Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ, ΠΏΡΠΎΡΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΌΠ΅Π»ΠΎΠ΄ΠΈΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΡΠΈΠ»Π΅:
https://www.youtube.com/watch?v=EDRPy8KtY0c
ΠΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Ρ ΡΠ΅ΡΡΠ΅ΡΡΠ½ΠΊΠΎΠΉ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅ΠΊ. ΠΠΎΠΆΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΡΠΎΠΌΠΊΠΎΡΡΡ ΠΏΠΎ ΡΠ»ΠΎΡΠΌ, ΡΠΊΠΎΡΠΎΡΡΡ, ΠΌΠ΅Π½ΡΡΡ Π°ΠΊΠΊΠΎΡΠ΄Ρ, ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ:
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΈΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°:
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π°ΠΊΠΊΠΎΡΠ΄ΠΎΠ²ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ:
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΡΠ»ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² ΠΏΡΠ΅Π΄ΠΈΠ΄ΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΡΠΎ ΡΠΈΠΏΠΎΠ²ΠΎΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π»ΡΠ±ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Ρ ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ Undo (ΡΠΏΡΠ°Π²Π° Π²Π²Π΅ΡΡ Ρ) ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ Ρ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΏΠΎΠ΄Π±ΠΎΡΠ° ΠΌΠ΅Π»ΠΎΠ΄ΠΈΠΉ:
ΠΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠ΅ ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, RockDice ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΌΠ΅Π»ΠΎΠ΄ΠΈΡ Π² MIDI-ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Wav-ΡΠ°ΠΉΠ» (ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ). ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ . ΠΡΠΈΠΌΠ΅Ρ ΡΡΠ΅ΠΊΠΎΠ² ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² BandLab MixEditor (Π»ΡΠ±ΠΎΠΉ ΡΡΠ΅ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΠΊΠ½ΡΡΡ ΠΈ ΠΎΡΠΊΡΡΡΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅):
https://www.bandlab.com/sss1024/tracks
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΌΠ΅Π»ΠΎΠ΄ΠΈΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΡΠ½ΠΎ Π² ΡΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΊΠ°ΠΊ Π΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΠ» Π°Π²ΡΠΎΡ.
ΠΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ Share ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΎΡΠΌΠΎΡΡΠ°. Π Π½ΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΎΡΠ»Π°ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΌΠ΅Π»ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· e-mail, ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅Ρ ΠΈΠ»ΠΈ ΡΠΎΡ. ΡΠ΅ΡΠΈ:
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠΎΡ. ΡΠ΅ΡΠ΅ΠΉ ΡΡΡΠ»ΠΊΠ° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡΡΡ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²:
ΠΠ»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π·Π²ΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° WebAudioFont:
https://github.com/surikov/webaudiofont
Π Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π±ΠΎΠ»Π΅Π΅ 2000 ΠΎΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π²ΡΠΊΠ°:
- 10-ΠΏΠΎΠ»ΠΎΡΠ½ΡΠΉ ΡΠΊΠ²Π°Π»Π°ΠΉΠ·Π΅Ρ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΠΌΠ±ΡΠ°
- ΡΡ ΠΎ Π΄Π»Ρ ΠΎΠ±ΡΡΠΌΠ½ΠΎΠ³ΠΎ Π·Π²ΡΡΠ°Π½ΠΈΡ
- Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΎΡ Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ Π³ΠΎΠ»ΠΎΡΠΎΠ²
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ:
https://surikov.github.io/webaudiofont/npm/src/docs/index.html
ΠΠ»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ (ΠΈΠ»ΠΈ Π²Π²Π΅Π΄ΡΠ½Π½ΡΡ Π²ΡΡΡΠ½ΡΡ) Π°ΠΊΠΊΠΎΡΠ΄ΠΎΠ² Π² ΡΡΠ½ΠΊΡΠΈΠΈ extractMode Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΡΠΎΠ½ΠΈΠΊΠ° ΠΈ Π»Π°Π΄, ΡΠΌ.
https://github.com/surikov/rockdice/blob/main/ts/code/zvoogharmonizer.ts#L1156
ΠΠ»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΡΠ·ΡΠΊΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΎΠΊΠΎΠ»ΠΎ Π΄Π²ΡΡ ΡΠΎΡ ΡΠΈΡΡΠΎΠ² Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅
https://github.com/surikov/rockdice/tree/main/patterns
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΠΊΡΠΎΠΌΠ΅ Π½ΠΎΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π»Π°Π΄Π° ΠΈ ΡΠΎΠ½ΠΈΠΊΠΈ.
ΠΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΡΠΈΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ morphSchedule ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΡΡΡΡΡ Π² ΡΠΎΠ½ΠΈΠΊΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ Π°ΠΊΠΊΠΎΡΠ΄ΠΎΠ² ΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΡΠΈΡ Π² Π»Π°Π΄ Π°ΠΊΠΊΠΎΡΠ΄ΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠΈ, ΡΠΌ.
https://github.com/surikov/rockdice/blob/main/ts/code/zvoogharmonizer.ts#L377
- Π’ΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Π»ΠΎΠ΄ΠΈΠΈ ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ Π²ΡΠ΅Ρ Π½ΠΎΡ Π½Π° ΡΠ°Π²Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΡΠΎΠ½ΠΎΠ². ΠΠΎ-ΠΏΡΠΎΡΡΠΎΠΌΡ - ΡΠ΄Π΅Π»Π°ΡΡ Π·Π²ΡΠΊ Π²ΡΡΠ΅ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅.
- ΠΠΎΠ΄ΡΠ»ΡΡΠΈΡ ΠΌΠ΅Π»ΠΎΠ΄ΠΈΠΈ ΡΡΠΎ ΡΠ΄Π²ΠΈΠ³ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΡΠΏΠ΅Π½Π΅ΠΉ Π»Π°Π΄Π°. ΠΠΎ-ΠΏΡΠΎΡΡΠΎΠΌΡ - ΠΈΠ· ΠΌΠΈΠ½ΠΎΡΠ° Π² ΠΌΠ°ΠΆΠΎΡ ΠΈ Ρ.ΠΏ.
ΠΡΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΠ· ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ . ΠΠ°ΡΠΈΠΌΠ΅Ρ:
- ΠΏΡΠΈ ΠΈΠ³ΡΠ΅ Π½Π° Π³ΠΈΡΠ°ΡΠ΅ Ρ Π΄ΠΈΡΡΠΎΡΡΠ½ΠΎΠΌ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΊΠ°ΠΊ ΠΈΠ³ΡΡ Π½Π° ΠΎΡΠΊΡΡΡΡΡ ΡΡΡΡΠ½Π°Ρ , ΡΠ°ΠΊ ΠΈ ΠΈΠ³ΡΡ Π½Π° ΠΏΡΠΈΠΆΠ°ΡΡΡ ΡΡΡΡΠ½Π°Ρ (Palm Mute). Π’.Π΅. ΠΈΠ½ΡΡΡΡΠ΅ΠΌΠ΅Π½Ρ ΠΎΠ΄ΠΈΠ½, Π½ΠΎ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΠΎΠ³ΠΎ Π·Π²ΡΡΠ°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π½Π°Π±ΠΎΡΠ° ΡΡΠΌΠΏΠ»ΠΎΠ² Π΄Π»Ρ ΠΎΡΠΊΡΡΡΡΡ ΠΈ ΠΏΡΠΈΠ³Π»ΡΡΠ΅Π½Π½ΡΡ ΡΡΡΡΠ½
- Π½Π° Π°ΠΊΠΊΡΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³ΠΈΡΠ°ΡΠ΅ ΡΠ΄Π°ΡΡ ΠΏΠΎ ΡΡΡΡΠ½Π°ΠΌ Π²Π½ΠΈΠ· ΠΈ Π²Π²Π΅ΡΡ ΠΎΡΡΡΠΈΠΌΠΎ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ, ΡΠΌ. ΠΏΡΠΈΠΌΠ΅Ρ
- Π½Π°Π±ΠΎΡΡ Π½ΠΎΡ ΠΏΠΎΡ ΠΎΠΆΠΈΡ Π°ΠΊΠΊΠΎΡΠ΄ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ G ΠΈ Gm) ΠΌΠΎΠ³ΡΡ Π·Π°ΠΆΠΈΠΌΠ°ΡΡΡΡ Π½Π° ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π½ΡΡ Π»Π°Π΄Π°Ρ , ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΡΠΈΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ²
- ΠΈ Ρ.ΠΏ.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π²ΡΡΠ°Π½ΠΈΠ΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΌΡΠ·ΡΠΊΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΌ.
ΠΡΠ±ΡΠ°Π½Π½ΡΠ΅ Π°ΠΊΠΊΠΎΡΠ΄Ρ, ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² localStorage Π±ΡΠ°ΠΉΠ·Π΅ΡΠ°, ΡΠΌ. readObjectFromlocalStorage. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΈ Π½ΠΎΠ²ΠΎΠΌ ΠΎΡΠΊΡΡΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠΎΠΌ ΠΆΠ΅ Π²ΠΈΠ΄Π΅ ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΡΡΠ»ΠΊΠΈ Π΄Π»Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΡΡΡΡΡ Π² Π΄Π»ΠΈΠ½Π½ΡΠΉ-ΠΏΡΠ΅Π΄Π»ΠΈΠ½Π½ΡΠΉ URL, ΠΏΡΠΈΠΌΠ΅Ρ
ΠΡΠ±Π»ΠΈΠΊΡΠ΅ΠΌΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌ Open Graph ΠΈ Twitter Cards.
ΠΡΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π±ΠΎΠ»ΡΠ½ΡΠΈΠ½ΡΡΠ²ΠΎΠΌ Π΄Π²ΠΈΠΆΠΊΠΎΠ² ΡΠΎΡ. ΡΠ΅ΡΠ΅ΠΉ. ΠΠΎ ΡΡΡΠΈ ΡΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ ΡΡΡΠ°Π½ΠΈΡΡ Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Π΅Π΄ΡΡ ΡΡΡΠ»ΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΏΡΠ΅Π΄ΠΏΡΠΎΡΠΌΠΎΡΡΠ°.
ΠΠ°ΡΡΠΈΠ½ΠΊΠ° ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ° Π΄Π»Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎΡΠΌΠΈΡΡΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±ΡΡΠ½ΡΠΌ php-ΡΠΊΡΠΈΠΏΡΠΎΠΌ, ΡΠΌ.
https://github.com/surikov/rockdice/blob/main/server/share.php
Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π² ΡΠ΅Π³Π°Ρ
<meta name="twitter:card" content="summary" />
<meta property="og:title" content="<?php echo $line; ?>" />
<meta property="og:url" content="https://mzxbox.ru/RockDice/share.php?seed=<?php echo $encoded; ?>" />
<meta property="og:image" content="https://mzxbox.ru/RockDice/picture.php?drums=<?php echo $drums; ?>&prog=<?php echo urlencode($line); ?>&bass=<?php echo $bass; ?>&lead=<?php echo $lead; ?>&pad=<?php echo $pad; ?>" />
Π‘ΠΊΡΠΈΠΏΡΡ Π²ΡΠ»ΠΎΠΆΠ΅Π½Ρ Π½Π° ΠΎΠ±ΡΡΠ½ΡΠΉ Ρ ΠΎΡΡΠΈΠ½Π³ ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 200Ρ Π² ΠΌΠ΅ΡΡΡ.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ WebView
https://developer.android.com/reference/android/webkit/WebView
ΠΠΎ ΡΡΡΠΈ ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠΉ Chrome Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² Activity. ΠΠ΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠΊΡΡΠ²Π°ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΈΠ· ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΈ ΠΎΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ.
ΠΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π²Π΅Π±-Π²Π΅ΡΡΠΈΠΈ. ΠΠΎΡ ΡΠΊΠΎΠΌΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π½Π° Π΄Π°Π²Π½ΠΎ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ»ΠΎΡΡ):
https://play.google.com/store/apps/details?id=rockdice.chord.progression
ΠΠ»Ρ WebView Π΅ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠ΅Π»ΠΎΠ΄ΠΈΠΉ Π² MIDI- ΠΈ Wav-ΡΠ°ΠΉΠ»Ρ. Π Π±ΠΎΠ»ΡΡΠΎΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ blob Ρ Π΄Π²ΠΎΠΈΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ MIME-ΡΠΈΠΏΠΎΠΌ ΠΈ ΠΎΡΠΊΡΡΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° Π½Π΅Π³ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
let blob: Blob = new Blob([dataview], { type: 'audio/wav' });
let ourl = URL.createObjectURL(blob);
let a = document.createElement("a");
document.body.appendChild(a);
a.href = ourl;
a.download = 'rockdice';
a.click();
ΠΡΠ°ΡΠ·Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΡΠΈΠΏ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΎΠ±ΡΡΠ½ΡΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΠ»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ WebView ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Android, Π²ΡΡΡΠΎΠΈΡΡ Π΅Ρ Π² JavaScript ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· addJavascriptInterface ΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½Π΅ΠΉ ΠΈΠ· Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ.
Π’Π°ΠΊ ΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎΠ± ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΌΠ΅Π»ΠΎΠ΄ΠΈΠΈ ΠΎΡΠΊΡΡΠ²Π°Π»ΠΈΡΡ Π½Π΅ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, Π° Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² AndroidManifest.xml ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΈΠ»ΡΡΡ:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="surikov.github.io"
android:pathPrefix="/rockdice/main.html"
android:scheme="https"
/>
</intent-filter>
ΠΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΠΈ Π±Π΅Π· ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Ρ.ΠΊ. Chrome Π² ΡΠ΅Π»Π΅ΡΠΎΠ½Π°Ρ Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Chrome Π½Π° Π΄Π΅ΡΠΊΡΠΎΠΏΠ΅.









