ΠΠΎΠ΄ΡΠ»Ρ DL Audio Python 165 Comp β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π°ΡΠ΄ΠΈΠΎΡΠΈΠ³Π½Π°Π»ΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ
Π°ΡΠ΄ΠΈΠΎΡΠΈΡΡΠ΅ΠΌΠ°Ρ
, ΡΡΡΠ΄ΠΈΠΉΠ½ΠΎΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ DIY-ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Π½Π° Π±Π°Π·Π΅ Python. ΠΠ³ΠΎ ΠΊΠ»ΡΡΠ΅Π²Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ β ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° 16-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ/48 ΠΊΠΡ Π°ΡΠ΄ΠΈΠΎΠΏΠΎΡΠΎΠΊΠ° Ρ Π½ΠΈΠ·ΠΊΠΎΠΉ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ Π·Π°Π΄Π°Ρ, Π³Π΄Π΅ ΠΊΡΠΈΡΠΈΡΠ½Π° ΡΠΎΡΠ½ΠΎΡΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ: ΠΎΡ ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΡ
ΡΠΈΠ½ΡΠ΅Π·Π°ΡΠΎΡΠΎΠ² Π΄ΠΎ ΡΠΈΡΡΠ΅ΠΌ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΡΠ΅ΡΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΡΠΈΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π΅Π³ΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ, Π½ΠΎ ΠΈ ΡΠΌΠ΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Python-ΠΏΡΠΎΠ΅ΠΊΡΡ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ Π²ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ β ΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΡ Π΅ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ ΡΠ΅Ρ Π½ΠΈΠΊ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π²ΡΠΊΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠΈΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΠΈΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Π²ΡΠΎΠ΄Π΅ PyAudio, sounddevice ΠΈ numpy, Π° ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠ°Π½ΡΠ°ΠΌ ΡΠ°Π±ΠΎΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
(Windows, Linux, macOS). ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ DL Audio Python 165 Comp Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°ΡΠ΄ΠΈΠΎΡΡΡΠ΅ΠΊΡΠΎΠ², ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π·Π²ΡΠΊΠ° β ΡΡΠΎΡ Π³Π°ΠΉΠ΄ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΡ
ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΠΊΡΡΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π» ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ DL Audio Python 165 Comp
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ. DL Audio Python 165 Comp ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π°ΡΠ΄ΠΈΠΎ, Π½ΠΎ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ°ΡΡΠΎ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ².
ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°:
- π Π Π°Π·ΡΡΠ΄Π½ΠΎΡΡΡ/ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ: 16 Π±ΠΈΡ / 48 ΠΊΠΡ (ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ).
- π ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ: USB 2.0 (ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ
UAC2), ΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²Ρ ΠΎΠ΄Ρ/Π²ΡΡ ΠΎΠ΄Ρ (TOSLINK), Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ RCA. - π‘ ΠΠ°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡ: ΠΎΡ 5 ΠΌΡ (Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ASIO Π½Π° Windows) Π΄ΠΎ 10 ΠΌΡ (Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅).
- π οΈ ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΠ‘: Windows 10/11, Linux (ΡΠ΄ΡΠΎ 5.4+), macOS (10.15+).
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠ»ΡΡΠ΅Π²ΡΡ
ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ DSP-ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π°ΡΠ΄ΠΈΠΎΠΏΠΎΡΠΎΠΊ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π±Π΅Π· Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π·Π°Π΄Π°Ρ, Π³Π΄Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΡΠ΅ΠΊΡΡ (ΡΠ΅Π²Π΅ΡΠ±Π΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΈΡ) ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΠΊΡΡ ΡΠΈΠ³Π½Π°Π»Π°. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ DSP Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΈΡΠΌΠ΅Π½Π½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ β ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ UAC-Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Windows ΠΈΠ»ΠΈ Linux Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ.
| ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
| Π§Π°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ | 44.1 ΠΊΠΡ β 48 ΠΊΠΡ | ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° 96 ΠΊΠΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ASIO |
| ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ°Π½Π°Π»ΠΎΠ² | 2 Π²Ρ ΠΎΠ΄Π° / 2 Π²ΡΡ ΠΎΠ΄Π° (ΡΡΠ΅ΡΠ΅ΠΎ) | ΠΠ½ΠΎΠ³ΠΎΠΊΠ°Π½Π°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ |
| ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΠΈΡΠ½ΠΎΡΡΠΈ | 16/24 Π±ΠΈΡ | 24-Π±ΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ASIO-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ |
| ΠΠΈΡΠ°Π½ΠΈΠ΅ | 5V via USB ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π°Π΄Π°ΠΏΡΠ΅Ρ | ΠΡΠΈ ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΎΡ USB Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΏΠΎΠΌΠ΅Ρ ΠΈ |
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π° Linux ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΡΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΠ΄ΡΠ° Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ snd-usb-audio. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ubuntu 20.04) ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ DL Audio Python 165 Comp.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ: ΠΏΠΎΡΠ°Π³ΠΎΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ
ΠΠ΅ΡΠ²ΡΠΉ ΡΠ°Π³ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ DL Audio Python 165 Comp β ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ². ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΊΠ°ΠΆΡΡΡΡΡΡ ΠΏΡΠΎΡΡΠΎΡΡ, Π·Π΄Π΅ΡΡ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΡΠ°Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ.
ΠΠ°ΡΠ½ΠΈΡΠ΅ Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°ΡΠΈΠΈ: Π² ΠΊΠΎΡΠΎΠ±ΠΊΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ, USB-ΠΊΠ°Π±Π΅Π»Ρ (ΠΎΠ±ΡΡΠ½ΠΎ Type-B), ΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠ°Π±Π΅Π»ΠΈ (Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π·Π°ΡΠ²Π»Π΅Π½Ρ) ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π½Π΅ΡΠ½ΠΈΠΉ Π±Π»ΠΎΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ Π²Ρ
ΠΎΠ΄Ρ/Π²ΡΡ
ΠΎΠ΄Ρ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ RCA-ΠΊΠ°Π±Π΅Π»ΠΈ.
Π£Π±Π΅Π΄ΠΈΡΡΡΡ Π² Π½Π°Π»ΠΈΡΠΈΠΈ Π²ΡΠ΅Ρ ΠΊΠ°Π±Π΅Π»Π΅ΠΉ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°|
ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΊ USB-ΠΏΠΎΡΡΡ (ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ 2.0)|
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ|
ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ²|
ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² ΠΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ² (Windows) ΠΈΠ»ΠΈ lsusb (Linux)
-->
ΠΠ° Windows ΠΏΡΠΎΡΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΎΠ±ΡΡΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½: ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°ΠΌΠ° Π½Π°ΠΉΡΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ UAC2-Π΄ΡΠ°ΠΉΠ²Π΅Ρ. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ (Π²ΠΊΠ»ΡΡΠ°Ρ DSP) ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΊΠ°ΡΠ°ΡΡ ΡΠΈΡΠΌΠ΅Π½Π½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Ρ ΡΠ°ΠΉΡΠ° DL Audio. ΠΠ° Linux ΠΈ macOS ΡΠΈΡΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅:
- π§ ΠΠ° Linux ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π² ΡΡΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠ΄ΡΠ»Ρ
snd-usb-audioΠΈΠ»ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΄ΡΠΎ Ρ ΠΏΠ°ΡΡΠ°ΠΌΠΈ Π΄Π»Ρ Π½ΠΈΠ·ΠΊΠΎΠΉ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ. - π ΠΠ° macOS ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² Audio MIDI Setup β Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ±ΡΠΎΡ
NVRAM.
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠ°ΠΊ Π°ΡΠ΄ΠΈΠΎΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. Π Windows ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ β ΠΠ²ΡΠΊ, Π½Π° Linux β ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ aplay -l, Π½Π° macOS β Π² ΡΡΠΈΠ»ΠΈΡΠ΅ Audio MIDI Setup. ΠΡΠ»ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ USB-ΠΏΠΎΡΡΡ (ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π° Π·Π°Π΄Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΠ).
- ΠΡΠΊΠ»ΡΡΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ USB-Π°ΡΠ΄ΠΈΠΎΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²Π°ΡΡ.
- ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΠΌΠΎΠ΄ΡΠ»Ρ (ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π½ΠΈΠΆΠ΅).
Windows|
Linux|
macOS|
ΠΡΡΠ³ΡΡ (Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ )-->
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ²
ΠΡΠΎΡΠΈΠ²ΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Ρ DL Audio Python 165 Comp ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΠΠ‘. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ Π²ΡΠΏΡΡΠΊΠ°Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π±Π°Π³ΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠΈΠ΅ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ASIO Π½Π° Windows ΠΈΠ»ΠΈ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Python-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ).
Π§ΡΠΎΠ±Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ:
- Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° (ΡΠ°Π·Π΄Π΅Π»
Downloads β Firmware). - ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΎΠ½ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ (ΠΎΠ±ΡΡΠ½ΠΎ
DL_Firmware_Updater.exeΠ΄Π»Ρ Windows ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ Linux/macOS). - Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠ΅ ΠΎΡΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°!
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ ΡΠ±ΠΎΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ), ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π°Π²Π°ΡΠΈΠΉΠ½ΡΠΌ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ (ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ).
ΠΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ. ΠΠ° Windows ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ² (ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ DL Audio Python 165 Comp Π²ΡΡΡΠ½ΡΡ, ΡΠΊΠ°Π·Π°Π² ΠΏΡΡΡ ΠΊ ΡΠΊΠ°ΡΠ°Π½Π½ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ). ΠΠ° Linux ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΄ΡΠ°:
sudo apt-get install build-essential linux-headers-$(uname -r)
git clone https://github.com/dlaudio/linux-driver.git
cd linux-driver
make
sudo make install
ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π» ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ±ΡΠΎΡΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊ Π·Π°Π²ΠΎΠ΄ΡΠΊΠΈΠΌ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ:
- ΠΡΠΊΠ»ΡΡΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΡ ΠΏΠΈΡΠ°Π½ΠΈΡ.
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ
Reset(Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π΅ΡΡΡ Π½Π° Π²Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ). - ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΡ 10 ΡΠ΅ΠΊΡΠ½Π΄.
ΠΠ΅ΡΠ΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΊΡΡΠΈΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΡΠ΅Π· ΡΡΠΈΠ»ΠΈΡΡ DL_Config_Tool. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π±ΡΡΡΡΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ±ΠΎΡ.
Π Π°Π±ΠΎΡΠ° Ρ DL Audio Python 165 Comp Π² Python: ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ DL Audio Python 165 Comp β Π»ΡΠ³ΠΊΠ°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Python-ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π°ΡΠ΄ΠΈΠΎΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ PyAudio, sounddevice ΠΈ numpy. ΠΠΈΠΆΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ, Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π²ΡΠΊΠ°.
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
pip install pyaudio sounddevice numpy
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ Ρ PyAudio Π½ΡΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΠ΄ΠΈΠΎΠΏΠΎΡΠΎΠΊ ΠΈ ΡΠΊΠ°Π·Π°ΡΡ DL Audio Python 165 Comp ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
import pyaudio
p = pyaudio.PyAudio()
device_index = None
# ΠΠΎΠΈΡΠΊ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π°ΡΠ΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
for i in range(p.get_device_count()):
dev = p.get_device_info_by_index(i)
if "DL Audio Python 165 Comp" in dev['name']:
device_index = i
break
if device_index is None:
raise ValueError("Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ DL Audio Python 165 Comp Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ!")
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π·Π²ΡΠΊ Ρ ΠΌΠΈΠΊΡΠΎΡΠΎΠ½Π° ΠΈΠ»ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π°ΡΠ΄ΠΈΠΎΡΠ°ΠΉΠ»Ρ. ΠΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΠΈΡΠΈ 5 ΡΠ΅ΠΊΡΠ½Π΄ Π°ΡΠ΄ΠΈΠΎ Ρ ΡΠ°ΡΡΠΎΡΠΎΠΉ 48 ΠΊΠΡ:
import numpy as np
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 48000
RECORD_SECONDS = 5
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
input_device_index=device_index,
frames_per_buffer=CHUNK)
print("ΠΠ°ΠΏΠΈΡΡ...")
frames = []
for _ in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(np.frombuffer(data, dtype=np.int16))
stream.stop_stream()
stream.close()
p.terminate()
# Π‘ΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΉΠ»
from scipy.io.wavfile import write
write("output.wav", RATE, np.array(frames))
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ sounddevice ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π΅ΡΡ ΠΏΡΠΎΡΠ΅:
import sounddevice as sd
# ΠΠ°ΠΏΠΈΡΡ Π·Π²ΡΠΊΠ°
duration = 5.0 # ΡΠ΅ΠΊΡΠ½Π΄Ρ
fs = 48000 # ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ
print("ΠΠ°ΠΏΠΈΡΡ...")
recording = sd.rec(int(duration * fs), samplerate=fs, channels=2, dtype='int16', device=device_index)
sd.wait() # ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ
sd.write("output.wav", fs, recording)
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ DL Audio Python 165 Comp Π² sounddevice ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΠ²Π½ΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π±ΡΡΠ΅ΡΠ°:
sd.default.device = device_index
sd.default.samplerate = 48000
sd.default.channels = 2, 2 # Π²Ρ
ΠΎΠ΄Ρ, Π²ΡΡ
ΠΎΠ΄Ρ
ΠΠ°ΠΊ ΡΡΡΡΠ°Π½ΠΈΡΡ Π·Π°ΠΈΠΊΠ°Π½ΠΈΠ΅ Π·Π²ΡΠΊΠ° ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ?
ΠΠ°ΠΈΠΊΠ°Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ Π½Π΅Π²Π΅ΡΠ½ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ Π±ΡΡΠ΅ΡΠ°. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ frames_per_buffer Π² PyAudio (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎ 2048) ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
sounddevice:
sd.default.latency = 'low'
Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π½Π΅ Π·Π°Π³ΡΡΠΆΠ΅Π½ Π»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ β DL Audio Python 165 Comp ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½ ΠΊ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°ΠΌ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ
ΠΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ
ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ DL Audio Python 165 Comp β Π²ΡΡΠΎΠΊΠ°Ρ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π½Π° Windows Π±Π΅Π· ASIO-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ². Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ°Π·Π±Π΅ΡΡΠΌ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°ΠΊΡΠΎΡΡ, Π²Π»ΠΈΡΡΡΠΈΠ΅ Π½Π° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡ:
- β‘ Π Π°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ°: ΡΠ΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ Π±ΡΡΠ΅Ρ, ΡΠ΅ΠΌ Π½ΠΈΠΆΠ΅ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡ, Π½ΠΎ Π²ΡΡΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° CPU.
- π₯οΈ ΠΡΠ°ΠΉΠ²Π΅ΡΡ:
ASIOΠ½Π° Windows Π΄Π°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ (ΠΎΡ 5 ΠΌΡ), ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊWASAPIΠΈΠ»ΠΈDirectSoundΠΌΠΎΠ³ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄ΠΎ 50 ΠΌΡ. - π Π§Π°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ: 48 ΠΊΠΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π΅Π΅, ΡΠ΅ΠΌ 44.1 ΠΊΠΡ ΠΈΠ»ΠΈ 96 ΠΊΠΡ.
ΠΠ° Windows Π΄Π»Ρ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ:
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅
ASIO4ALL(Π΅ΡΠ»ΠΈ Π½Π΅Ρ ΡΠΈΡΠΌΠ΅Π½Π½ΡΡ ASIO-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΎΡ DL Audio). - Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
Π°ΡΠ΄ΠΈΠΎΡΡΡΡΠΎΠΉΡΡΠ²Π° Π²ΡΠ±Π΅ΡΠΈΡΠ΅
ASIOΠ² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. - Π£ΠΌΠ΅Π½ΡΡΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° Π΄ΠΎ 128 ΠΈΠ»ΠΈ 256 ΡΡΠΌΠΏΠ»ΠΎΠ² (Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ASIO-ΠΏΠ°Π½Π΅Π»ΠΈ).
ΠΠ° Linux ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Π² /etc/security/limits.conf:
@audio - rtprio 99
@audio - memlock unlimited
@audio - nice -20
ΠΠ°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π³ΡΡΠΏΠΏΡ audio:
sudo usermod -aG audio $USER
Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠ½Π΅ΡΠ³ΠΎΡΠ±Π΅ΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ USB-ΡΡΡΡΠΎΠΉΡΡΠ²:
echo 'on' | sudo tee /sys/bus/usb/devices/usb*/power/control
| ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | Windows (ASIO) | Linux (ALSA) | macOS (CoreAudio) |
|---|---|---|---|
| ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡ | 5 ΠΌΡ | 3 ΠΌΡ (Ρ ΠΏΠ°ΡΡΠ°ΠΌΠΈ) | 10 ΠΌΡ |
| Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠΉ Π±ΡΡΠ΅Ρ | 128β256 ΡΡΠΌΠΏΠ»ΠΎΠ² | 64β128 ΡΡΠΌΠΏΠ»ΠΎΠ² | 256 ΡΡΠΌΠΏΠ»ΠΎΠ² |
| ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΊΠ°Π½Π°Π»ΡΠ½ΠΎΠ³ΠΎ audio | ΠΠ° (Ρ ASIO) | ΠΠ° (Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ ALSA) | ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎ |
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ° macOS ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ DL Audio Python 165 Comp ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ Π·Π²ΡΠΊΠ° ΠΈΠ·-Π·Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉCoreAudio. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡsounddeviceΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌblocksize=0Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π±ΠΎΡΠ° Π±ΡΡΠ΅ΡΠ°.
Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠ°ΠΆΠ΅ ΠΏΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Ρ DL Audio Python 165 Comp ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΈΠΆΠ΅ ΡΠΎΠ±ΡΠ°Π½Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ.
1. Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ
- π ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ USB-ΠΊΠ°Π±Π΅Π»Ρ (ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΡΡ ΠΈΠ»ΠΈ ΠΊΠ°Π±Π΅Π»Ρ).
- π ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡΠ½Π½ΡΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ.
- π οΈ ΠΠ° Linux Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅
sudo alsa force-reload.
2. ΠΠ²ΡΠΊ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠ΅Ρ Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ
- π Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΡΠΎΠ²Π΅Π½Ρ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ 0 Π΄Π (ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π² ΠΌΠΈΠΊΡΠ΅ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ).
- β‘ ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ Π±Π»ΠΎΠΊΡ ΠΏΠΈΡΠ°Π½ΠΈΡ (USB ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΉ ΡΠΎΠΊ).
- π‘ ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, Π½Π΅Ρ Π»ΠΈ ΡΡΠ΄ΠΎΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΡΠ»Π΅ΠΊΡΡΠΎΠΌΠ°Π³Π½ΠΈΡΠ½ΡΡ ΠΏΠΎΠΌΠ΅Ρ (Wi-Fi ΡΠΎΡΡΠ΅ΡΡ, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ).
3. ΠΡΠΈΠ±ΠΊΠ° Input Overflow ΠΈΠ»ΠΈ Output Underflow Π² Python
ΠΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ ΡΡΠΏΠ΅Π²Π°Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π°ΡΠ΄ΠΈΠΎΠΏΠΎΡΠΎΠΊ. Π Π΅ΡΠ΅Π½ΠΈΡ:
- βοΈ Π£Π²Π΅Π»ΠΈΡΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° (
frames_per_bufferΠ²PyAudio). - π₯οΈ ΠΠ°ΠΊΡΠΎΠΉΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π·Π²ΡΠΊΠΎΠ²ΡΡ ΠΊΠ°ΡΡΡ.
- π ΠΠΎΠ½ΠΈΠ·ΡΡΠ΅ ΡΠ°ΡΡΠΎΡΡ Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΎ 44.1 ΠΊΠΡ.
4. ΠΠΎΠ΄ΡΠ»Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ DSP-ΡΡΡΠ΅ΠΊΡΡ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ
Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΡΠΈΡΠΌΠ΅Π½Π½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° ΡΡΡΠ°ΡΠ΅Π»Π°. ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΠ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² ΡΡΠΈΠ»ΠΈΡΠ΅ DL_Config_Tool (Π²ΠΊΠ»Π°Π΄ΠΊΠ° DSP).
ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΅Ρ
ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ ΡΠ΅ΡΠ΅Π½Π°, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Python ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, PyAudio ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²Π°ΡΡ Ρ PortAudio v19.7.0+ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡ: pip install pyaudio==0.2.11
ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ: ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π²ΡΠΊΠ° Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ DL Audio Python 165 Comp ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π°ΡΠ΄ΠΈΠΎΠΏΠΎΡΠΎΠΊΠ° Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² (ΡΡ ΠΎ, ΡΠ΅Π²Π΅ΡΠ±Π΅ΡΠ°ΡΠΈΡ), Π°Π½Π°Π»ΠΈΠ·Π° ΡΠΏΠ΅ΠΊΡΡΠ° ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΈΡΡΠ΅ΠΌ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΡΠ΅ΡΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ 1: ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΠ° ΡΡ ΠΎ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ sounddevice ΠΈ numpy Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΡ
ΠΎ-ΡΡΡΠ΅ΠΊΡΠ° ΠΊ Π²Ρ
ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠΈΠ³Π½Π°Π»Ρ:
import sounddevice as sd
import numpy as np
delay = 0.3 # Π·Π°Π΄Π΅ΡΠΆΠΊΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
decay = 0.5 # ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ Π·Π°ΡΡΡ
Π°Π½ΠΈΡ
def echo_callback(indata, outdata, frames, time, status):
if status:
print(status)
outdata[:] = indata
# ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΡ
ΠΎ
if time.inputBufferAdcTime is not None:
delay_samples = int(delay * frames.samplerate)
if len(indata) > delay_samples:
outdata[:] += decay * indata[:-delay_samples]
with sd.Stream(callback=echo_callback, channels=2, samplerate=48000):
print("ΠΡ
ΠΎ-ΡΡΡΠ΅ΠΊΡ Π°ΠΊΡΠΈΠ²Π΅Π½. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Ctrl+C Π΄Π»Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ.")
sd.sleep(10000)
ΠΡΠΈΠΌΠ΅Ρ 2: ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΏΠ΅ΠΊΡΡΠ° Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
ΠΠ»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ°ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΏΠ΅ΠΊΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ matplotlib:
import sounddevice as sd
import numpy as np
import matplotlib.pyplot as plt
from scipy.fft import rfft, rfftfreq
plt.ion()
fig, ax = plt.subplots()
def audio_callback(indata, frames, time, status):
ax.clear()
yf = rfft(indata[:, 0])
xf = rfftfreq(frames, 1.0 / 48000)
ax.plot(xf, np.abs(yf))
ax.set_ylim(0, 1000)
plt.pause(0.01)
with sd.InputStream(callback=audio_callback, channels=2, samplerate=48000):
print("ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΏΠ΅ΠΊΡΡΠ°. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Ctrl+C Π΄Π»Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ.")
plt.show()
ΠΡΠΈΠΌΠ΅Ρ 3: ΠΠΎΡΠΎΠΊΠΎΠ²Π°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π°ΡΠ΄ΠΈΠΎ ΠΏΠΎ ΡΠ΅ΡΠΈ
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ socket ΠΈ PyAudio ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π°ΡΠ΄ΠΈΠΎΠΏΠΎΡΠΎΠΊΠ° ΠΏΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ:
import pyaudio
import socket
import pickle
import struct
# Π‘Π΅ΡΠ²Π΅Ρ
UDP_IP = "127.0.0.1"
UDP_PORT = 5005
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16, channels=2, rate=48000,
input=True, frames_per_buffer=1024)
print("Π‘ΡΡΠΈΠΌΠΈΠ½Π³ Π°ΡΠ΄ΠΈΠΎ...")
while True:
data = stream.read(1024)
sock.sendto(pickle.dumps(data), (UDP_IP, UDP_PORT))
ΠΠ»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΊΠΈΡ
Π·Π°Π΄Π°Ρ DL Audio Python 165 Comp ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½ΠΈΠ·ΠΊΠΎΠΉ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΌΡ ΠΏΠΎΡΠΎΠΊΡ Π΄Π°Π½Π½ΡΡ
. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΉΡΠΎΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π²ΡΠΊΠ°) ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ΄Π° Π½Π° Cython ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ GPU ΡΠ΅ΡΠ΅Π· CuPy.
FAQ: ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΠ°ΡΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ DL Audio Python 165 Comp Ρ Raspberry Pi?
ΠΠ°, Π½ΠΎ Ρ ΠΎΠ³ΠΎΠ²ΠΎΡΠΊΠ°ΠΌΠΈ. ΠΠΎΠ΄ΡΠ»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ Raspberry Pi 4/5, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ·-Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ USB-ΡΠΈΠ½Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π²ΡΡΠΎΠΊΠ°Ρ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ USB-Ρ Π°Π± Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ.
- ΠΡΠΊΠ»ΡΡΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ USB-ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ.
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΡΡΠ΅Π½Π½ΠΎΠ΅ ΡΠ΄ΡΠΎ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ
USB audio 2.0.
Π’Π°ΠΊΠΆΠ΅ ΡΡΡΠΈΡΠ΅, ΡΡΠΎ Raspberry Pi Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ASIO, ΠΏΠΎΡΡΠΎΠΌΡ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠ΅, ΡΠ΅ΠΌ Π½Π° ΠΠ.
ΠΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΊ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ?
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ ΠΈΠ»ΠΈ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ RCA-ΠΊΠ°Π±Π΅Π»ΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΡ ΠΎΠ΄ΠΎΠ² DL Audio Python 165 Comp ΠΊ Π²Ρ ΠΎΠ΄Π°ΠΌ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ.
- Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΡΠΎΠ²Π΅Π½Ρ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ 1 Π (Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΠΉ).
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΠΌΠΎΠ΄ΡΠ»Ρ (ΡΠ΅ΡΠ΅Π·
DL_Config_Tool) Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ΅ΠΆΠΈΠΌLine Out.
ΠΡΠ»ΠΈ Π·Π²ΡΠΊ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠΈΡ ΠΈΠΉ, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π³ΡΠΎΠΌΠΊΠΎΡΡΠΈ Π² ΠΌΠΈΠΊΡΠ΅ΡΠ΅ ΠΠ‘ ΠΈ Π² ΡΡΠΈΠ»ΠΈΡΠ΅ DL Audio.
ΠΠΎΡΠ΅ΠΌΡ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π·Π²ΡΠΊ ΠΈΡΠΊΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° Π²ΡΡΠΎΠΊΠΈΡ ΡΠ°ΡΡΠΎΡΠ°Ρ ?
ΠΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° Π²ΡΡΠΎΠΊΠΈΡ ΡΠ°ΡΡΠΎΡΠ°Ρ (ΡΠ²ΡΡΠ΅ 10 ΠΊΠΡ) ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Ρ Ρ:
- ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ (ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ 48 ΠΊΠΡ Π²ΠΌΠ΅ΡΡΠΎ 44.1 ΠΊΠΡ).
- ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΎΠΉ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° (ΡΠΌΠ΅Π½ΡΡΠΈΡΠ΅ ΡΡΠΎΠ²Π΅Π½Ρ ΠΌΠΈΠΊΡΠΎΡΠΎΠ½Π° ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°).
- ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ
anti-aliasingΡΠΈΠ»ΡΡΡΠ° Π² ΠΏΡΠΎΡΠΈΠ²ΠΊΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ.
Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ Π΄Π΅ΡΡΠ²ΡΠ΅ RCA-ΠΊΠ°Π±Π΅Π»ΠΈ β ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π²Π½ΠΎΡΠΈΡΡ ΠΏΠΎΠΌΠ΅Ρ ΠΈ.
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Ρ Π²ΠΈΠ½ΠΈΠ»ΠΎΠ²ΡΡ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Π΅ΠΉ?
ΠΠ°, Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ½ΠΎΠΊΠΎΡΡΠ΅ΠΊΡΠΎΡ (phono preamp), ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΈΠ³Π½Π°Π» Ρ Π²ΠΈΠ½ΠΈΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ RIAA-ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΠΈ. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅:
- ΠΠΈΠ½ΠΈΠ»ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ β Π€ΠΎΠ½ΠΎΠΊΠΎΡΡΠ΅ΠΊΡΠΎΡ β ΠΠΈΠ½Π΅ΠΉΠ½ΡΠΉ Π²Ρ ΠΎΠ΄ DL Audio Python 165 Comp (RCA).
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ
Line In. - Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°ΠΏΠΈΡΠΈ Π½Π° 70β80% ΠΎΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ°, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠ»ΠΈΠΏΠΏΠΈΠ½Π³Π°.
ΠΠ΄Π΅ ΡΠΊΠ°ΡΠ°ΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ?
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ ΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ:
- https://dlaudio.com/support (ΡΠ°Π·Π΄Π΅Π»
Downloads). - ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²: GitHub DL Audio (ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° ΠΈ SDK).
ΠΡΠ»ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Google Translate Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ².