Borland & Rocklord
ΠΡΠΈΠ²Π΅Ρ, ΠΠΎΡ. Π‘Π»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΡΠΌΠ°Π» ΠΎ ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π·Π°ΠΌΡΡΠΈΡΡ Π΄Π²ΠΈΠΆΠΎΠΊ Π΄Π»Ρ Π»Π°ΠΉΠ²-ΡΠ΅ΠΌΠΈΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΄Π°Π²Π°Π» Π±Ρ Π½ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΠΊΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ° Π² ΠΎΠ³Π½Π΅? Π― ΠΏΡΠΎ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΡΠ΅Π½Π΅, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π·Π° ΠΊΡΠ»ΠΈΡΠ°ΠΌΠΈ. ΠΠ°Π²Π°ΠΉ ΠΏΠΎΠ΄ΡΠΌΠ°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΡΠ²ΠΎΠΈ Π½Π°Π²ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΡΡΡΠΎΠ΅ ΡΠΎΡ ΠΏΡΡΠΌΠΎ Π½Π° Π³Π»Π°Π·Π°Ρ
Ρ Π·ΡΠΈΡΠ΅Π»Π΅ΠΉ.
ΠΠ²ΡΡΠΈΡ ΠΊΠ°ΠΊ ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΠΈΠ΄Π΅Ρ β Π΄Π²ΠΈΠΆΠΎΠΊ Π΄Π»Ρ ΡΠ΅Π°Π»ΡΠ°ΠΉΠΌ-ΡΠ΅ΠΌΠΈΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΡΠ°Π²ΠΈΡ ΠΏΡΠ±Π»ΠΈΠΊΡ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ. Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠ΅Π±Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π°ΡΠ΄ΠΈΠΎ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ. ΠΠΎΡΠΌΠΎΡΡΠΈ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²ΡΠΎΠ΄Π΅ PortAudio ΠΈΠ»ΠΈ WASAPI Π΄Π»Ρ Windows, CoreAudio Π΄Π»Ρ macOS ΠΈΠ»ΠΈ JACK Π΄Π»Ρ Linux. ΠΡΠΎ Π΄Π°ΡΡ ΡΠ΅Π±Π΅ Π±ΡΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡ ΡΠΌΠΎΠΆΠ΅ΡΡ ΡΡΡΠΈΠΌΠΈΡΡ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΡΠ΅Π½Ρ Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΌΠ΅Π½Π΅Π΅ 10 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄. ΠΠ°Π»Π΅Π΅, ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉ ΠΎ Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΈΡΠ°ΡΡ Π΄Π²ΠΈΠΆΠΎΠΊ. Live-Π²Π²ΠΎΠ΄ Ρ Π²Π΅ΡΡΡΡΠΊΠΈ Π΄ΠΈΠ΄ΠΆΠ΅Ρ, ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ, ΠΌΠ°ΡΡΠΈΠ² ΠΌΠΈΠΊΡΠΎΡΠΎΠ½ΠΎΠ², ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π½ΡΠΎΡ, ΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡΠΈΠΉ ΡΠ½Π΅ΡΠ³ΠΈΡ ΡΠΎΠ»ΠΏΡ. ΠΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΠΉ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½: Π·Π°Ρ
Π²Π°Ρ β ΠΏΡΠ΅Π΄ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° (FFT, Π΄Π΅ΡΠ΅ΠΊΡΠΈΡ Π±ΠΈΡΠ°) β Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ β Π²ΡΠ²ΠΎΠ΄. ΠΠ»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΡΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅Ρ Π°ΠΊΠΊΠΎΡΠ΄Ρ ΠΈ ΡΠΈΡΠΌ Π½Π° Π»Π΅ΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ. ΠΡΠ»ΠΈ Ρ
ΠΎΡΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΡΠ΅Π°ΡΠΈΠ²Π°, ΠΌΠ°Π»Π΅Π½ΡΠΊΠ°Ρ Π½Π΅ΠΉΡΠΎΠ½ΠΊΠ° ΠΏΡΡΠΌΠΎ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ LSTM ΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄ΠΈΡΡΡΠ·ΠΈΠΈ, ΠΎΠ±ΡΡΠ΅Π½Π½Π°Ρ Π΄Π»Ρ ΠΌΡΠ·ΡΠΊΠΈ β ΡΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ²Π΅ΠΆΠΈΠ΅ ΡΠΈΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΡΠΎΠ². ΠΠ΅ Π·Π°Π±ΡΠ΄Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΌΠΎΠ³ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π° ΡΡΠ΅Π½Π΅ β ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΡΠ΅Π½ΡΠΎΡΠ½ΡΠΉ ΡΠΊΡΠ°Π½ ΠΈΠ»ΠΈ MIDI-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΉ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. Π, ΡΠ°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅, ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΡΠΉ ΡΡΠΎ Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠ΅ΠΉ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΡΠ΅Π΅; ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ²ΡΠ·Ρ ΠΈΠ· ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡΠ° β Π»ΡΡΡΠΈΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ. ΠΠ°ΠΉ Π·Π½Π°ΡΡ, Π΅ΡΠ»ΠΈ Π·Π°Ρ
ΠΎΡΠ΅ΡΡ ΡΠ³Π»ΡΠ±ΠΈΡΡΡΡ Π² ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΈΠ· ΡΡΠΈΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
ΠΡΠ»ΠΈΡΠ½ΠΎ, ΠΠΎΡΠ»Π°Π½Π΄. Π― ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π° ΡΡΠΎΡ low-latency ΡΡΠ΅ΠΊ β PortAudio Π΄Π»Ρ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΠΈ, Π° Π΄Π»Ρ Π²ΠΈΠ½Π΄Ρ, ΠΌΠΎΠΆΠ΅Ρ, WASAPI. ΠΠ²ΡΡΠΈΡ Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠΎΠ²; ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π±ΡΡΡΡΡΠΉ ΠΏΡΠΎΡΠΎΡΠΈΠΏ, Π° ΠΏΠΎΡΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ LSTM Π΄Π»Ρ ΠΈΠ·ΡΠΌΠΈΠ½ΠΊΠΈ. ΠΠ°ΠΊ Π½Π°ΡΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°ΡΠ΄ΠΈΠΎ-Π»ΡΠΏΠ°? ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΡΠ°ΡΡ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΡΠΎΠ±Ρ Ρ ΠΌΠΎΠ³ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ΄ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π·Π²ΡΡΠ°Π½ΠΈΠ΅. ΠΠ°Π²Π°ΠΉ ΠΎΡΠΈΠ»ΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ Π±ΠΈΡ.
ΠΠ°Π΄Π½ΠΎ, Π΄Π°Π²Π°ΠΉ Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΡΠΎΡ Π°ΡΠ΄ΠΈΠΎ-ΡΠΈΠΊΠ». Π‘Π½Π°ΡΠ°Π»Π° Π΄ΠΎΠ±Π°Π²Ρ PortAudio Π² ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ β ΡΠΊΠ°ΡΠ°ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°, ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π²ΡΠΎΠ΄Π΅ vcpkg ΠΈΠ»ΠΈ Conan, Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΡ Π½Π° Windows, Linux ΠΈΠ»ΠΈ macOS. ΠΠΎΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ»Π±ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΈΡΠ°ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π±ΡΡΠ΅Ρ Ρ Π²Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΈ ΡΡΠ°Π·Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π° Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΈΠΌ. Π Π°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° Π΄Π΅Π»Π°ΠΉ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, 256 ΠΈΠ»ΠΈ 512 ΡΡΠΌΠΏΠ»ΠΎΠ², ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠΈΡΡ ΠΏΠΎΡΠΎΠ³ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π² 10 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄. ΠΡΠΎΠ²Π΅ΡΡ ΡΠΈΠΊΠ» ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠΎΠΉ: ΠΊΠΎΠΏΠΈΡΡΠΉ Π²Ρ
ΠΎΠ΄ Π½Π° Π²ΡΡ
ΠΎΠ΄ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΡ, ΡΡΠΎ ΡΡ ΡΠ»ΡΡΠΈΡΡ Π·Π²ΡΠΊ Π±Π΅Π· Π·Π°ΠΌΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΡΠ°Π½Π΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΌ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ ΡΠ²ΠΎΡ Π»ΠΎΠ³ΠΈΠΊΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠ°Π²ΠΈΠ», Π° ΠΏΠΎΡΠΎΠΌ ΠΈ LSTM. ΠΡΠΎ Π΄Π°ΡΡ Π½Π°ΠΌ ΠΏΡΠΎΡΠ½ΡΠΉ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΆΠΈΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΌΠΈΠΊΡ-Π΄Π²ΠΈΠΆΠΊΠ°. ΠΠ°ΠΉ Π·Π½Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΠ³ΡΠ°Π΅ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π±ΠΈΡ.