ΠΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ Π·Π²ΡΠΊΠΎ-Π±ΡΠΊΠ²Π΅Π½Π½ΡΠΉ ΡΠ°Π·Π±ΠΎΡ ΡΠ»ΠΎΠ²Π°?
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΠ²ΡΠΊΠΎ-Π±ΡΠΊΠ²Π΅Π½Π½ΡΠΉ ΡΠ°Π·ΒΠ±ΠΎΡ ΡΠ»ΠΎΒΠ²Π° β ΡΡΠΎ Ρ Π°ΡΠ°ΠΊΒΡΠ΅ΒΡΠΈΒΡΡΠΈΒΠΊΠ° Π·Π²ΡΒΠΊΠΎΒΠ²ΠΎΒΠ³ΠΎ ΠΈ Π±ΡΠΊΒΠ²Π΅Π½ΒΠ½ΠΎΒΠ³ΠΎ ΡΠΎΡΡΠ°ΒΠ²Π° ΡΠ»ΠΎΒΠ²Π°. Π§ΡΠΎΠ±ΡΒ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»ΒΠ½ΠΈΡΡ, ΠΏΠΈΡΠ΅ΡΒΡΡ ΡΡΠ°Π½ΒΡΠΊΡΠΈΠΏΒΡΠΈΡ β ΡΠΎΡΒΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ Π·Π²ΡΒΠΊΠΎΒΠ²ΠΎΒΠ³ΠΎ ΡΠΎΡΡΠ°ΒΠ²Π°Β ΡΠ»ΠΎΠ²Π°.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅
ΠΠ²ΡΠΊΠΎ-Π±ΡΠΊΠ²Π΅Π½Π½ΡΠΉ ΡΠ°Π·ΒΠ±ΠΎΡ β ΡΡΠΎ Π°Π½Π°ΒΠ»ΠΈΠ· Π·Π²ΡΒΠΊΠΎΒΠ²ΠΎΒΠ³ΠΎ ΡΠΎΡΡΠ°ΒΠ²Π° ΡΠ»ΠΎΒΠ²Π° ΠΈ Π΅Π³ΠΎ Π±ΡΠΊΒΠ²Π΅Π½ΒΠ½ΠΎΒΠ³ΠΎ ΠΎΡΠΎΠ±ΒΡΠ°ΒΠΆΠ΅ΒΠ½ΠΈΡ Π½Π° ΠΏΠΈΡΡΠΌΠ΅.
ΠΠ²ΡΠΊΠΎ-Π±ΡΠΊΠ²Π΅Π½Π½ΡΠΉ ΡΠ°Π·ΒΠ±ΠΎΡ ΡΠ»ΠΎΒΠ²Π° Π½Π΅ΠΎΠ±ΒΡ ΠΎΒΠ΄ΠΈΠΌ Π΄Π»Ρ ΠΎΡΠΎΒΠ·Π½Π°Π½ΒΠ½ΠΎΒΠ³ΠΎ ΠΎΠ²Π»Π°ΒΠ΄Π΅ΒΠ½ΠΈΡ ΡΡΡΒΡΠΊΠΈΠΌ ΡΠ·ΡΒΠΊΠΎΠΌ, Π³ΡΠ°ΒΠΌΠΎΡΒΠ½ΠΎΒΠ³ΠΎ Π½Π°ΠΏΠΈΒΡΠ°ΒΠ½ΠΈΡ ΡΠ»ΠΎΠ², ΠΎΡΠΎΒΠ±Π΅Π½ΒΠ½ΠΎ Π² ΡΠ΅Ρ ΡΠ»ΡΒΡΠ°ΒΡΡ , ΠΊΠΎΠ³Π΄Π° Π² ΡΠ»ΠΎΒΠ²Π°Ρ Π΅ΡΡΡ Π±Π΅Π·ΒΡΠ΄Π°ΡΒΠ½ΡΠ΅ Π³Π»Π°ΡΒΠ½ΡΠ΅, Π½Π΅ΠΏΡΠΎΒΠΈΠ·ΒΠ½ΠΎΒΡΠΈΒΠΌΡΠ΅ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠ΅, Π±ΡΠΊΒΠ²Ρ, ΠΎΠ±ΠΎΒΠ·Π½Π°ΒΡΠ°ΒΡΒΡΠΈΠ΅ Π΄Π²Π° Π·Π²ΡΒΠΊΠ°, Π±ΡΠΊΒΠ²Ρ, Π½Π΅ ΠΎΠ±ΠΎΒΠ·Π½Π°ΒΡΠ°ΒΡΒΡΠΈΠ΅ Π·Π²ΡΒΠΊΠΎΠ² ΠΈΒ ΠΏΡ.
Π€ΠΎΠ½Π΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·ΒΠ±ΠΎΡ Π²ΡΠΏΠΎΠ»ΒΠ½ΡΒΠ΅ΡΒΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΒΠΊΠΎ ΡΡΠ°ΒΠΏΠΎΠ².Β ΠΠ²ΡΠΊΠΎ-Π±ΡΠΊΠ²Π΅Π½Π½ΡΠΉ ΡΠ°Π·ΒΠ±ΠΎΡ ΠΏΡΠ΅Π΄ΒΠΏΠΎΒΠ»Π°ΒΠ³Π°ΒΠ΅Ρ Π΄Π΅Π»Π΅ΒΠ½ΠΈΠ΅ ΡΠ»ΠΎΒΠ²Π° Π½Π° ΡΠ»ΠΎΒΠ³ΠΈ Π² ΡΠΎΠΎΡΒΠ²Π΅ΡΒΡΡΠ²ΠΈΠΈ Ρ ΠΊΠΎΠ»ΠΈΒΡΠ΅ΒΡΡΠ²ΠΎΠΌ Π³Π»Π°ΡΒΠ½ΡΡ Π·Π²ΡΒΠΊΠΎΠ², ΠΏΠΎΡΡΠ°ΒΠ½ΠΎΠ²ΒΠΊΡ ΡΠ΄Π°ΒΡΠ΅ΒΠ½ΠΈΡ, Π·Π°ΠΏΠΈΡΡ Π·Π²ΡΒΡΠ°ΒΠ½ΠΈΡ ΡΠ»ΠΎΒΠ²Π°. ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΒΠ²ΠΎΒΠ΄ΠΈΡΒΡΡ ΡΠΎΠ½Π΅ΒΡΠΈΒΡΠ΅ΒΡΠΊΠΈΠΉ Π°Π½Π°ΒΠ»ΠΈΠ· ΠΊΠ°ΠΆΒΠ΄ΠΎΒΠ³ΠΎ Π·Π²ΡΒΠΊΠ°. Π€ΠΎΠ½Π΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·ΒΠ±ΠΎΡ Π·Π°Π²Π΅ΡΒΡΠ°ΒΠ΅ΡΒΡΡ ΠΏΠΎΠ΄ΒΡΡΠ΅ΒΡΠΎΠΌ ΠΊΠΎΠ»ΠΈΒΡΠ΅ΒΡΡΠ²Π° Π±ΡΠΊΠ² ΠΈ Π·Π²ΡΠΊΠΎΠ².
ΠΡΠΊΠ²Ρ ΠΈΒ Π·Π²ΡΠΊΠΈ
Π§ΡΠΎΠ±Ρ ΠΏΡΠ°ΒΠ²ΠΈΠ»ΡΒΠ½ΠΎ Π²ΡΠΏΠΎΠ»ΒΠ½ΠΈΡΡ Π·Π²ΡΠΊΠΎ-Π±ΡΠΊΠ²Π΅Π½Π½ΡΠΉ ΡΠ°Π·ΒΠ±ΠΎΡ ΡΠ»ΠΎΒΠ²Π°, Π½Π°ΡΡΠΈΠΌΒΡΡ ΡΠ°Π·ΒΠ»ΠΈΒΡΠ°ΡΡ, ΡΡΠΎ Π½Π° Π±ΡΠΌΠ°ΒΠ³Π΅ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π±ΡΠΊΒΠ²Ρ, Π° ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΒΠΈΠ·ΒΠ½ΠΎΒΡΠΈΠΌ ΡΠ»ΠΎΒΠ²ΠΎ, ΡΠΎ ΡΠ»ΡΒΡΠΈΠΌ Π·Π²ΡΒΠΊΠΈ. ΠΡΠΊΠ²Ρ β ΡΡΠΎ Π³ΡΠ°ΒΡΠΈΒΡΠ΅ΒΡΠΊΠΈΠ΅ Π·Π½Π°ΒΠΊΠΈ, Ρ ΠΏΠΎΠΌΠΎΒΡΡΡ ΠΊΠΎΡΠΎΒΡΡΡ ΠΌΠΎΠΆΒΠ½ΠΎ ΠΎΠ±ΠΎΒΠ·Π½Π°ΒΡΠΈΡΡ Π·Π²ΡΒΠΊΠΈΒ ΡΠ΅ΡΠΈ.
Π ΡΡΡΒΡΠΊΠΎΠΌ ΡΠ·ΡΒΠΊΠ΅ ΡΠ°Π·ΒΠ»ΠΈΒΡΠ°ΒΡΡ Π³Π»Π°ΡΒΠ½ΡΠ΅ ΠΈ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠ΅ Π·Π²ΡΠΊΠΈ.
ΠΠ»Π°ΡΠ½ΡΠ΅ Π±ΡΠΊΠ²Ρ ΠΈΒ Π·Π²ΡΠΊΠΈ
ΠΠ»Π°ΡΠ½ΡΠ΅ Π·Π²ΡΒΠΊΠΈ ΠΎΠ±ΡΠ°ΒΠ·ΡΒΡΡΒΡΡ ΠΏΡΠΈ ΡΠ²ΠΎΒΠ±ΠΎΠ΄ΒΠ½ΠΎΠΌ ΠΏΡΠΎΒΡ ΠΎΠΆΒΠ΄Π΅ΒΠ½ΠΈΠΈ Π²ΠΎΠ·ΒΠ΄ΡΒΡ Π° ΠΈΠ·ΠΎ ΡΡΠ°. ΠΠ½ΠΈ ΡΠΎΡΡΠΎΒΡΡ ΡΠΎΠ»ΡΒΠΊΠΎ ΠΈΠ· Π³ΠΎΠ»ΠΎΒΡΠ°. Π ΡΡΡΒΡΠΊΠΎΠΌ ΡΠ·ΡΒΠΊΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ
6 Π³Π»Π°ΡΒΠ½ΡΡ Π·Π²ΡΒΠΊΠΎΠ²: [Π°], [ΠΎ], [Ρ], [Ρ], [ΠΈ], [Ρ]
ΠΈ
10 Π³Π»Π°ΡΒΠ½ΡΡ Π±ΡΠΊΠ²: Π°, ΠΎ, Ρ, Ρ, ΠΈ, Ρ, Ρ, Π΅, Ρ, Ρ,Β Ρ
ΠΠ»Π°ΡΠ½ΡΠ΅ Π·Π²ΡΒΠΊΠΈ [Π°], [ΠΎ], [Ρ], [Ρ], [Ρ] Π·Π²ΡΒΡΠ°Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ²Π΅ΡΒΠ΄ΡΡ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΡ Π·Π²ΡΒΠΊΠΎΠ², Π° Π±ΡΠΊΒΠ²Ρ Β«ΠΈΒ», Β«Π΅Β», Β«ΡΒ», Β«ΡΒ», Β«ΡΒ» ΠΈ Β«ΡΒ» ΠΎΠ±ΠΎΒΠ·Π½Π°ΒΡΠ°ΒΡΡ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΒΠ΄ΡΒΡΠΈΠΉ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠΉ Π·Π²ΡΠΊ ΡΠ²Π»ΡΒΠ΅ΡΒΡΡ ΠΌΡΠ³ΒΠΊΠΈΠΌ. ΠΡΠ° ΡΠΎΠ½Π΅ΒΡΠΈΒΡΠ΅ΒΡΠΊΠ°Ρ ΠΌΡΠ³ΒΠΊΠΎΡΡΡ ΠΎΠ±ΠΎΒΠ·Π½Π°ΒΡΠ°ΒΠ΅ΡΒΡΡ ΡΠΏΠ΅ΒΡΠΈΒΠ°Π»ΡΒΠ½ΡΠΌ Π·Π½Π°ΡΒΠΊΠΎΠΌ β Π°ΠΏΠΎΒΡΡΡΠΎΒΡΠΎΠΌ:
- Π»ΡΠ½ [Π»β ΠΎΒ Π½]
- ΡΠ΅Π΄ΠΈΡ [Ρβ ΠΈ Π΄β ΠΈΒ Ρ]
- ΡΠΎΠ»Ρ [Ρ ΠΎΒ Π»β]
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»ΒΠ½Π΅ΒΠ½ΠΈΡ Π·Π²ΡΠΊΠΎ-Π±ΡΠΊΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΒΠ±ΠΎΒΡΠ° ΡΠ»Π΅ΒΠ΄ΡΒΠ΅Ρ ΠΏΠΎΡΡΠ°ΒΠ²ΠΈΡΡ Π² ΡΠ»ΠΎΒΠ²Π΅ ΡΠ΄Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΠ΄ ΡΠ΄Π°ΒΡΠ΅ΒΠ½ΠΈΒΠ΅ΠΌ Π³Π»Π°ΡΒΠ½ΡΠ΅ Π·Π²ΡΒΠΊΠΈ Π·Π²ΡΒΡΠ°Ρ ΠΎΡΡΠ΅ΡΒΠ»ΠΈΒΠ²ΠΎ, Π° Π±Π΅Π· ΡΠ΄Π°ΒΡΠ΅ΒΠ½ΠΈΡ ΠΎΠ½ΠΈ ΠΈΡΠΊΠ°ΠΆΠ°ΡΡΡΡ:
- Β Π±ΡΠΊΒΠ²Π° «о» обоΒΠ·Π½Π°ΒΡΠ°ΒΠ΅Ρ Π·Π²ΡΠΊ [Π°];
Π΄ΠΎΜΠΌΠΈΠΊ [Π΄ ΠΎ ΠΌβ ΠΈ ΠΊ], ΠΎΠΊΠ½ΠΎΜ [Π° ΠΊ Π½Β ΠΎ]
- ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΡ Π±ΡΠΊΒΠ²Ρ Β«Π΅Β», Β«Ρ» бСз ΡΠ΄Π°ΒΡΠ΅ΒΠ½ΠΈΡ ΡΠΎΠΎΡΒΠ²Π΅ΡΒΡΡΠ²ΡΒΠ΅Ρ Π·Π²ΡΒΠΊΡ [ΠΈ]
cΡΠ΅ΒΠ½Π°Μ [Ρ Ρβ ΠΈ Π½ Π°] , ΡΡΠ±ΠΈΜΠ½Π° [Ρβ ΠΈ Π±β ΠΈ Π½Β Π°]
ΠΠ°ΠΆΠ΄ΡΠΉ Π³Π»Π°ΡΒΠ½ΡΠΉ Π·Π²ΡΠΊ Π² ΠΎΠ΄ΠΈΒΠ½ΠΎΡΒΠΊΡ ΠΈΠ»ΠΈ Π² ΡΠΎΡΠ΅ΒΡΠ°ΒΠ½ΠΈΠΈ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΒΠΊΠΈΒΠΌΠΈ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΒΠΌΠΈ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΒΠΌΠΈ ΠΎΠ±ΡΠ°ΒΠ·ΡΒΠ΅Ρ ΡΠΎΠ½Π΅ΒΡΠΈΒΡΠ΅ΒΡΠΊΠΈΠΉΒ ΡΠ»ΠΎΠ³:
- Π±ΠΎ-Π»ΠΎ-ΡΠΎ
- ΠΊΡΠ°-ΡΠΎ-ΡΠ°
- Ρ-Π΄ΠΈ-Π²ΠΈ-ΡΠ΅Π»Ρ-Π½ΡΠΉ
- Π»ΠΈ-Π½ΠΈ-Ρ
Π‘ΠΎΠ³Π»Π°ΡΠ½ΡΠ΅ Π±ΡΠΊΠ²Ρ ΠΈΒ Π·Π²ΡΠΊΠΈ
Π ΡΡΡΒΡΠΊΠΎΠΉ ΡΠ΅ΡΠΈ Π·Π²ΡΒΡΠ°Ρ 36 ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΡ Π·Π²ΡΒΠΊΠΎΠ². ΠΡΠΈ ΠΈΡ ΠΏΡΠΎΒΠΈΠ·ΒΠ½ΠΎΒΡΠ΅ΒΠ½ΠΈΠΈ Π²ΡΠ΄ΡΒΡ Π°ΒΠ΅ΒΠΌΡΠΉ Π²ΠΎΠ·ΒΠ΄ΡΡ ΡΡΠ΅ΡΒΡΡ ΠΎΠ± Π³ΡΠ±Ρ, ΡΠ·ΡΠΊ ΠΈ ΡΠ΅ΠΊΠΈ, Π² ΡΠ΅Π·ΡΠ»ΡΒΡΠ°ΒΡΠ΅ ΡΠ΅Π³ΠΎ Π²ΠΎΠ·ΒΠ½ΠΈΒΠΊΠ°ΒΠ΅ΡΒ ΡΡΠΌ.
ΠΡΠ΅Π³Π΄Π° Π·Π²ΠΎΠ½ΒΠΊΠΈΠ΅ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠ΅ [Π»], [ΠΌ], [Π½], [Ρ] ΠΏΡΠΎΒΠΈΠ·ΒΠ½ΠΎΒΡΡΡΒΡΡ Ρ ΡΡΠ°ΒΡΡΠΈΒΠ΅ΠΌ Π³ΠΎΠ»ΠΎΒΡΠ° ΠΈ ΠΌΠΈΠ½ΠΈΒΠΌΠ°Π»ΡΒΠ½ΡΠΌΒ ΡΡΠΌΠΎΠΌ.
ΠΡΠ»ΠΈ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠ΅ Π·Π²ΡΒΠΊΠΈ ΠΏΡΠΎΒΠΈΠ·ΒΠ½ΠΎΒΡΡΡΒΡΡ Ρ Π±ΠΎΜΠ»ΡΡΠ΅ΠΉ Π΄ΠΎΠ»Π΅ΠΉ Π³ΠΎΠ»ΠΎΒΡΠ° ΠΈ ΡΡΠΌΠ°, ΡΠΎ ΠΎΠ±ΡΠ°ΒΠ·ΡΒΡΡΒΡΡ Π·Π²ΠΎΠ½ΒΠΊΠΈΠ΅ ΡΠΎΠ³Π»Π°ΡΠ½ΡΠ΅:
[Π±], [Π²], [Π³], [Π΄], [ΠΆ], [Π·]
ΠΠ°ΠΆΠ΄ΠΎΠΌΡ Π·Π²ΠΎΠ½ΒΠΊΠΎΒΠΌΡ ΡΠΎΠ³Π»Π°ΡΒΠ½ΠΎΒΠΌΡ ΡΠΎΠΎΡΒΠ²Π΅ΡΒΡΡΠ²ΡΒΠ΅Ρ ΠΏΠ°ΡΒΠ½ΡΠΉ Π³Π»ΡΒΡ ΠΎΠΉ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠΉ, ΠΊΠΎΡΠΎΒΡΡΠΉ ΠΏΡΠΎΒΠΈΠ·ΒΠ½ΠΎΒΡΠΈΡΒΡΡ Ρ Π±ΠΎΠ»ΡΒΡΠ΅ΠΉ Π΄ΠΎΠ»Π΅ΠΉ ΡΡΠΌΠ°, ΡΠ΅ΠΌ Π³ΠΎΠ»ΠΎΡΠ°:
- [Π±] β [ΠΏ];
- [Π²] β [Ρ];
- [Π³] β [Β ΠΊ];
- [Π΄] β [Ρ];
- [ΠΆ] β [Ρ];
- [Π·] β [Ρ].
ΠΡΠΊΠ²Ρ Β«Ρ Β», Β«ΡΒ», Β«ΡΒ», Β«ΡΒ» ΠΎΠ±ΠΎΒΠ·Π½Π°ΒΡΠ°ΒΡΡ Π³Π»ΡΒΡ ΠΈΠ΅ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠ΅ [Ρ ], [Ρ], [Ρβ], [Ρβ], Ρ ΠΊΠΎΡΠΎΒΡΡΡ Π½Π΅Ρ ΠΏΠ°ΡΒΠ½ΡΡ Π·Π²ΠΎΠ½ΒΠΊΠΈΡ ΡΠΎΠ³Π»Π°ΡΠ½ΡΡ .
Π‘ΠΎΠ³Π»Π°ΡΠ½ΡΠ΅ Π·Π²ΡΒΠΊΠΈ Π±ΡΠ²Π°ΒΡΡ ΡΠ²Π΅ΡΒΠ΄ΡΠ΅ ΠΈ ΠΌΡΠ³ΠΊΠΈΠ΅:
[Π±] β [Π±β], [Π²] β [Π²β], [Π³] β [Π³β], [Π΄] β [Π΄β], [Π·] β [Π·β], [ΠΊ] β [ΠΊβ], [Π»] β [Π»β], [ΠΌ] β [ΠΌβ], [Π½] β [Π½β], [ΠΏ] β [ΠΏβ], [Ρ] β [Ρβ], [Ρ] β [Ρβ], [Ρ] β [Ρβ], [Ρ] β [Ρβ], [Ρ ] β [Ρ β]
ΠΡΠΏΠΎΠ»Π½ΡΡ Π·Π²ΡΠΊΠΎ-Π±ΡΠΊΠ²Π΅Π½Π½ΡΠΉ Π°Π½Π°ΒΠ»ΠΈΠ·, ΡΡΠΈΒΡΡΒΠ²Π°ΒΠ΅ΠΌ, ΡΡΠΎ Π±ΡΠΊΒΠ²Ρ Β«ΠΉΒ», Β«ΡΒ» ΠΈ Β«ΡΒ» ΠΎΠ±ΠΎΒΠ·Π½Π°ΒΡΠ°ΒΡΡ Π²ΡΠ΅ΒΠ³Π΄Π° ΠΌΡΠ³ΒΠΊΠΈΠ΅ Π·Π²ΡΒΠΊΠΈ [ΠΉβ], [Ρβ], [Ρβ],
Π° Π±ΡΠΊΒΠ²Ρ Β«ΠΆΒ», Β«ΡΒ», Β«ΡΒ» βΒ ΡΠ²Π΅ΡΒΠ΄ΡΠ΅ Π·Π²ΡΒΠΊΠΈ [ΠΆ], [Ρ], [Ρ].
ΠΠ°ΠΊ Π½Π°ΡΡΠΈΡΡΡΡ Π΄Π΅Π»Π°ΡΡ Π·Π²ΡΠΊΠΎ-Π±ΡΠΊΠ²Π΅Π½Π½ΡΠΉ ΡΠ°Π·Π±ΠΎΡ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΒΠ±Ρ Π½Π°ΡΡΠΈΡΡΒΡΡ Π΄Π΅Π»Π°ΡΡ Π·Π²ΡΠΊΠΎ-Π±ΡΠΊΠ²Π΅Π½Π½ΡΠΉ ΡΠ°Π·ΒΠ±ΠΎΡ ΡΠ»ΠΎΒΠ²Π°, Π²Π°ΠΆΒΠ½ΠΎ ΠΏΠΎΠ½ΠΈΒΠΌΠ°ΡΡ, ΡΡΠΎ ΡΠ°ΡΡΠΎ ΠΎΡΡΠΎΒΠ³ΡΠ°ΒΡΠΈΒΡΠ΅ΒΡΠΊΠ°Ρ Π·Π°ΠΏΠΈΡΡ ΡΠ»ΠΎΒΠ²Π° ΠΈ Π΅Π³ΠΎ Π·Π²ΡΒΡΠ°ΒΠ½ΠΈΠ΅ Π½Π΅ ΡΠΎΠ²ΒΠΏΠ°ΒΠ΄Π°ΒΡΡ. Π ΡΠ»ΠΎΒΠ²Π΅ ΠΌΠΎΠΆΠ΅ΡΒ Π±ΡΡΡ:
- ΠΎΠ΄ΠΈΒΠ½Π°ΒΠΊΠΎΒΠ²ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΒΡΠ΅ΒΡΡΠ²ΠΎ Π·Π²ΡΠΊΠΎΠ²;
- Π·Π²ΡΒΠΊΠΎΠ² Π±ΠΎΠ»ΡΒΡΠ΅, ΡΠ΅ΠΌΒ Π±ΡΠΊΠ²;
- Π±ΡΠΊΠ² Π±ΠΎΠ»ΡΒΡΠ΅, ΡΠ΅ΠΌ Π·Π²ΡΠΊΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΡ
- Π½Π΅ΜΠ±ΠΎ [Π½β Ρ Π± Π°] β 4 Π±ΡΠΊΒΠ²Ρ, 4Β Π·Π²ΡΠΊΠ°
- ΡΡΠ»ΡΜΠΊ [ΠΉ βΠ° Ρ Π» Ρ ΠΊ] β 5 Π±ΡΠΊΠ², 6 Π·Π²ΡΠΊΠΎΠ²
- ΠΊΡΠΏΠ°ΜΡΡ [ΠΊ Ρ ΠΏ Π° Ρβ] β 6 Π±ΡΠΊΠ², 5 Π·Π²ΡΠΊΠΎΠ²
ΠΡΠΈ Π·Π°ΠΏΠΈΒΡΠΈ Π·Π²ΡΒΠΊΠΎΒΠ²ΠΎΒΠ³ΠΎ ΡΠΎΡΡΠ°ΒΠ²Π° ΡΠ»ΠΎΒΠ²Π° ΡΠ»Π΅ΒΠ΄ΡΒΠ΅Ρ ΡΡΠΈΒΡΡΒΠ²Π°ΡΡ, ΡΡΠΎ Π±ΡΠΊΒΠ²Ρ Β«Π΅Β», Β«ΡΒ», Β«ΡΒ», Β«ΡΒ» ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΠΎΒΠ·Π½Π°ΒΡΠ°ΡΡ Π΄Π²Π° Π·Π²ΡΒΠΊΠ° Π² ΡΠ»Π΅ΒΠ΄ΡΒΡΒΡΠΈΡ ΠΏΠΎΠ·ΠΈΒΡΠΈΒΡΡ Π²Β ΡΠ»ΠΎΠ²Π΅:
1. Π² Π½Π°ΡΠ°ΒΠ»Π΅Β ΡΠ»ΠΎΠ²Π°:
- Π΅ΜΠ΄ΠΊΠΈΠΉ [ΠΉβ Ρ Ρ ΠΊβΠΈΒ ΠΉβ]
- ΡΠΌΠΊΠΈΠΉ [ΠΉβ ΠΎ ΠΌ ΠΊβ ΠΈΒ ΠΉβ]
- ΡΜΠ½ΡΠΉ [ΠΉβ Ρ Π½ ΡΒ ΠΉβ]
- ΡΜΡΠ»ΠΈ [ΠΉβ Π° Ρβ Π»βΒ ΠΈ]
2. ΠΏΠΎΡΠ»Π΅ Π΄ΡΡΒΠ³ΠΈΡ Π³Π»Π°ΡΒΠ½ΡΡ Π·Π²ΡΠΊΠΎΠ²:
- ΠΏΠΎΠ΅Π·Π΄ΠΈΜΡΡ [ΠΏ Π° ΠΉβ Ρ Π·β Π΄β ΠΈΒ Ρβ]
- ΠΏΠΎΡΠΌ [ΠΏ Π° ΠΉβ ΠΎ ΠΌ]
- ΠΊΠ°ΡΜΡΠ° [ΠΊ Π° ΠΉβ Ρ ΡΒ Π°]
- ΠΌΠ°ΡΜΠΊ [ΠΌ Π° ΠΉβ Π° ΠΊ]
3. ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·ΒΠ΄Π΅ΒΠ»ΠΈΒΡΠ΅Π»ΡΒΠ½ΡΡ Β«ΡΒ» ΠΈ Β«ΡΒ»:
- ΠΆΡΠ»ΡΠ΅ΜΠ½ [ΠΆ Ρ Π»βΒ ΠΉβ Ρβ Π½]
- Π²ΡΠ΅ΜΡ Π°ΡΡ [Π² ΠΉ βΡ Ρ Π°Β Ρβ]
- ΠΊΡΡΡΡΠ· [ΠΊ Ρ ΡβΒ ΠΉβ ΠΎ Ρ]
- ΠΎΡΡΡΠΌ [Π° Ρ ΠΉβ ΠΎ ΠΌ]
- ΡΡΡΜΠ½ΡΠΉ [ΡβΒ ΠΉβ Π° Π½ ΡΒ ΠΉβ]
- ΠΈΠ·ΡΡΜΠ½ [ΠΈ Π·βΒ ΠΉβ Π° Π½]
- Π²ΡΡΜΠ½ΠΎΠΊ [Π²βΒ ΠΉβ Ρ Π½ ΠΎΒ ΠΊ]
- ΠΏΡΠ΅Π΄ΡΡΠ±ΠΈΠ»Π΅ΜΠΉΠ½ΡΠΉ [ΠΏ Ρβ ΠΈ Π΄ Β ΠΉβ Ρ Π±β ΠΈ Π»β Ρ ΠΉβ Π½ ΡΒ ΠΉβ]
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, Π² ΡΠ°ΠΊΠΈΡ ΡΠ»ΠΎΒΠ²Π°Ρ Π²ΡΠ΅ΒΠ³Π΄Π° Π±ΠΎΠ»ΡΒΡΠ΅ Π·Π²ΡΒΠΊΠΎΠ², ΡΠ΅ΠΌΒ Π±ΡΠΊΠ².
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΡ Π·Π²ΡΒΠΊΠΎΠ² Π±ΡΠΊΒΠ²Ρ Β«Π΅Β», Β«ΡΒ», Β«ΡΒ», Β«ΡΒ» ΠΎΠ±ΠΎΒΠ·Π½Π°ΒΡΠ°ΒΡΡ ΠΈΡ ΠΌΡΠ³ΠΊΠΎΡΡΡ:
- ΡΠ΅Π» [ΡβΒ Ρ Π»]
- Π½ΡΡ [Π½β ΠΎ Ρ]
- Π»ΡΠΊ [Π»β Ρ ΠΊ]
- ΠΏΡΡΡ [ΠΏβ Π° Ρβ]
ΠΠ°ΠΏΠΈΡΡΠ²Π°Ρ Π·Π²ΡΒΡΠ°ΒΠ½ΠΈΠ΅ ΡΠ»ΠΎΒΠ²Π°, ΡΠ»Π΅ΒΠ΄ΡΒΠ΅Ρ ΡΡΠΈΒΡΡΒΠ²Π°ΡΡ, ΡΡΠΎ Π² ΡΡΡΒΡΠΊΠΎΠΌ ΡΠ·ΡΒΠΊΠ΅ ΠΏΡΠΎΒΠΈΡΒΡ ΠΎΒΠ΄ΠΈΡ ΡΠΎΠ½Π΅ΒΡΠΈΒΡΠ΅ΒΡΠΊΠΈΠΉ ΠΏΡΠΎΒΡΠ΅ΡΡΒ ΠΎΠ³Π»ΡΒΡΠ΅ΒΠ½ΠΈΡ Π·Π²ΠΎΠ½ΒΠΊΠΈΡ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΡ , Π½Π°Ρ ΠΎΒΠ΄ΡΒΡΠΈΡ ΒΡΡΒ ΠΏΠ΅ΡΠ΅Π΄ Π³Π»ΡΒΡ ΠΈΠΌ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠΌ ΠΈ Π² ΠΊΠΎΠ½ΒΡΠ΅ ΡΠ»ΠΎΒΠ²Π°, ΠΈ, Π½Π°ΠΎΠ±ΠΎΒΡΠΎΡ,Β ΠΎΠ·Π²ΠΎΠ½ΒΡΠ΅ΒΠ½ΠΈΡ Π³Π»ΡΒΡ ΠΈΡ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π·Π²ΠΎΠ½ΒΠΊΠΈΠΌ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠΌ, ΠΊΡΠΎΒΠΌΠ΅ Β«Π»Β», Β«ΠΌΒ», Β«Π½Β», Β«ΡΒ», Β«Π²Β», Β«ΠΉΒ»
- Π»ΠΎΜΠΆΠΊΠ° [Π»ΠΎ Ρ ΠΊ Π°], Π²ΠΈΜΡΡΠ·Ρ [Π²β ΠΈ Ρβa Ρβ],Β ΠΎΜΡΠ±Π»Π΅ΡΠΊΒ [ΠΎ Π΄ Π± Π»β ΠΈ ΡΒ ΠΊ];
- ΡΠΌΠ°ΜΠ·ΠΊΠ° [Ρ ΠΌ Π° Ρ ΠΊ Π°],Β Π΄ΡΠΎΠ±Ρ [Π΄ Ρ ΠΎ ΠΏβ], ΡΠ΄Π²ΠΈΜΠ½ΡΡΡ [Π· Π΄ Π²β ΠΈ Π½ ΡΒ Ρβ];
- Π²ΡΠ΅ [Ρ Ρβ Ρ],Β ΠΏΡΡΠ΄ [ΠΏ Ρ Ρ Ρ], Π²ΠΎΠΊΠ·Π°ΜΠ» [Π² Π° Π³ Π· Π°Β Π»].
Π ΡΠ»ΠΎΒΠ²Π°Ρ Ρ Π±ΡΠΊΒΠ²ΠΎΒΡΠΎΒΡΠ΅ΒΡΠ°ΒΠ½ΠΈΒΠ΅ΠΌ Β«Π·ΠΆΒ» ΡΠ»ΡΒΡΠΈΡΒΡΡ Π΄Π»ΠΈΠ½ΒΠ½ΡΠΉ ΠΌΡΠ³ΒΠΊΠΈΠΉ Π·Π²ΡΠΊ [ΠΆβ]:
- Π±ΡΡΠ·ΠΆΠ°ΜΡΡ [Π± Ρβ Ρ ΠΆβ Π°Β Ρβ]
- ΠΌΠΎΠ·ΠΆΠ΅ΡΠΎΜΠΊ [ΠΌ Π° ΠΆβ ΠΈ Ρβ ΠΎΒ ΠΊ]
Π ΠΊΠΎΠ½ΒΡΠ΅ Π³Π»Π°ΒΠ³ΠΎΒΠ»ΠΎΠ² Π±ΡΠΊΒΠ²ΠΎΒΡΠΎΒΡΠ΅ΒΡΠ°ΒΠ½ΠΈΡ -ΡΡΡ ΠΈ -ΡΡΡΡ Π·Π²ΡΒΡΠ°Ρ ΠΊΠ°ΠΊ [ΡΠ°]:
- Π±ΠΎΠΈΜΡΡΡ [Π± Π° ΠΈ ΡΒ Π°];
- ΡΡΠ΅Π»ΠΈΜΡΡΡΡ [Ρβ Ρβ ΠΈ Π» ΠΈ ΡΒ Π°].
Π ΡΠ»ΠΎΒΠ²Π°Ρ , Π² ΠΊΠΎΡΠΎΒΡΡΡ Π΅ΡΡΡ Β«ΡΒ», ΠΊΠΎΡΠΎΒΡΡΠΉ ΠΎΠ±ΠΎΒΠ·Π½Π°ΒΡΠ°ΒΠ΅Ρ ΠΌΡΠ³ΒΠΊΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΒΠ΄ΡΒΡΠ΅ΒΠ³ΠΎ ΡΠΎΠ³Π»Π°ΡΒΠ½ΠΎΒΠ³ΠΎ Π·Π²ΡΒΠΊΠ° ΠΈΠ»ΠΈ ΡΠ²Π»ΡΒΠ΅ΡΒΡΡ ΠΌΠΎΡΒΡΠΎΒΠ»ΠΎΒΠ³ΠΈΒΡΠ΅ΒΡΠΊΠΈΠΌ Π·Π½Π°ΒΠΊΠΎΠΌ, ΡΠΊΠ°ΒΠ·ΡΒΠ²Π°ΒΡΒΡΠΈΠΌ Π½Π° ΠΏΡΠΈΒΠ½Π°Π΄ΒΠ»Π΅ΠΆΒΠ½ΠΎΡΡΡ ΡΠ»ΠΎΒΠ²Π° ΠΊ ΠΆΠ΅Π½ΒΡΠΊΠΎΒΠΌΡ ΡΠΎΠ΄Ρ, Π±ΡΠΊΠ² Π½Π°ΡΡΠΈΒΡΡΒΠ²Π°ΒΠ΅ΠΌ Π±ΠΎΠ»ΡΒΡΠ΅, Π° Π·Π²ΡΒΠΊΠΎΠ² ΠΌΠ΅Π½ΡΡΠ΅:
- Π·Π½Π°ΡΡ [Π· Π½ Π° Ρβ] β 5 Π±ΡΠΊΠ², 4Β Π·Π²ΡΠΊΠ°;
- ΡΠ΅ΡΡ [Ρ βΡ Ρβ] β 4 Π±ΡΠΊΒΠ²Ρ, 3Β Π·Π²ΡΠΊΠ°.
ΠΡΠ³ΠΊΠΈΠ΅ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠ΅ Π·Π²ΡΒΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΌΡΠ³ΒΡΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΒΠ΄ΡΒΡΠΈΠΉ ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠΉΒ Π·Π²ΡΠΊ.
ΠΠΎΡΠ»ΡΡΠ°Π΅ΠΌ, ΠΊΠ°ΠΊ Π·Π²ΡΒΡΠ°ΡΒ ΡΠ»ΠΎΠ²Π°:
- ΡΠ²Π΅ΜΡΠΊΠ° [Ρβ Π²β Ρ Ρβ ΠΊΒ Π°]
- Π³Π²ΠΎΜΠ·Π΄ΠΈ [Π³ Π²ΠΎ Π·β Π΄βΒ ΠΈ]
- ΠΆΠΈΠ·Π½Ρ [ΠΆ Ρ Π·β Π½β]
- Π·ΠΎΜΠ½ΡΠΈΠΊ [Π· ΠΎ Π½β Ρβ ΠΈΒ ΠΊ]
ΠΠ±ΡΠ°Π·Π΅Ρ ΡΠΎΠ½Π΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ°
ΠΡΡΠΎΡΠ½ΠΈΠΊ ΠΈΠ·ΠΎΠ±ΒΡΠ°ΒΠΆΠ΅ΒΠ½ΠΈΡ: fedsp. com
ΠΡΠΈΠΌΠ΅Ρ Π·Π²ΡΠΊΠΎ-Π±ΡΠΊΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ°
Π§ΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»ΒΠ½ΠΈΡΡ Π·Π²ΡΠΊΠΎ-Π±ΡΠΊΠ²Π΅Π½Π½ΡΠΉ ΡΠ°Π·ΒΠ±ΠΎΡ, Π·Π°ΠΏΠΈΒΡΠ΅ΠΌ ΡΠ»ΠΎΒΠ²ΠΎ ΠΈ ΠΏΠΎΡΡΠ°ΒΠ²ΠΈΠΌ Π² Π½Π΅ΠΌ ΡΠ΄Π°ΒΡΠ΅ΒΠ½ΠΈΠ΅. Π Π°Π·Π΄Π΅Π»ΠΈΠΌ Π΅Π³ΠΎ Π½Π° ΡΠΎΠ½Π΅ΒΡΠΈΒΡΠ΅ΒΡΠΊΠΈΠ΅ ΡΠ»ΠΎΒΠ³ΠΈ. Π£ΡΠΈΡΡΠ²Π°Ρ Π²ΡΠ΅ ΡΠΎΠ½Π΅ΒΡΠΈΒΡΠ΅ΒΡΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅ΒΠ½Π΅ΒΠ½ΠΈΡ Π² ΡΠ»ΠΎΒΠ²Π΅, Π·Π°ΠΏΠΈΒΡΠ΅ΠΌ ΠΏΠΎ Π²Π΅ΡΒΡΠΈΒΠΊΠ°ΒΠ»ΠΈ Π±ΡΠΊΒΠ²Ρ ΠΈ ΡΠΎΠΎΡΒΠ²Π΅ΡΒΡΡΠ²ΡΒΡΒΡΠΈΠ΅ ΠΈΠΌ Π·Π²ΡΒΠΊΠΈ ΡΠ»ΠΎΒΠ²Π° Π² ΠΊΠ²Π°Π΄ΒΡΠ°ΡΒΠ½ΡΡ ΡΠΊΠΎΠ±ΒΠΊΠ°Ρ . ΠΠ°Π΄ΠΈΠΌ ΡΠΎΠ½Π΅ΒΡΠΈΒΡΠ΅ΒΡΠΊΡΡ Ρ Π°ΡΠ°ΠΊΒΡΠ΅ΒΡΠΈΒΡΡΠΈΒΠΊΡ ΠΊΠ°ΠΆΒΠ΄ΠΎΒΠΌΡΒ Π·Π²ΡΠΊΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠΏΠΎΠ»ΒΠ½ΠΈΠΌ ΡΠΎΠ½Π΅ΒΡΠΈΒΡΠ΅ΒΡΠΊΠΈΠΉ ΡΠ°Π·ΒΠ±ΠΎΡ ΡΠ»ΠΎΒΠ²Π° Β«ΡΠ»ΠΎΡΒΠ½ΡΠΉΒ»:
ΡΠ»ΠΎΡΒΠ½ΡΠΉΒ [ΠΉβ ΠΎ Π» Π° Ρβ Π½ ΡΒ ΠΉβ]
Ρ-Π»ΠΎ-ΡΠ½ΡΠΉΒ β 3 ΡΠ»ΠΎΒΠ³Π°. ΠΠ΅ΡΠ²ΡΠΉ ΡΠ»ΠΎΠ³ ΡΠ΄Π°ΡΠ½ΡΠΉ.
- Π±ΡΠΊΒΠ²Π° Β«ΡΒ» β [ΠΉβ] β ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠΉ, Π·Π²ΠΎΠ½ΒΠΊΠΈΠΉ Π½Π΅ΠΏΠ°ΡΒΠ½ΡΠΉ, ΠΌΡΠ³ΒΠΊΠΈΠΉ Π½Π΅ΠΏΠ°ΡΠ½ΡΠΉ;
- [ΠΎ] β Π³Π»Π°ΡΒΠ½ΡΠΉ ΡΠ΄Π°ΡΠ½ΡΠΉ;
- Π±ΡΠΊΒΠ²Π° Β«Π»Β» β [Π»] β ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠΉ Π·Π²ΠΎΠ½ΒΠΊΠΈΠΉ Π½Π΅ΠΏΠ°ΡΒΠ½ΡΠΉ, ΡΠ²Π΅ΡΒΠ΄ΡΠΉ ΠΏΠ°ΡΠ½ΡΠΉ;
- Π±ΡΠΊΒΠ²Π° Β«ΠΎΒ» β [Π°] β Π³Π»Π°ΡΒΠ½ΡΠΉ Π±Π΅Π·ΡΠ΄Π°ΡΠ½ΡΠΉ;
- Π±ΡΠΊΒΠ²Π° Β«ΡΒ» β [Ρβ] β ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠΉ, Π³Π»ΡΒΡ ΠΎΠΉ Π½Π΅ΠΏΠ°ΡΒΠ½ΡΠΉ, ΠΌΡΠ³ΒΠΊΠΈΠΉ Π½Π΅ΠΏΠ°ΡΠ½ΡΠΉ;
- Π±ΡΠΊΒΠ²Π° Β«Π½Β»- [Π½] β ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠΉ Π·Π²ΠΎΠ½ΒΠΊΠΈΠΉ Π½Π΅ΠΏΠ°ΡΒΠ½ΡΠΉ, ΡΠ²Π΅ΡΒΠ΄ΡΠΉ ΠΏΠ°ΡΠ½ΡΠΉ;
- Π±ΡΠΊΒΠ²Π° Β«ΡΒ» β [Ρ]Β β Π³Π»Π°ΡΒΠ½ΡΠΉ Π±Π΅Π·ΡΠ΄Π°ΡΠ½ΡΠΉ;
- Π±ΡΠΊΒΠ²Π° Β«ΠΉΒ» β [ΠΉβ] β ΡΠΎΠ³Π»Π°ΡΒΠ½ΡΠΉ, Π·Π²ΠΎΠ½ΒΠΊΠΈΠΉ Π½Π΅ΠΏΠ°ΡΒΠ½ΡΠΉ, ΠΌΡΠ³ΒΠΊΠΈΠΉ Π½Π΅ΠΏΠ°ΡΠ½ΡΠΉ.
Π ΡΠ»ΠΎΒΠ²Π΅ Β«ΡΠ»ΠΎΡΒΠ½ΡΠΉΒ» 7 Π±ΡΠΊΠ², 8 Π·Π²ΡΠΊΠΎΠ².
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΠ΅ΒΡΠΈΒΠ°Π»
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·ΒΠ½ΠΈΠΊΒΠ½ΡΡ ΡΡΡΠ΄ΒΠ½ΠΎΒΡΡΠΈ ΠΏΡΠΈ ΠΏΡΠΎΒΠ²Π΅ΒΠ΄Π΅ΒΠ½ΠΈΠΈ Π·Π²ΡΠΊΠΎ-Π±ΡΠΊΠ²Π΅Π½Π½ΠΎΠ³ΠΎ (ΡΠΎΠ½Π΅ΒΡΠΈΒΡΠ΅ΒΡΠΊΠΎΒΠ³ΠΎ) ΡΠ°Π·ΒΠ±ΠΎΒΡΠ° ΡΠ»ΠΎΒΠ²Π°, ΡΠΎ Π²ΡΠ΅ΒΠ³Π΄Π° ΠΌΠΎΠΆΒΠ½ΠΎ ΠΏΡΠΎΒΠ²Π΅ΒΡΠΈΡΡ ΡΠ΅Π±Ρ Π½Π° ΡΠ°ΠΉΒΡΠ΅ phoneticonline.ru.
ΠΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊ Β«Π€ΠΎΠ½Π΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·Π±ΠΎΡ ΡΠ»ΠΎΠ²Β»
ΠΠ»Ρ Π·Π°ΠΊΡΠ΅ΠΏΒΠ»Π΅ΒΠ½ΠΈΡ ΠΌΠ°ΡΠ΅ΒΡΠΈΒΠ°ΒΠ»Π° ΠΏΠΎΡΠΌΠΎΡΒΡΠΈΒΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ ΡΠ΅ΠΌΠ΅Β ΡΡΠΎΠΊΠ°.
ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ β python-sounddevice, Π²Π΅ΡΡΠΈΡ 0.4.0
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΡΠΈΡ
ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ argparse
Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ.
Π§ΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ΅ΠΊΡΡ ΡΠΏΡΠ°Π²ΠΊΠΈ, ΠΎΠ±ΡΡΡΠ½ΡΡΡΠΈΠΉ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ,
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ --help
.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
python3 play_file.py --help
ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠ°ΠΉΠ»
play_file.py
#!/usr/bin/env python3 """ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π°ΡΠ΄ΠΈΠΎΡΠ°ΠΉΠ» Π² ΠΏΠ°ΠΌΡΡΡ ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. NumPy ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (https://PySoundFile.readthedocs.io/) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΡΡΠΎΠ±Ρ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ. ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π²Π΅ΡΡ ΡΠ°ΠΉΠ» Π² ΠΏΠ°ΠΌΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠΠ»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ play_long_file.py. """ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ°ΠΊ SD ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΊΠ°ΠΊ sf ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ int_or_str (ΡΠ΅ΠΊΡΡ): """ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π±ΠΎΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².""" ΠΏΡΡΠ°ΡΡΡΡ: Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π»ΠΎΠ΅ (ΡΠ΅ΠΊΡΡ) ΠΊΡΠΎΠΌΠ΅ ValueError: Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΠ΅ΠΊΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ = argparse.ArgumentParser (add_help = False) parser.add_argument( '-l', '--list-devices', action='store_true', help='ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ΄ΠΈΠΎΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ Π²ΡΠΉΡΠΈ') Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΎΡΡΠ°Π»ΠΎΡΡ = parser.parse_known_args() Π΅ΡΠ»ΠΈ args.list_devices: ΠΏΠ΅ΡΠ°ΡΡ (sd.query_devices()) ΠΏΠ°ΡΡΠ΅Ρ.Π²ΡΡ ΠΎΠ΄(0) ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ = argparse.ArgumentParser( ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter, ΡΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ=[ΠΏΠ°ΡΡΠ΅Ρ]) parser.add_argument( 'ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°', metavar='ΠΠΠ― Π€ΠΠΠΠ', help='Π°ΡΠ΄ΠΈΠΎΡΠ°ΠΉΠ» Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ') parser.add_argument( '-d', '--device', ΡΠΈΠΏ=int_or_str, help='ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²ΡΠ²ΠΎΠ΄Π° (ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°)') Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ = parser.parse_args (ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ) ΠΏΡΡΠ°ΡΡΡΡ: Π΄Π°Π½Π½ΡΠ΅, fs = sf.read(args.filename, dtype='float32') sd.play(Π΄Π°Π½Π½ΡΠ΅, fs, ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ=args.device) ΡΡΠ°ΡΡΡ = sd.wait() ΠΊΡΠΎΠΌΠ΅ KeyboardInterrupt: parser.exit('\nΠΡΠ΅ΡΠ²Π°Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ') ΠΊΡΠΎΠΌΠ΅ ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ e: parser.exit (ΡΠΈΠΏ (Π΅). __ ΠΈΠΌΡ__ + ': ' + ΡΠ» (Π΅)) Π΅ΡΠ»ΠΈ ΡΡΠ°ΡΡΡ: parser.exit('ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΈ: ' + str(status))
ΠΡΠΎΠΈΠ³ΡΠ°ΡΡ ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½ΡΠΉ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠ°ΠΉΠ»
play_long_file.py
#!/usr/bin/env python3 """ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π°ΡΠ΄ΠΈΠΎΡΠ°ΠΉΠ»Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎΠ΄ΡΠ»Ρ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (https://PySoundFile.readthedocs.io/) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. NumPy Π½Π΅ Π½ΡΠΆΠ΅Π½. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ play_file.py, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π²Π΅ΡΡ ΡΠ°ΠΉΠ» Π² ΠΏΠ°ΠΌΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΡΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π°ΡΠ΄ΠΈΠΎΠ±Π»ΠΎΠΊΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ, Π±ΠΎΠ»ΡΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ NumPy, Π½ΠΎ ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° NumPy Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½. """ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠΌΠΏΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ°ΠΊ SD ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΊΠ°ΠΊ sf ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ int_or_str (ΡΠ΅ΠΊΡΡ): """ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π±ΠΎΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².""" ΠΏΡΡΠ°ΡΡΡΡ: Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π»ΠΎΠ΅ (ΡΠ΅ΠΊΡΡ) ΠΊΡΠΎΠΌΠ΅ ValueError: Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΠ΅ΠΊΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ = argparse.ArgumentParser (add_help = False) parser.add_argument( '-l', '--list-devices', action='store_true', help='ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ΄ΠΈΠΎΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ Π²ΡΠΉΡΠΈ') Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΎΡΡΠ°Π»ΠΎΡΡ = parser.parse_known_args() Π΅ΡΠ»ΠΈ args.list_devices: ΠΏΠ΅ΡΠ°ΡΡ (sd.query_devices()) ΠΏΠ°ΡΡΠ΅Ρ.Π²ΡΡ ΠΎΠ΄(0) ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ = argparse.ArgumentParser( ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter, ΡΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ=[ΠΏΠ°ΡΡΠ΅Ρ]) parser.add_argument( 'ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°', metavar='ΠΠΠ― Π€ΠΠΠΠ', help='Π°ΡΠ΄ΠΈΠΎΡΠ°ΠΉΠ» Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ') parser.add_argument( '-d', '--device', ΡΠΈΠΏ=int_or_str, help='ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²ΡΠ²ΠΎΠ΄Π° (ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°)') parser.add_argument( '-b', '--blocksize', ΡΠΈΠΏ=int, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ=2048, help='ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: %(ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)s)') parser.add_argument( '-q', '--buffersize', ΡΠΈΠΏ=ΡΠ΅Π»ΠΎΠ΅, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ=20, help='ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π»ΠΎΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: %(ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)s)') Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ = parser.parse_args (ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ) Π΅ΡΠ»ΠΈ args.blocksize == 0: parser.error('Π Π°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ') Π΅ΡΠ»ΠΈ args.buffersize < 1: parser.error('ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 1') q = ΠΎΡΠ΅ΡΠ΅Π΄Ρ. ΠΡΠ΅ΡΠ΅Π΄Ρ (maxsize=args.buffersize) ΡΠΎΠ±ΡΡΠΈΠ΅ = ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ.Π‘ΠΎΠ±ΡΡΠΈΠ΅() ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² def (Π°ΡΡΠ΄Π°Π½Π½ΡΠ΅, ΠΊΠ°Π΄ΡΡ, Π²ΡΠ΅ΠΌΡ, ΡΡΠ°ΡΡΡ): ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ ΠΊΠ°Π΄ΡΡ == args.blocksize Π΅ΡΠ»ΠΈ ΡΡΠ°ΡΡΡ.output_underflow: print('ΠΠΏΡΡΡΠΎΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Π°: ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ°?', file=sys.stderr) ΠΏΠΎΠ΄Π½ΡΡΡ sd.CallbackAbort ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ Π½Π΅ ΡΡΠ°ΡΡΡ ΠΏΡΡΠ°ΡΡΡΡ: Π΄Π°Π½Π½ΡΠ΅ = q.get_nowait() ΠΊΡΠΎΠΌΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. ΠΡΡΡΠΎ: print('ΠΡΡΠ΅Ρ ΠΏΡΡΡ: ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ°?', file=sys.stderr) ΠΏΠΎΠ΄Π½ΡΡΡ sd.CallbackAbort Π΅ΡΠ»ΠΈ len(Π΄Π°Π½Π½ΡΠ΅) < len(outdata): outdata[:len(Π΄Π°Π½Π½ΡΠ΅)] = Π΄Π°Π½Π½ΡΠ΅ outdata[len(data):] = b'\x00' * (len(outdata) - len(data)) ΠΏΠΎΠ΄Π½ΡΡΡ sd.CallbackStop Π΅ΡΠ΅: outdata[:] = Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΡΠ°ΡΡΡΡ: Ρ sf.SoundFile(args.filename) ΠΊΠ°ΠΊ f: Π΄Π»Ρ _ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (args.buffersize): Π΄Π°Π½Π½ΡΠ΅ = f.buffer_read (args.blocksize, dtype = 'float32') Π΅ΡΠ»ΠΈ Π½Π΅ Π΄Π°Π½Π½ΡΠ΅: ΠΏΠ΅ΡΠ΅ΡΡΠ² q.put_nowait(data) # ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΠΎΡΠΎΠΊ = sd. RawOutputStream( ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ=f.samplerate, ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ°=args.blocksize, ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ = args.device, ΠΊΠ°Π½Π°Π»Ρ = f.channels, dtype = 'float32', callback=ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ², finish_callback=event.set) Ρ ΠΏΠΎΡΠΎΠΊΠΎΠΌ: ΡΠ°ΠΉΠΌ-Π°ΡΡ = args.blocksize * args.buffersize / f.samplerate ΠΏΠΎΠΊΠ° Π΄Π°Π½Π½ΡΠ΅: Π΄Π°Π½Π½ΡΠ΅ = f.buffer_read (args.blocksize, dtype = 'float32') q.put (Π΄Π°Π½Π½ΡΠ΅, Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ = Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ) event.wait() # ΠΠ΄Π΅ΠΌ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΊΡΠΎΠΌΠ΅ KeyboardInterrupt: parser.exit('\nΠΡΠ΅ΡΠ²Π°Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ') ΠΊΡΠΎΠΌΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ.ΠΠΎΠ»Π½ΡΠΉ: # ΠΡΠΎΠΈΠ·ΠΎΡΠ΅Π» ΡΠ°ΠΉΠΌΠ°ΡΡ, Ρ.Π΅. ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ° Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ parser.exit(1) ΠΊΡΠΎΠΌΠ΅ ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ e: parser.exit (ΡΠΈΠΏ (Π΅). __ ΠΈΠΌΡ__ + ': ' + ΡΠ» (Π΅))
ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π΅Π±-ΠΏΠΎΡΠΎΠΊΠ°
play_stream.py
#!/usr/bin/env python3 """ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π΅Π±-ΠΏΠΎΡΠΎΠΊΠ°. ffmpeg-python (https://github.com/kkroening/ffmpeg-python) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½.ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ URL ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ http://icecast.spc.org:8000/longplayer (ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΌ. Π½Π° https://longplayer.org/). """ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠΌΠΏΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ffmpeg ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ°ΠΊ SD ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ int_or_str (ΡΠ΅ΠΊΡΡ): """ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π±ΠΎΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².""" ΠΏΡΡΠ°ΡΡΡΡ: Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π»ΠΎΠ΅ (ΡΠ΅ΠΊΡΡ) ΠΊΡΠΎΠΌΠ΅ ValueError: Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΠ΅ΠΊΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ = argparse.ArgumentParser (add_help = False) parser.add_argument( '-l', '--list-devices', action='store_true', help='ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ΄ΠΈΠΎΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ Π²ΡΠΉΡΠΈ') Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΎΡΡΠ°Π»ΠΎΡΡ = parser.parse_known_args() Π΅ΡΠ»ΠΈ args.list_devices: ΠΏΠ΅ΡΠ°ΡΡ (sd.query_devices()) ΠΏΠ°ΡΡΠ΅Ρ.Π²ΡΡ ΠΎΠ΄(0) ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ = argparse.ArgumentParser( ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter, ΡΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ=[ΠΏΠ°ΡΡΠ΅Ρ]) parser.add_argument( 'URL', ΠΌΠ΅ΡΠ°Π²Π°Ρ = 'URL', help='URL ΠΏΠΎΡΠΎΠΊΠ°') parser.add_argument( '-d', '--device', ΡΠΈΠΏ=int_or_str, help='ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²ΡΠ²ΠΎΠ΄Π° (ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°)') parser. add_argument( '-b', '--blocksize', ΡΠΈΠΏ = ΡΠ΅Π»ΠΎΠ΅, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ = 1024, help='ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: %(ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)s)') parser.add_argument( '-q', '--buffersize', ΡΠΈΠΏ=ΡΠ΅Π»ΠΎΠ΅, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ=20, help='ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π»ΠΎΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: %(ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)s)') Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ = parser.parse_args (ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ) Π΅ΡΠ»ΠΈ args.blocksize == 0: parser.error('Π Π°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ') Π΅ΡΠ»ΠΈ args.buffersize < 1: parser.error('ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 1') q = ΠΎΡΠ΅ΡΠ΅Π΄Ρ.ΠΡΠ΅ΡΠ΅Π΄Ρ (maxsize=args.buffersize) print('ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΠΎΡΠΎΠΊΠ΅...') ΠΏΡΡΠ°ΡΡΡΡ: ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ = ffmpeg.probe(args.url) ΠΊΡΠΎΠΌΠ΅ ffmpeg.Error ΠΊΠ°ΠΊ e: sys.stderr.buffer.write(e.stderr) parser.exit(e) ΠΏΠΎΡΠΎΠΊΠΈ = info.get('ΠΏΠΎΡΠΎΠΊΠΈ', []) Π΅ΡΠ»ΠΈ len(ΠΏΠΎΡΠΎΠΊΠΈ) != 1: parser.exit('ΠΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ') ΠΏΠΎΡΠΎΠΊ = ΠΏΠΎΡΠΎΠΊΠΈ[0] Π΅ΡΠ»ΠΈ stream.get('codec_type') != 'Π°ΡΠ΄ΠΈΠΎ': parser.exit('ΠΠΎΡΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π°ΡΠ΄ΠΈΠΎΠΏΠΎΡΠΎΠΊΠΎΠΌ') ΠΊΠ°Π½Π°Π»Ρ = ΠΏΠΎΡΠΎΠΊ['ΠΊΠ°Π½Π°Π»Ρ'] ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ = ΠΏΠ»Π°Π²Π°ΡΡΠ°Ρ (ΠΏΠΎΡΠΎΠΊ ['sample_rate']) ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² def (Π°ΡΡΠ΄Π°Π½Π½ΡΠ΅, ΠΊΠ°Π΄ΡΡ, Π²ΡΠ΅ΠΌΡ, ΡΡΠ°ΡΡΡ): ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ ΠΊΠ°Π΄ΡΡ == args.blocksize Π΅ΡΠ»ΠΈ ΡΡΠ°ΡΡΡ.output_underflow: print('ΠΠΏΡΡΡΠΎΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Π°: ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ°?', file=sys.stderr) ΠΏΠΎΠ΄Π½ΡΡΡ sd.CallbackAbort ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ Π½Π΅ ΡΡΠ°ΡΡΡ ΠΏΡΡΠ°ΡΡΡΡ: Π΄Π°Π½Π½ΡΠ΅ = q.get_nowait() ΠΊΡΠΎΠΌΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. ΠΡΡΡΠΎ: print('ΠΡΡΠ΅Ρ ΠΏΡΡΡ: ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ°?', file=sys.stderr) ΠΏΠΎΠ΄Π½ΡΡΡ sd.CallbackAbort ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ len(Π΄Π°Π½Π½ΡΠ΅) == len(outdata) outdata[:] = Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΡΠ°ΡΡΡΡ: print('ΠΡΠΊΡΡΡΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ°...') ΠΏΡΠΎΡΠ΅ΡΡ = ffmpeg.input( args.url ).Π²ΡΡ ΠΎΠ΄( 'ΡΡΡΠ±ΠΊΠ°:', ΡΠΎΡΠΌΠ°Ρ='f32le', ΠΊΠΎΠ΄Π΅ΠΊ = 'pcm_f32le', Π°ΠΊ=ΠΊΠ°Π½Π°Π»Ρ, Π°Ρ = ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ, Π»ΠΎΠ³ΡΡΠΎΠ²Π΅Π½Ρ = 'ΡΠΈΡ ΠΎ', ).run_async(pipe_stdout=ΠΡΡΠΈΠ½Π°) ΠΏΠΎΡΠΎΠΊ = sd.RawOutputStream( ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ = ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° = args.blocksize, ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ = args.device, ΠΊΠ°Π½Π°Π»Ρ = ΠΊΠ°Π½Π°Π»Ρ, dtype = 'float32', ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π·Π²ΠΎΠ½ΠΎΠΊ = ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π·Π²ΠΎΠ½ΠΎΠΊ) read_size = args.blocksize * ΠΊΠ°Π½Π°Π»Ρ * stream.samplesize print('ΠΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ. ..') Π΄Π»Ρ _ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (args.buffersize): q.put_nowait(process.stdout.read(read_size)) print('ΠΠ°ΡΠ°Π»ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ...') Ρ ΠΏΠΎΡΠΎΠΊΠΎΠΌ: ΡΠ°ΠΉΠΌ-Π°ΡΡ = args.blocksize * args.buffersize / ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠΊΠ° Π²Π΅ΡΠ½ΠΎ: q.put(process.stdout.read(read_size), timeout=timeout) ΠΊΡΠΎΠΌΠ΅ KeyboardInterrupt: parser.exit('\nΠΡΠ΅ΡΠ²Π°Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ') ΠΊΡΠΎΠΌΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ.ΠΠΎΠ»Π½ΡΠΉ: # ΠΡΠΎΠΈΠ·ΠΎΡΠ΅Π» ΡΠ°ΠΉΠΌΠ°ΡΡ, Ρ.Π΅. ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ° Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ parser.exit(1) ΠΊΡΠΎΠΌΠ΅ ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ e: parser.exit (ΡΠΈΠΏ (Π΅). __ ΠΈΠΌΡ__ + ': ' + ΡΠ» (Π΅))
Π‘ΠΊΠ²ΠΎΠ·Π½ΠΎΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄
wire.py
#!/usr/bin/env python3 """ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π²Π²ΠΎΠ΄Π° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° Π²ΡΠ²ΠΎΠ΄. https://app.assembla.com/spaces/portaudio/git/source/master/test/patest_wire.c """ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ°ΠΊ SD import numpy # Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ NumPy Π·Π°Π³ΡΡΠΆΠ΅Π½, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ assert numpy # ΠΈΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Β«ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ, Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡΒ» (W0611) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ int_or_str (ΡΠ΅ΠΊΡΡ): """ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π±ΠΎΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². """ ΠΏΡΡΠ°ΡΡΡΡ: Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π»ΠΎΠ΅ (ΡΠ΅ΠΊΡΡ) ΠΊΡΠΎΠΌΠ΅ ValueError: Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΠ΅ΠΊΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ = argparse.ArgumentParser (add_help = False) parser.add_argument( '-l', '--list-devices', action='store_true', help='ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ΄ΠΈΠΎΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ Π²ΡΠΉΡΠΈ') Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΎΡΡΠ°Π»ΠΎΡΡ = parser.parse_known_args() Π΅ΡΠ»ΠΈ args.list_devices: ΠΏΠ΅ΡΠ°ΡΡ (sd.query_devices()) ΠΏΠ°ΡΡΠ΅Ρ.Π²ΡΡ ΠΎΠ΄(0) ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ = argparse.ArgumentParser( ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter, ΡΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ=[ΠΏΠ°ΡΡΠ΅Ρ]) parser.add_argument( '-i', '--input-device', ΡΠΈΠΏ=int_or_str, help='ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²Π²ΠΎΠ΄Π° (ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°)') parser.add_argument( '-o', '--output-device', ΡΠΈΠΏ=int_or_str, help='ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²ΡΠ²ΠΎΠ΄Π° (ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°)') parser.add_argument( '-c', '--channels', ΡΠΈΠΏ=int, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ=2, help='ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ°Π½Π°Π»ΠΎΠ²') parser.add_argument('--dtype', help='ΡΠΈΠΏ Π°ΡΠ΄ΠΈΠΎΠ΄Π°Π½Π½ΡΡ ') parser.add_argument('--samplerate', type=float, help='ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ') parser. add_argument('--blocksize', type=int, help='ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ°') parser.add_argument('--latency', type=float, help='Π·Π°Π΄Π΅ΡΠΆΠΊΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ ') Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ = parser.parse_args (ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ) ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² def (indata, outdata, ΠΊΠ°Π΄ΡΡ, Π²ΡΠ΅ΠΌΡ, ΡΡΠ°ΡΡΡ): Π΅ΡΠ»ΠΈ ΡΡΠ°ΡΡΡ: ΠΏΠ΅ΡΠ°ΡΡ (ΡΡΠ°ΡΡΡ) outdata[:] = indata ΠΏΡΡΠ°ΡΡΡΡ: Ρ sd.Stream (ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ = (args.input_device, args.output_device), ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ = args.samplerate, ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° = args.blocksize, dtype=args.dtype, Π·Π°Π΄Π΅ΡΠΆΠΊΠ°=args.latency, ΠΊΠ°Π½Π°Π»Ρ=args.channels, ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ²=ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ²): ΠΏΠ΅ΡΠ°ΡΡ('#' * 80) print('ΠΠ°ΠΆΠΌΠΈΡΠ΅ Enter, ΡΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ') ΠΏΠ΅ΡΠ°ΡΡ('#' * 80) Π²Ρ ΠΎΠ΄() ΠΊΡΠΎΠΌΠ΅ KeyboardInterrupt: parser.exit('') ΠΊΡΠΎΠΌΠ΅ ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ e: parser.exit (ΡΠΈΠΏ (Π΅). __ ΠΈΠΌΡ__ + ': ' + ΡΠ» (Π΅))
Π‘ΠΏΠ΅ΠΊΡΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
spectrogram.py
#!/usr/bin/env python3 """ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠ΅ΠΊΡΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ Ρ ΠΌΠΈΠΊΡΠΎΡΠΎΠ½Π° Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. """ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΡ ΠΈΠΌΠΏΠΎΡΡΠ½ΡΠΉ ΡΡΡΠΈΠ» ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ°ΠΊ SD use_line = 'Π½Π°ΠΆΠΌΠΈΡΠ΅Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π°, + ΠΈΠ»ΠΈ - Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±Π° ' ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ int_or_str (ΡΠ΅ΠΊΡΡ): """ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π±ΠΎΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².""" ΠΏΡΡΠ°ΡΡΡΡ: Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π»ΠΎΠ΅ (ΡΠ΅ΠΊΡΡ) ΠΊΡΠΎΠΌΠ΅ ValueError: Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΠ΅ΠΊΡΡ ΠΏΡΡΠ°ΡΡΡΡ: ΡΡΠΎΠ»Π±ΡΡ, _ = Shutil.get_terminal_size() ΠΊΡΠΎΠΌΠ΅ AttributeError: ΡΡΠΎΠ»Π±ΡΡ = 80 ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ = argparse.ArgumentParser (add_help = False) parser.add_argument( '-l', '--list-devices', action='store_true', help='ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ΄ΠΈΠΎΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ Π²ΡΠΉΡΠΈ') Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΎΡΡΠ°Π»ΠΎΡΡ = parser.parse_known_args() Π΅ΡΠ»ΠΈ args.list_devices: ΠΏΠ΅ΡΠ°ΡΡ (sd.query_devices()) ΠΏΠ°ΡΡΠ΅Ρ.Π²ΡΡ ΠΎΠ΄(0) ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ = argparse.ArgumentParser( description=__doc__ + '\n\nΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΊΠ»ΡΡΠΈ:' + ΡΡΡΠΎΠΊΠ°_ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, formatter_class=argparse.RawDescriptionHelpFormatter, ΡΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ=[ΠΏΠ°ΡΡΠ΅Ρ]) parser. add_argument( '-b', '--block-duration', type=float, metavar='DURATION', ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ=50, help='ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ %(ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)s ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄)') parser.add_argument( '-c', '--columns', ΡΠΈΠΏ=int, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ=ΡΡΠΎΠ»Π±ΡΡ, help='ΡΠΈΡΠΈΠ½Π° ΡΠΏΠ΅ΠΊΡΡΠΎΠ³ΡΠ°ΠΌΠΌΡ') parser.add_argument( '-d', '--device', ΡΠΈΠΏ=int_or_str, help='ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²Π²ΠΎΠ΄Π° (ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°)') parser.add_argument( '-g', '--gain', ΡΠΈΠΏ=ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ=10, help='Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΡΡΠΈΠ»Π΅Π½ΠΈΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ %(ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)s)') parser.add_argument( '-r', '--range', type=float, nargs=2, ΠΌΠ΅ΡΠ°Π²Π°Ρ=('ΠΠΠΠΠΠ', 'ΠΠ«Π‘ΠΠΠΠ'), ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ=[100, 2000], help='Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠ°ΡΡΠΎΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ %(ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ) Ρ ΠΡ)') Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ = parser.parse_args (ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ) Π½ΠΈΠ·ΠΊΠΈΠΉ, Π²ΡΡΠΎΠΊΠΈΠΉ = args.range Π΅ΡΠ»ΠΈ Π²ΡΡΠΎΠΊΠΈΠΉ <= Π½ΠΈΠ·ΠΊΠΈΠΉ: parser.error('HIGH Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ LOW') # Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΡΠ°ΡΠΈΠ²ΡΠΉ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ANSI. # Π£ΠΊΡΠ°Π΄Π΅Π½ΠΎ Ρ https://gist.github. com/maurisvh/df919538bcef391bc89f ΡΠ²Π΅ΡΠ° = 30, 34, 35, 91, 93, 97 ΡΠΈΠΌΠ²ΠΎΠ»Ρ = ':%#\t#%:' Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ = [] Π΄Π»Ρ bg, fg Π² zip (ΡΠ²Π΅ΡΠ°, ΡΠ²Π΅ΡΠ° [1:]): Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ : Π΅ΡΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» == '\t': Π±Π³, ΡΠ³ = ΡΠ³, Π±Π³ Π΅ΡΠ΅: Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ.append('\x1b[{};{}m{}'.format(fg, bg + 10, char)) ΠΏΡΡΠ°ΡΡΡΡ: ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ = sd.query_devices(args.device, 'input')['default_samplerate'] delta_f = (Π²ΡΡΠΎΠΊΠΈΠΉ - Π½ΠΈΠ·ΠΊΠΈΠΉ) / (args.columns - 1) fftsize = math.ceil (ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ / delta_f) low_bin = math.floor(low / delta_f) ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² def (Π΄Π°Π½Π½ΡΠ΅, ΠΊΠ°Π΄ΡΡ, Π²ΡΠ΅ΠΌΡ, ΡΡΠ°ΡΡΡ): Π΅ΡΠ»ΠΈ ΡΡΠ°ΡΡΡ: ΡΠ΅ΠΊΡΡ = ' ' + ΡΠ» (ΡΡΠ°ΡΡΡ) + ' ' print('\x1b[34;40m', text.center(args.columns, '#'), '\x1b[0m', ΡΠ΅ΠΏ='') Π΅ΡΠ»ΠΈ Π΅ΡΡΡ (ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ): Π²Π΅Π»ΠΈΡΠΈΠ½Π° = np.abs(np.fft.rfft(indata[:, 0], n=fftsize)) Π²Π΅Π»ΠΈΡΠΈΠ½Π° *= args.gain / fftsize ΡΡΡΠΎΠΊΠ° = (Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ [int (np.clip (x, 0, 1) * (len (Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ) - 1))] Π΄Π»Ρ x ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ [low_bin:low_bin + args. columns]) ΠΏΠ΅ΡΠ°ΡΡ (*ΡΡΡΠΎΠΊΠ°, sep='', ΠΊΠΎΠ½Π΅Ρ='\x1b[0m\n') Π΅ΡΠ΅: ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ('Π½Π΅Ρ Π²Π²ΠΎΠ΄Π°') Ρ sd.InputStream (ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ = args.device, ΠΊΠ°Π½Π°Π»Ρ = 1, ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² = ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ², blocksize = int (ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ * args.block_duration / 1000), ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ = ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ): ΠΏΠΎΠΊΠ° Π²Π΅ΡΠ½ΠΎ: ΠΎΡΠ²Π΅Ρ = Π²Π²ΠΎΠ΄ () Π΅ΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ Π² ('', 'q', 'Q'): ΠΏΠ΅ΡΠ΅ΡΡΠ² Π΄Π»Ρ ch Π² ΠΎΡΠ²Π΅Ρ: Π΅ΡΠ»ΠΈ ch == '+': args.gain *= 2 ΠΠ»ΠΈΡ Ρ == '-': args.gain /= 2 Π΅ΡΠ΅: print('\x1b[31;40m', use_line.center(args.columns, '#'), '\x1b[0m', ΡΠ΅ΠΏ='') ΠΏΠ΅ΡΠ΅ΡΡΠ² ΠΊΡΠΎΠΌΠ΅ KeyboardInterrupt: parser.exit('ΠΡΠ΅ΡΠ²Π°Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ') ΠΊΡΠΎΠΌΠ΅ ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ e: parser.exit (ΡΠΈΠΏ (Π΅). __ ΠΈΠΌΡ__ + ': ' + ΡΠ» (Π΅))
ΠΠ°ΠΏΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
rec_unlimited. py
#!/usr/bin/env python3 """Π‘ΠΎΠ·Π΄Π°ΡΡ Π·Π°ΠΏΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΠ΄ΡΠ»Ρ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (https://PySoundFile.readthedocs.io/) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½! """ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠΌΠΏΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ°ΠΊ SD ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΊΠ°ΠΊ sf import numpy # Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ NumPy Π·Π°Π³ΡΡΠΆΠ΅Π½, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ assert numpy # ΠΈΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Β«ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ, Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡΒ» (W0611) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ int_or_str (ΡΠ΅ΠΊΡΡ): """ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π±ΠΎΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².""" ΠΏΡΡΠ°ΡΡΡΡ: Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π»ΠΎΠ΅ (ΡΠ΅ΠΊΡΡ) ΠΊΡΠΎΠΌΠ΅ ValueError: Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΠ΅ΠΊΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ = argparse.ArgumentParser (add_help = False) parser.add_argument( '-l', '--list-devices', action='store_true', help='ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ΄ΠΈΠΎΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ Π²ΡΠΉΡΠΈ') Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΎΡΡΠ°Π»ΠΎΡΡ = parser.parse_known_args() Π΅ΡΠ»ΠΈ args.list_devices: ΠΏΠ΅ΡΠ°ΡΡ (sd.query_devices()) ΠΏΠ°ΡΡΠ΅Ρ. Π²ΡΡ ΠΎΠ΄(0) ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ = argparse.ArgumentParser( ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter, ΡΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ=[ΠΏΠ°ΡΡΠ΅Ρ]) parser.add_argument( 'ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°', nargs='?', metavar='ΠΠΠ― Π€ΠΠΠΠ', help='Π°ΡΠ΄ΠΈΠΎΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ') parser.add_argument( '-d', '--device', ΡΠΈΠΏ=int_or_str, help='ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²Π²ΠΎΠ΄Π° (ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°)') parser.add_argument( '-r', '--samplerate', type=int, help='ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ') parser.add_argument( '-c', '--channels', type=int, default=1, help='ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΊΠ°Π½Π°Π»ΠΎΠ²') parser.add_argument( '-t', '--subtype', type=str, help='ΠΏΠΎΠ΄ΡΠΈΠΏ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, "PCM_24")') Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ = parser.parse_args (ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ) q = ΠΎΡΠ΅ΡΠ΅Π΄Ρ.ΠΡΠ΅ΡΠ΅Π΄Ρ() ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² def (Π΄Π°Π½Π½ΡΠ΅, ΠΊΠ°Π΄ΡΡ, Π²ΡΠ΅ΠΌΡ, ΡΡΠ°ΡΡΡ): """ΠΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ (ΠΈΠ· ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°) Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°ΡΠ΄ΠΈΠΎΠ±Π»ΠΎΠΊΠ°.""" Π΅ΡΠ»ΠΈ ΡΡΠ°ΡΡΡ: ΠΏΠ΅ΡΠ°ΡΡ (ΡΡΠ°ΡΡΡ, ΡΠ°ΠΉΠ» = sys.stderr) q.put(indata.copy()) ΠΏΡΡΠ°ΡΡΡΡ: Π΅ΡΠ»ΠΈ args.samplerate ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ None: device_info = sd. query_devices (args.device, 'Π²Π²ΠΎΠ΄') # Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π·Π²ΡΠΊΠΎΠ²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ: args.samplerate = int (device_info ['default_samplerate']) Π΅ΡΠ»ΠΈ args.filename ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ None: args.filename = tempfile.mktemp(prefix='delme_rec_unlimited_', ΡΡΡΡΠΈΠΊΡ='.wav', Π΄ΠΈΡΠ΅ΠΊΡΠΎΡ='') # ΠΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΠΈΡΡΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ°ΠΉΠ» ΠΎΡΠΊΡΡΡ: Ρ sf.SoundFile(args.filename, mode='x', samplerate=args.samplerate, ΠΊΠ°Π½Π°Π»Ρ=args.channels, ΠΏΠΎΠ΄ΡΠΈΠΏ=args.subtype) Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΉΠ»Π°: Ρ sd.InputStream(samplerate=args.samplerate, device=args.device, ΠΊΠ°Π½Π°Π»Ρ=args.channels, ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ²=ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ²): ΠΏΠ΅ΡΠ°ΡΡ('#' * 80) print('Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl+C, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ') ΠΏΠ΅ΡΠ°ΡΡ('#' * 80) ΠΏΠΎΠΊΠ° Π²Π΅ΡΠ½ΠΎ: ΡΠ°ΠΉΠ».Π·Π°ΠΏΠΈΡΡ(q.get()) ΠΊΡΠΎΠΌΠ΅ KeyboardInterrupt: print('\nΠΠ°ΠΏΠΈΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°: ' + repr(args.filename)) ΠΏΠ°ΡΡΠ΅Ρ. Π²ΡΡ ΠΎΠ΄(0) ΠΊΡΠΎΠΌΠ΅ ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ e: parser.exit (ΡΠΈΠΏ (Π΅). __ ΠΈΠΌΡ__ + ': ' + ΡΠ» (Π΅))
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ° Π² ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅
asyncio
asyncio_coroutines.py
#!/usr/bin/env python3 """ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ° Π² ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ asyncio. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΡΠΎΠΊ Π² ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠΆΠ΄Π°ΡΡΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ°. ΠΠ°ΠΌ Π½ΡΠΆΠ΅Π½ Python 3.7 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΎ. """ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ°ΠΊ SD async def record_buffer (Π±ΡΡΠ΅Ρ, ** kwargs): ΡΠΈΠΊΠ» = asyncio.get_event_loop() ΡΠΎΠ±ΡΡΠΈΠ΅ = asyncio.Event() ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ = 0 ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² def (indata, frame_count, time_info, ΡΡΠ°ΡΡΡ): Π½Π΅Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΅ΡΠ»ΠΈ ΡΡΠ°ΡΡΡ: ΠΏΠ΅ΡΠ°ΡΡ (ΡΡΠ°ΡΡΡ) ΠΎΡΡΠ°ΡΠΎΠΊ = len(Π±ΡΡΠ΅Ρ) - idx Π΅ΡΠ»ΠΈ ΠΎΡΡΠ°ΡΠΎΠΊ == 0: loop.call_soon_threadsafe(event.set) ΠΏΠΎΠ΄Π½ΡΡΡ sd.CallbackStop Π΄Π°Π½Π½ΡΠ΅ = Π΄Π°Π½Π½ΡΠ΅ [: ΠΎΡΡΠ°ΡΠΎΠΊ] Π±ΡΡΠ΅Ρ[idx:idx + len(indata)] = indata idx += len(indata) ΠΏΠΎΡΠΎΠΊ = sd. InputStream (ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² = ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ², dtype = Π±ΡΡΠ΅Ρ.dtype, ΠΊΠ°Π½Π°Π»Ρ=buffer.shape[1], **kwargs) Ρ ΠΏΠΎΡΠΎΠΊΠΎΠΌ: ΠΎΠΆΠΈΠ΄Π°ΠΉΡΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅.ΠΆΠ΄ΠΈΡΠ΅() Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ play_buffer (Π±ΡΡΠ΅Ρ, ** kwargs): ΡΠΈΠΊΠ» = asyncio.get_event_loop() ΡΠΎΠ±ΡΡΠΈΠ΅ = asyncio.Event() ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ = 0 ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² def (outdata, frame_count, time_info, ΡΡΠ°ΡΡΡ): Π½Π΅Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΅ΡΠ»ΠΈ ΡΡΠ°ΡΡΡ: ΠΏΠ΅ΡΠ°ΡΡ (ΡΡΠ°ΡΡΡ) ΠΎΡΡΠ°ΡΠΎΠΊ = len(Π±ΡΡΠ΅Ρ) - idx Π΅ΡΠ»ΠΈ ΠΎΡΡΠ°ΡΠΎΠΊ == 0: loop.call_soon_threadsafe(event.set) ΠΏΠΎΠ΄Π½ΡΡΡ sd.CallbackStop valid_frames = frame_count, Π΅ΡΠ»ΠΈ ΠΎΡΡΠ°ΡΠΎΠΊ >= frame_count, ΠΈΠ½Π°ΡΠ΅ ΠΎΡΡΠ°ΡΠΎΠΊ outdata[:valid_frames] = Π±ΡΡΠ΅Ρ[idx:idx + valid_frames] outdata[valid_frames:] = 0 idx += Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅_ΠΊΠ°Π΄ΡΡ ΠΏΠΎΡΠΎΠΊ = sd.OutputStream(ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ²=ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ², dtype=buffer.dtype, ΠΊΠ°Π½Π°Π»Ρ=buffer.shape[1], **kwargs) Ρ ΠΏΠΎΡΠΎΠΊΠΎΠΌ: ΠΎΠΆΠΈΠ΄Π°ΠΉΡΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅. ΠΆΠ΄ΠΈΡΠ΅() async def main (ΠΊΠ°Π΄ΡΡ = 150_000, ΠΊΠ°Π½Π°Π»Ρ = 1, dtype = 'float32', ** kwargs): Π±ΡΡΠ΅Ρ = np.empty((ΠΊΠ°Π΄ΡΡ, ΠΊΠ°Π½Π°Π»Ρ), dtype=dtype) print('Π±ΡΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠΈ...') ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ record_buffer(Π±ΡΡΠ΅Ρ, **kwargs) print('Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ°...') ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ play_buffer(Π±ΡΡΠ΅Ρ, **kwargs) ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ('ΡΠ΄Π΅Π»Π°Π½ΠΎ') Π΅ΡΠ»ΠΈ __name__ == "__main__": ΠΏΡΡΠ°ΡΡΡΡ: asyncio.run(ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ()) ΠΊΡΠΎΠΌΠ΅ KeyboardInterrupt: sys.exit('\nΠΡΠ΅ΡΠ²Π°Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ')
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°
asyncio
Π΄Π»Ρ Π°ΡΠ΄ΠΈΠΎΠ±Π»ΠΎΠΊΠΎΠ² asyncio_generators.py
#!/usr/bin/env python3 """Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π±Π»ΠΎΠΊΠΎΠ² Π°ΡΠ΄ΠΈΠΎΠ΄Π°Π½Π½ΡΡ . ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊΠΈ Π°ΡΠ΄ΠΈΠΎΠ²Ρ ΠΎΠ΄Π°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π°ΡΠ΄ΠΈΠΎΠ΄Π°Π½Π½ΡΠ΅. ΠΠ°ΠΌ Π½ΡΠΆΠ΅Π½ Python 3.7 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΎ. """ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠΌΠΏΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ°ΠΊ SD async def inputstream_generator (ΠΊΠ°Π½Π°Π»Ρ = 1, ** kwargs): """ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΄Π°Π΅Ρ Π±Π»ΠΎΠΊΠΈ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² NumPy. """ q_in = asyncio.Queue() ΡΠΈΠΊΠ» = asyncio.get_event_loop() ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² def (indata, frame_count, time_info, ΡΡΠ°ΡΡΡ): loop.call_soon_threadsafe(q_in.put_nowait, (indata.copy(), ΡΡΠ°ΡΡΡ)) ΠΏΠΎΡΠΎΠΊ = sd.InputStream (ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² = ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ², ΠΊΠ°Π½Π°Π»Ρ = ΠΊΠ°Π½Π°Π»Ρ, ** kwargs) Ρ ΠΏΠΎΡΠΎΠΊΠΎΠΌ: ΠΏΠΎΠΊΠ° Π²Π΅ΡΠ½ΠΎ: indata, ΡΡΠ°ΡΡΡ = ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ q_in.get() Π²ΡΡ ΠΎΠ΄Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΡΠ°ΡΡΡ async def stream_generator (ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ°, *, ΠΊΠ°Π½Π°Π»Ρ = 1, dtype = 'float32', pre_fill_blocks=10, **kwargs): """ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΄Π°Π΅Ρ Π±Π»ΠΎΠΊΠΈ Π²Ρ ΠΎΠ΄Π½ΡΡ /Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² NumPy. ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ Π½Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π²ΡΠΊΠΎΠ²ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ. """ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° != 0 q_in = asyncio.Queue() q_out = ΠΎΡΠ΅ΡΠ΅Π΄Ρ.ΠΡΠ΅ΡΠ΅Π΄Ρ() ΡΠΈΠΊΠ» = asyncio.get_event_loop() ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² def (indata, outdata, frame_count, time_info, ΡΡΠ°ΡΡΡ): loop.call_soon_threadsafe(q_in.put_nowait, (indata. copy(), ΡΡΠ°ΡΡΡ)) outdata[:] = q_out.get_nowait() # ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π²ΡΠ²ΠΎΠ΄Π° Π΄Π»Ρ _ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (pre_fill_blocks): q_out.put(np.zeros((ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ°, ΠΊΠ°Π½Π°Π»Ρ), dtype=dtype)) ΠΏΠΎΡΠΎΠΊ = sd.Stream (ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° = ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ°, ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² = ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ², dtype = dtype, ΠΊΠ°Π½Π°Π»Ρ=ΠΊΠ°Π½Π°Π»Ρ, **kwargs) Ρ ΠΏΠΎΡΠΎΠΊΠΎΠΌ: ΠΏΠΎΠΊΠ° Π²Π΅ΡΠ½ΠΎ: indata, ΡΡΠ°ΡΡΡ = ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ q_in.get() outdata = np.empty((ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ°, ΠΊΠ°Π½Π°Π»Ρ), dtype=dtype) Π²ΡΡ ΠΎΠ΄ indata, outdata, ΡΡΠ°ΡΡΡ q_out.put_nowait (ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅) Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ print_input_infos (** kwargs): """ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π°ΡΠ΄ΠΈΠΎΠ±Π»ΠΎΠΊΠ°.""" async Π΄Π»Ρ indata, ΡΡΠ°ΡΡΡ Π² inputstream_generator(**kwargs): Π΅ΡΠ»ΠΈ ΡΡΠ°ΡΡΡ: ΠΏΠ΅ΡΠ°ΡΡ (ΡΡΠ°ΡΡΡ) print('min:', indata.min(), '\t', 'max:', indata.max()) Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ wire_coro(**kwargs): """Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π°ΡΠ΄ΠΈΠΎ Π²Ρ ΠΎΠ΄Π°ΠΌΠΈ ΠΈ Π²ΡΡ ΠΎΠ΄Π°ΠΌΠΈ. ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΏΠΎΡΠΎΠΊΠ° ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π±Π»ΠΎΠΊ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ Π±Π»ΠΎΠΊ. """ async Π΄Π»Ρ indata, outdata, ΡΡΠ°ΡΡΡΠ° Π² stream_generator(**kwargs): Π΅ΡΠ»ΠΈ ΡΡΠ°ΡΡΡ: ΠΏΠ΅ΡΠ°ΡΡ (ΡΡΠ°ΡΡΡ) outdata[:] = indata Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ (** kwargs): print('ΠΠ΅ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²Ρ ΠΎΠ΄Π½ΠΎΠΌ ΡΠΈΠ³Π½Π°Π»Π΅:') ΠΏΡΡΠ°ΡΡΡΡ: ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ asyncio.wait_for(print_input_infos(), Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ=2) ΠΊΡΠΎΠΌΠ΅ asyncio.TimeoutError: ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ print('\nΠ₯Π²Π°ΡΠΈΡ, Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΏΡΠΎΠ²ΠΎΠ΄Π°...\n') audio_task = asyncio.create_task(wire_coro(**kwargs)) Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (10, 0, -1): ΠΏΠ΅ΡΠ°ΡΡ (Ρ) ΠΆΠ΄Π°ΡΡ asyncio.sleep(1) audio_task.cancel() ΠΏΡΡΠ°ΡΡΡΡ: ΠΆΠ΄Π°ΡΡ audio_task ΠΊΡΠΎΠΌΠ΅ asyncio.CancelledError: print('\nΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π±ΡΠ» ΠΎΡΠΌΠ΅Π½Π΅Π½') Π΅ΡΠ»ΠΈ __name__ == "__main__": ΠΏΡΡΠ°ΡΡΡΡ: asyncio.run (ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ (ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° = 1024)) ΠΊΡΠΎΠΌΠ΅ KeyboardInterrupt: sys.exit('\nΠΡΠ΅ΡΠ²Π°Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ')
Π Π΅Π΄Π°ΠΊΡΠΈΡ afe0a822
.
Π Π°Π·Π±ΠΎΡ Π·Π²ΡΠΊΠ°: ΠΠΏΠΈΠ·ΠΎΠ΄ 1 — ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π»ΡΠ±Π²ΠΈ
Π ΡΡΠΈΡΠ΅: ΠΠ΅ΠΆΠ΄Ρ ΠΎΠ±Π»ΠΎΠΆΠΊΠ°ΠΌΠΈ
ΠΠΠΠΠ Π’ΠΠΠΠΠ’Π¬
Π‘ΡΡΠ΄ΠΈΡ KBOO ΡΠ½ΠΎΠ²Π° ΠΎΡΠΊΡΡΡΠ°! Π‘Π²ΡΠΆΠΈΡΠ΅ΡΡ Ρ Π½Π°ΠΌΠΈ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΠΏΡΠΈΠ΅ΠΌ
ΠΠΎΠ·Π²ΠΎΠ½ΠΈΡΠ΅ Π² Π½Π°Ρ ΠΎΡΠΈΡ ΠΏΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ (503) 231-8032 ΠΈΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ΅ ΠΏΠΈΡΡΠΌΠΎ
Π²Π°ΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΠΎΠΌΡ Π»ΠΈΡΡ — Ρ 20:00 Π΄ΠΎ 22:00ΠΡΠΎΡ Π²ΡΠΏΡΡΠΊ ΡΠ»ΡΠΆΠΈΡ ΠΊΠ°ΠΊ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Parsing Sound. Π£Π΄Π΅Π»ΠΈΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ΅Π±Π΅ ΠΈ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°ΠΉΡΠ΅ΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΡ ΡΡΡΠ΅ΠΌΠΈΠΌΡΡ ΠΏΠΎΠ²ΡΡΠΈΡΡ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ.
ΠΠ°Π½ΡΡ:Β
ΠΡΡΠΎ-ΠΊΠ°ΡΠΈΠ±ΡΠΊΠΈΠΉ, Π±ΡΠ΅ΠΉΠΊΠ±ΠΈΡ, ΡΠΊΠ»Π΅ΠΊΡΠΈΡΠ½ΡΠΉ, ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ, ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ, Ρ Π°ΡΡ, Π΄ΠΆΠ°Π·, Π½ΠΎΠ²Π°Ρ Π²ΠΎΠ»Π½Π°, ΡΡΠΏ-Ρ ΠΈΠΏ-Ρ ΠΎΠΏ, ΡΠΎΡΠ»
Π‘ΠΏΠΈΡΠΎΠΊ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΏΠΈΠ·ΠΎΠ΄ΠΎΠ²
ΠΡΠ΅ΠΌΡ | Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ | ΠΠ΅ΡΠ½Ρ | ΠΠ»ΡΠ±ΠΎΠΌ | ΠΡΠΈΠΊΠ΅ΡΠΊΠ° |
---|---|---|---|---|
8:00 | Π’Π°Π½Π΄Π΅ΡΠΊΡΡ | Π Π°Π·Π±ΠΈΡΠΎΠ΅ ΡΠ΅ΡΠ΄ΡΠ΅ + Π½Π΅ΡΠ΄Π°ΡΠΈ | ΠΠΏΠΎΠΊΠ°Π»ΠΈΠΏΡΠΈΡ | ΠΠΈΡΠ°ΡΠ΅Π»Ρ ΠΌΠΎΠ·Π³ΠΎΠ² |
8:03 | ΠΠ°ΡΠΊΠ° Gee | Π§Π΅ΡΡΠΊΠΈΠΉ | ΠΡΠ·Π΅ΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΠΉ | IAMSOUND/ΠΠ½ΡΠ΅ΡΡΠΊΠΎΠΏ |
8:07 | ΠΠ»ΠΈ Π¨Π°Ρ ΠΈΠ΄ ΠΡΡ Π°ΠΌΠΌΠ°Π΄ | ΠΡΡ ΠΎΠ²Π½Π°Ρ ΠΈΠ΄Π΅Ρ | ΠΡΡΠΈ ΠΠ°ΡΡ JID006 | ΠΠΆΠ°Π· ΠΌΠ΅ΡΡΠ² |
8:11 | Q-Π½Π°ΠΊΠΎΠ½Π΅ΡΠ½ΠΈΠΊ | ΠΠ°Π±Π»ΡΠΊΠΈ | ΠΠ°ΠΌΠ°Π°Π» ΠΠ±ΡΡΡΠ°ΠΊΡΠ½Π°Ρ | RCA/Π΄ΠΆΠ°ΠΉΠ² |
8:14 | ΠΡΡΠΠ°ΡΡ | She Lives in My Lap (Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ Π ΠΎΠ·Π°ΡΠΈΠΎ ΠΠΎΡΡΠΎΠ½) | Speakerboxxx/ΠΡΠ±ΠΎΠ²Ρ Π½ΠΈΠΆΠ΅ | ΠΡΠΈΡΡΠ°/ΠΠ°ΡΠ»Π΅Π΄ΠΈΠ΅ |
8:19 | Π‘ΡΠ΅ΠΊΠ»ΡΠ½Π½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ° | ΠΠΎΠ½ΡΠ΅ΡΠ½ΡΠΉ Π·Π°ΠΌΠΎΠΊ | Π/Π/Π/Π’/Π/Π/Π₯ | ΠΡΠ°Π»ΡΡΠ½ΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π»ΡΡΡΠ΅ |
8:24 | Π¨Π΅Π»Π»ΠΈ FKA DRAM | ΠΠΎΡΠΎΠ²ΠΈΠΌ Π½Π° ΡΠ°Π»Π΅ | Π¨Π΅Π»Π»ΠΈ FKA DRAM | ΠΠΠΠΠ. ΠΠ°ΠΏΠΈΡΠΈ/ΠΠΠΠΠ ΠΠ―/ΠΡΠ»Π°Π½ΡΠΈΠΊΠ° |
8:27 | Π‘Π΅Π±Π°ΡΡΡΡΠ½ Π’Π΅Π»ΡΠ΅ | Π‘ΠΌΠΎΡΡΠΈ | ΡΠ΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ | Π Π΅ΠΊΠΎΡΠ΄ΠΌΠ΅ΠΉΠΊΠ΅ΡΡ |
8:32 | ΠΠΠ Π | Teleport 2 Me, Jamie (Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ Desire) | WZRD | ΠΠΈΠ΄ ΠΠ°Π΄ΠΈ / Universal Records |
8:36 | ΠΊ-ΠΎΡ | ΠΡΠΎΡΠΏΠ΅ΠΊΡ | ΠΠ°! | ΠΠ°ΠΏΠΈΡΠΈ Π»ΠΎΡΠ»ΠΈΡΡΠΎΠ² ΠΊΠΎΡΠΎΠ½Ρ |
8:45 | ΠΠ»Π»Π° J | Π’ΠΎΠΊΠΈΠΎ | ΠΠΆΠΎΠ½ Π―Π½ΡΠΈ | ΠΠΆΠ°ΠΊΠ°ΡΡΠ° Π Π΅ΠΊΠΎΡΠ΄Ρ |
8:49 | Π’Π΅ΡΡΠ°ΡΠ° ΠΠ°ΡΡΠΈΠ½ | Bromali (Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ ΠΠ°ΡΠ»ΠΎΠ½Π° Π£ΠΈΠ»ΡΡΠΌΡΠ°) | ΠΠ°ΡΡ Π°ΡΠ½ΡΠ΅ ΠΏΠΎΡΡΡΠ΅ΡΡ | ΠΠ΅ΡΠ΅Π²ΠΊΠ° |
8:52 | ΠΠ΄ΡΠΈΠ°Π½ Π―Π½Π³ | Π Π΅Π²ΠΎΠ»ΡΡΠΈΡ | ΠΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΠΉ Π½Π΅Π³Ρ | ΠΠΆΠ°Π· ΠΌΠ΅ΡΡΠ² |
8:56 | Π’ΠΎΡΠΎ-ΠΈ-ΠΠΎΠΉ | Π’Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π΅ΡΠ°Π»Π΅ΠΉ | Π§ΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π²Π·Π°ΠΌΠ΅Π½ | ΠΡΡΠ΅ΡΡ ΠΎ ΠΏΠ°ΡΠΊΠΎΠ²ΠΊΠ΅ |
9:00 | ΠΡΠΈΠΊ ΠΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡ | ΠΎΡΠΏΡΡΡΠΈ ΡΡΠΎ | ΠΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ — EP | ΠΡΠΈΠΊ ΠΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡ |
9:04 | Π₯ΡΡΠ°Π½Π³Π±ΠΈΠ½ | ΠΠΎΠΌΠΎ Π’Π΅ ΠΡΠ΅ΡΠΎ | ΠΠΎΠ½ Π’ΠΎΠ΄ΠΎ ΠΠ»Ρ ΠΡΠ½Π΄ΠΎ | ΠΠ΅ΡΡΠ²ΡΠ΅ ΠΎΠΊΠ΅Π°Π½Ρ |
9:08 | ΠΡΠΈΠ°Π½Π° ΠΠ°ΡΡΠΈΡ | ΠΎΠ΄ΠΈΠ½ΠΎΠΊΠΎ Ρ ΡΠΎΠ±ΠΎΠΉ | ΠΠ΄ΠΈΠ½ΠΎΠΊΠΈΠΉ (Π‘ ΡΠΎΠ±ΠΎΠΉ) — Single | ΠΠΎΠ½Π½Π° ΠΡΠΈΠ°Π½Π° ΠΡΠΎΠ΄Π°ΠΊΡΠ½Ρ |
9:12 | ΠΠ°ΠΏ ΠΠ°ΠΌΠ° | ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Π° | ΠΠ° ΠΠΎΠ½Π° | ΠΡΠ°ΠΊΠ° ΠΠΎΠΏ |
9:16 | Π₯ΡΠΎΠΌΠ°ΡΠΈΠΊΠ° | Π’Ρ ΠΏΠ»ΠΎΡ ΠΎΠΉ | ΠΠ»ΠΈΠΆΠ΅ ΠΊ ΡΠ΅ΡΠΎΠΌΡ | ΠΡΠ°Π»ΡΡΠ½ΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π»ΡΡΡΠ΅ |
9:21 | ΠΠΆΠΎΠΉΡ Π Π°ΠΉΡ | Hot Minute Interlude (Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ ΠΠ΅Π²ΠΈΠ½Π° ΠΠΎΡΡΠΈΡΠΎΠ½Π° ΠΈ Mndsgn) | ΠΠ°ΡΠΎΡΡΠΈΠΉ | ΠΠΆΠΎΠΉΡ Π Π°ΠΉΡ ΠΡΠ·ΡΠΊΠ° |
9:22 | Π’Π΅ΠΎΡΠΈΠ» ΠΠΎΠ½Π΄ΠΎΠ½ | Only You (Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ Tame Impala) | Only You (feat. Tame Impala) — Single | ΠΠΎΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΠ΅Π±ΠΈ |
9:26 | Π₯Π΅ΡΠ΅Ρ | ΠΠΉΠ΄Π°Ρ | ΠΠΈΠΏΠΊΠΈΠΉ ΠΏΠ°Π»Π΅Ρ | Π£ΡΠ½Π°Ρ ΡΠ»ΠΈΠ·Ρ |
9:29 | ΠΠ²Π°Π΄ΡΠΎΠ½ | ΡΠ°Π·Π΄Π°Π²ΠΈΡΡ | ΠΠ°Π²ΠΈΠ½Π° | ΠΡΠ»ΡΡΡΡΠ° |
9:33 | ΠΠΆΠ΅ΠΉ ΠΠΈΠ»Π»Π° | ΠΡΠ°Π·ΠΈΠ»ΡΡΠΊΠ°Ρ ΠΊΠ°Π½Π°Π²ΠΊΠ° (Ewf) | ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ 2 ΠΠ΅ΡΡΠΎΠΉΡ | ΠΡΠ·ΡΠΊΠ° BBE |
9:34 | Π‘ΠΠ―Π’ΠΠ JHN | Borders (Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ ΠΠ΅Π½Π½ΠΈ ΠΡΠ°Π²ΠΈΡΠ°) | ΠΠ΅ΡΠ½ΠΈ ΠΎ Π»ΡΠ±Π²ΠΈ ΠΠ΅Π½Π½ΠΈ ΠΈΠ· Π³Π΅ΡΡΠΎ | ΠΠΎΠ΄Π΄ ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡΠΊΡ |
9:38 | ΠΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ Π΄ΡΠ°ΠΊΠΎΠ½ | ΠΡΡΠΎΠΊΠΈΠΉ | ΠΡΡΠΎΠΊΠΈΠΉ ΡΠ΅Π·ΠΎΠ½ | ΠΠΈΠ»Π»Π° ΠΡΠ°ΠΊΠ΅Π½ Π Π΅ΠΊΠΎΡΠ΄ΠΈΠ½Π³Ρ AB |
9:42 | ΠΠ°ΠΌ-Π€Π°Π½ΠΊ | ΠΠΎΠ΄ΡΠ΅ΠΌ | Π‘Π’Π€Π£ — ΠΠ | ΠΡΡΠ΅ΡΡ ΠΎ ΠΌΠ΅ΡΠ°Π½ΠΈΠΈ ΠΊΠ°ΠΌΠ½Π΅ΠΉ |
9:45 | ΠΠΆΠΎΡΠ΄ΠΆΠΈΡ ΠΠ½Π½ ΠΠ°Π»Π΄ΡΠΎΡ | ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° | ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° | ΠΠΈΡΠ°ΡΠ΅Π»Ρ ΠΌΠΎΠ·Π³ΠΎΠ² |
9:49 | ΠΡΠ΄ΠΈΡΠΎΠ½ ΠΠ°ΠΊΡΠ΅ΡΡΠΈΠ½ | ΡΡΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ | Π’Ρ + Ρ — EP | ΠΡΠ΄ΠΈΡΠΎΠ½ ΠΠ°ΠΊΡΠ΅ΡΡΠΈΠ½ |
9:53 | ΠΠΎΠ·Π΅Ρ ΠΠ΅ΠΉΠΌΠ±Π΅ΡΠ³ | Interstellar Universe (Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ ΠΠ°ΠΌΠ°ΡΠΈ ΠΠ°ΡΠΈΠ½Π³ΡΠΎΠ½) | ΠΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠΈ | ΠΠΈΡ ΠΠ°Π»Π°ΠΊΡΠΈΠΊΠΈ |
9:59 | Π‘Π°Π»Π΅ΠΌ | ΠΠΎΡΠΎΠ»Π΅Π²ΡΠΊΠ°Ρ Π½ΠΎΡΡ | ΠΠΎΡΠΎΠ»Π΅Π²ΡΠΊΠ°Ρ Π½ΠΎΡΡ | IAmSound |
10:03 | ΠΡ: ΡΠΎΠ½ | ΡΠ»Π°ΡΠ΅ | ΠΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° | ΠΠΎΠ»ΡΠ½ΠΈΡΠ° Π Π΅ΠΊΠΎΡΠ΄Ρ ΠΠΈΠΌΠΈΡΠ΅Π΄ |
10:08 | Π’Π°ΠΉΠ»Π΅Ρ, Π‘ΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ | ΠΠΠΠ ΠΠΠ‘ΠΠΠ― Π’ΠΠΠ | ΠΠΠΠ Π¬ | ΠΠΎΠ»ΡΠΌΠ±ΠΈΡ ΠΎΡΡΠ΅ΡΡ |
10:11 | ΠΡΠΈΠ±ΠΊΠ° | ΠΠΎΠ»ΠΈΡΡ, Π½Π΅ Π»ΠΎΠΆΠΈΡΡ ΡΠΏΠ°ΡΡ | ΠΠ΅Π· Π½Π°Π·Π²Π°Π½ΠΈΡ (Π§Π΅ΡΠ½ΡΠΉ) | ΠΠ°Π²ΡΠ΅Π³Π΄Π° ΠΆΠΈΠ²ΡΡΠΈΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Ρ |
10:15 | ΠΠ»Π°Π½ΠΊΠΎ | ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ | ΠΠ½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ — EP | ΠΠΎΠ»ΠΈΠ΄ΠΎΡ Π Π΅ΠΊΠΎΡΠ΄Ρ |
10:18 | ΠΠ»ΠΈ Π¨Π°Ρ ΠΈΠ΄ ΠΡΡ Π°ΠΌΠΌΠ΅Π΄ | ΠΡ Π΄ΠΈΠ΄ΠΆΠ΅Π΅Π² 2 ΠΌΡΠ·ΡΠΊΠ°Π½ΡΠΎΠ² Π΄ΠΎ. .. | Π¨Π°Ρ ΠΈΠ΄ΡΠ»Π»Π° ΠΈ ΡΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏΡ | Π Π°ΠΉΠΊΠΎ |
ΠΡΠ΅ΠΌΡ
8:00
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
Π’Π°Π½Π΄Π΅ΡΠΊΡΡ
ΠΠ΅ΡΠ½Ρ
Π Π°Π·Π±ΠΈΡΠΎΠ΅ ΡΠ΅ΡΠ΄ΡΠ΅ + Π½Π΅ΡΠ΄Π°ΡΠ°
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠΏΠΎΠΊΠ°Π»ΠΈΠΏΡΠΈΡ
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΠΎΠ΄Π°ΡΠΈ ΠΌΠΎΠ·Π³ΠΎΠ²
ΠΡΠ΅ΠΌΡ
8:03
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΠ°ΡΠΊ.ΠΠΆΠΈ
ΠΠ΅ΡΠ½Ρ
ΡΠ·
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΡΠ·Π΅ΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΠΉ
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
IAMSOUND/Interscope
ΠΡΠ΅ΠΌΡ
8:07
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΠ»ΠΈ Π¨Π°Ρ ΠΈΠ΄ ΠΡΡ Π°ΠΌΠΌΠ°Π΄
ΠΠ΅ΡΠ½Ρ
ΠΡΡ ΠΎΠ²Π½ΠΎΠ΅ ΠΌΡΡΠ»Π΅Π½ΠΈΠ΅
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΡΡΠΈ ΠΠ°ΡΡ JID006
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΠΆΠ°Π· ΠΌΠ΅ΡΡΠ²
ΠΡΠ΅ΠΌΡ
8:11
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
Q-Tip
ΠΠ΅ΡΠ½Ρ
ΠΠ°Π±Π»ΡΠΊΠΈ
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠ°ΠΌΠ°Π°Π» ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
RCA/Jive
ΠΡΠ΅ΠΌΡ
8:14
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΡΡΠΠ°ΡΡ
Song
She Lives in My Lap (Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ Π ΠΎΠ·Π°ΡΠΈΠΎ ΠΠΎΡΡΠΎΠ½)
ΠΠ»ΡΠ±ΠΎΠΌ
Speakerboxxx/The Love Below
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
Arista/Legacy
ΠΡΠ΅ΠΌΡ
8:19
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
Π‘ΡΠ΅ΠΊΠ»ΡΠ½Π½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ°
ΠΠ΅ΡΠ½Ρ
ΠΠΎΠ½ΡΠ΅ΡΠ½ΡΠΉ Π·Π°ΠΌΠΎΠΊ
ΠΠ»ΡΠ±ΠΎΠΌ
Π/Π/Π/Π’/Π/Π/Π₯
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΡΠ°Π»ΡΡΠ½ΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π»ΡΡΡΠ΅
ΠΡΠ΅ΠΌΡ
8:24
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
Π¨Π΅Π»Π»ΠΈ FKA DRAM
ΠΠ΅ΡΠ½Ρ
ΠΠΎΡΠΎΠ²ΠΊΠ° Π½Π° ΠΆΠΈΡΠ΅
ΠΠ»ΡΠ±ΠΎΠΌ
Π¨Π΅Π»Π»ΠΈ FKA DRAM
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
W. A.V.E. ΠΠ°ΠΏΠΈΡΠΈ/EMPIRE/Atlantic
ΠΡΠ΅ΠΌΡ
8:27
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
Π‘Π΅Π±Π°ΡΡΡΡΠ½ Π’Π΅Π»ΡΠ΅
ΠΠ΅ΡΠ½Ρ
ΠΠ·Π³Π»ΡΠ΄
ΠΠ»ΡΠ±ΠΎΠΌ
Π‘Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΈΠ½ΠΎΠΊ
ΠΡΠ΅ΠΌΡ
8:32
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
WZRD
Song
Teleport 2 Me, Jamie (feat. Desire)
ΠΠ»ΡΠ±ΠΎΠΌ
WZRD
ΠΠ΅ΠΉΠ±Π»
Kid Cudi/Universal Records
ΠΡΠ΅ΠΌΡ
8:36
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΊ-ΠΎΡ
ΠΠ΅ΡΠ½Ρ
ΠΡΠΎΡΠΏΠ΅ΠΊΡ
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠ°!
ΠΠ΅ΠΉΠ±Π»
ΠΠ°ΠΏΠΈΡΠΈ Π»ΠΎΡΠ»ΠΈΡΡΠΎΠ² Crown
ΠΡΠ΅ΠΌΡ
8:45
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΠ»Π»Π° ΠΠΆ.
ΠΠ΅ΡΠ½Ρ
Π’ΠΎΠΊΠΈΠΎ
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠΆΠΎΠ½ Π―Π½ΡΠΈ
ΠΠ΅ΠΉΠ±Π»
ΠΠΆΠ°ΠΊΠ°ΡΡΠ° Π Π΅ΠΊΠΎΡΠ΄Ρ
ΠΡΠ΅ΠΌΡ
8:49
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
Π’Π΅ΡΡΠ°ΡΠ° ΠΠ°ΡΡΠΈΠ½
Song
Bromali (Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ ΠΠ°ΡΠ»ΠΎΠ½Π° Π£ΠΈΠ»ΡΡΠΌΡΠ°)
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠ°ΡΡ Π°ΡΠ½ΡΠ΅ ΠΏΠΎΡΡΡΠ΅ΡΡ
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΠ΅ΡΠ΅Π²ΠΊΠ°
ΠΡΠ΅ΠΌΡ
8:52
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΠ΄ΡΠΈΠ°Π½ Π―Π½Π³
ΠΠ΅ΡΠ½Ρ
Π Π΅Π²ΠΎΠ»ΡΡΠΈΡ
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΠΉ Π½Π΅Π³Ρ
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΠΆΠ°Π· ΠΌΠ΅ΡΡΠ²
ΠΡΠ΅ΠΌΡ
8:56
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
Π’ΠΎΡΠΎ-ΠΈ-ΠΠΎΠΉ
ΠΠ΅ΡΠ½Ρ
Π’Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π΅ΡΠ°Π»Π΅ΠΉ
ΠΠ»ΡΠ±ΠΎΠΌ
Π§ΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ Π²Π·Π°ΠΌΠ΅Π½
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΡΡΠ΅ΡΡ ΠΎ ΠΏΠ°ΡΠΊΠΎΠ²ΠΊΠ΅
ΠΡΠ΅ΠΌΡ
9:00
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΡΠΈΠΊ ΠΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡ
ΠΠ΅ΡΠ½Ρ
ΠΡΠΏΡΡΡΠΈ
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ — EP
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΡΠΈΠΊ ΠΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡ
ΠΡΠ΅ΠΌΡ
9:04
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
Π₯ΡΡΠ°Π½Π±ΠΈΠ½
ΠΠ΅ΡΠ½Ρ
CΓ³mo Te Quiero
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠΎΠ½ Π’ΠΎΠ΄ΠΎ ΠΠ»Ρ ΠΡΠ½Π΄ΠΎ
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΠ΅ΡΡΠ²ΡΠ΅ ΠΎΠΊΠ΅Π°Π½Ρ
ΠΡΠ΅ΠΌΡ
9:08
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΡΠΈΠ°Π½Π° ΠΡΡΡΠΈΡ
ΠΠ΅ΡΠ½Ρ
ΠΠ΄ΠΈΠ½ΠΎΠΊΠΈΠΉ Ρ ΡΠΎΠ±ΠΎΠΉ
ΠΠ»ΡΠ±ΠΎΠΌ
Lonely (With You) — Single
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
Donna Briana Productions
ΠΡΠ΅ΠΌΡ
9:12
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΠ°ΠΏ ΠΠ°ΠΌΠ°
ΠΠ΅ΡΠ½Ρ
ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Π°
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠΎΠ½Π° ΠΠ°
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΡΠ°ΠΊΠ° ΠΠΎΠΏ
ΠΡΠ΅ΠΌΡ
9:16
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
Π₯ΡΠΎΠΌΠ°ΡΠΈΠΊΠ°
ΠΠ΅ΡΠ½Ρ
Π’Ρ ΠΏΠ»ΠΎΡ ΠΎΠΉ
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠ»ΠΈΠΆΠ΅ ΠΊ ΡΠ΅ΡΠΎΠΌΡ
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΡΠ°Π»ΡΡΠ½ΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π»ΡΡΡΠ΅
ΠΡΠ΅ΠΌΡ
9:21
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΠΆΠΎΠΉΡ Π Π°ΠΉΡ
Song
Hot Minute Interlude (Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ ΠΠ΅Π²ΠΈΠ½Π° ΠΠΎΡΡΠΈΡΠΎΠ½Π° ΠΈ Mndsgn)
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠ°ΡΠΎΡΡΠΈΠΉ
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΡΠ·ΡΠΊΠ° ΠΠΆΠΎΠΉΡ Π Π°ΠΉΡ
ΠΡΠ΅ΠΌΡ
9:22
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
Π’Π΅ΠΎΡΠΈΠ» ΠΠΎΠ½Π΄ΠΎΠ½
Song
Only You (feat. Tame Impala)
ΠΠ»ΡΠ±ΠΎΠΌ
Only You (feat. Tame Impala) — Single
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΠΎΠΈ Π·Π°ΠΏΠΈΡΠΈ Bebey
ΠΡΠ΅ΠΌΡ
9:26
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
Π₯Π΅Π·Π΅Ρ
ΠΠ΅ΡΠ½Ρ
ΠΠΉΠ΄Π°Ρ
ΠΠ»ΡΠ±ΠΎΠΌ
Sticky Thumb
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
Π£ΡΠ½Π°Ρ ΡΠ»ΠΈΠ·Ρ
ΠΡΠ΅ΠΌΡ
9:29
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΠ²Π°Π΄ΡΠΎΠ½
ΠΠ΅ΡΠ½Ρ
ΠΡΠ±ΠΎΠ²Ρ
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠ°Π²ΠΈΠ½Π°
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΡΠ»ΡΡΡΡΠ°
ΠΡΠ΅ΠΌΡ
9:33
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΠΆΠ΅ΠΉ ΠΠΈΠ»Π»Π°
ΠΠ΅ΡΠ½Ρ
ΠΡΠ°Π·ΠΈΠ»ΡΡΠΊΠΈΠΉ Π³ΡΡΠ² (Ewf)
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ 2 ΠΠ΅ΡΡΠΎΠΉΡ
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΡΠ·ΡΠΊΠ° BBE
ΠΡΠ΅ΠΌΡ
9:34
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
Π‘ΠΠ―Π’ΠΠ JHN
Song
Borders (Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ ΠΠ΅Π½Π½ΠΈ ΠΡΠ°Π²ΠΈΡΠ°)
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠ΅ΡΡΠΎ ΠΠ΅ΡΠ½ΠΈ ΠΎ Π»ΡΠ±Π²ΠΈ ΠΠ΅Π½Π½ΠΈ
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
Godd Complexx
ΠΡΠ΅ΠΌΡ
9:38
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ Π΄ΡΠ°ΠΊΠΎΠ½
ΠΠ΅ΡΠ½Ρ
ΠΡΡΠΎΠΊΠΈΠΉ
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΡΡΠΎΠΊΠΈΠΉ ΡΠ΅Π·ΠΎΠ½
ΠΠ΅ΠΉΠ±Π»
Lilla Draken Recordings AB
ΠΡΠ΅ΠΌΡ
9:42
ΠΡΡΠΈΡΡ
ΠΠ°ΠΌ-Π€Π°Π½ΠΊ
ΠΠ΅ΡΠ½Ρ
ΠΠΎΠ΄ΡΠ΅ΠΌ
ΠΠ»ΡΠ±ΠΎΠΌ
STFU — EP
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
Π Π΅ΠΊΠΎΡΠ΄Ρ Stones Throw
ΠΡΠ΅ΠΌΡ
9:45
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΠΆΠΎΡΠ΄ΠΆΠΈΡ ΠΠ½Π½ ΠΠ°Π»Π΄ΡΠΎΡ
ΠΠ΅ΡΠ½Ρ
ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ°
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ°
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΠΎΠ΄Π°ΡΠΈ ΠΌΠΎΠ·Π³ΠΎΠ²
ΠΡΠ΅ΠΌΡ
9:49
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΡΠ΄ΠΈΡΠΎΠ½ ΠΠ°ΠΊΡΠ΅ΡΡΠΈΠ½
ΠΠ΅ΡΠ½Ρ
ΡΡΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡΠΠ»ΡΠ±ΠΎΠΌ
Π’Ρ + Π― — EP
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΡΠ΄ΠΈΡΠΎΠ½ ΠΠ°ΠΊΡΠ΅ΡΡΠΈΠ½
ΠΡΠ΅ΠΌΡ
9:53
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΠΎΠ·Π΅Ρ ΠΠ΅ΠΉΠΌΠ±Π΅ΡΠ³
Song
Interstellar Universe (Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ ΠΠ°ΠΌΠ°ΡΠΈ ΠΠ°ΡΠΈΠ½Π³ΡΠΎΠ½)
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΡΠΎΠ³ΡΠ΅ΡΡΠΈΠΈ
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΠΈΡ ΠΠ°Π»Π°ΠΊΡΠΈΠΊΠΈ
ΠΡΠ΅ΠΌΡ
9:59
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
Π‘Π°Π»Π΅ΠΌ
ΠΠ΅ΡΠ½Ρ
ΠΠΎΡΠΎΠ»Ρ ΠΠΎΡΠΈ
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠΎΡΠΎΠ»Ρ ΠΠΎΡΠΈ
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
IAmSound
ΠΡΠ΅ΠΌΡ
10:03
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΡ:Π’ΠΎΠ½
ΠΠ΅ΡΠ½Ρ
Π‘Π»Π°ΡΠ΅
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
Hospital Records Limited
ΠΡΠ΅ΠΌΡ
10:08
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
Π’Π°ΠΉΠ»Π΅Ρ, Π‘ΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ
ΠΠ΅ΡΠ½Ρ
ΠΠΠΠ ΠΠΠ‘ΠΠΠ― Π’ΠΠΠ
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠΠΠ Π¬
ΠΠ΅ΠΉΠ±Π»
ΠΠΎΠ»ΡΠΌΠ±ΠΈΡ Π Π΅ΠΊΠΎΡΠ΄Ρ
ΠΡΠ΅ΠΌΡ
10:11
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
Π‘ΠΎΠ»Ρ
ΠΠ΅ΡΠ½Ρ
ΠΠΎΠ»ΠΈΡΡ ΠΠ΅ Π»ΠΎΠΆΠΈΡΡ ΡΠΏΠ°ΡΡ
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΠ΅Π· Π½Π°Π·Π²Π°Π½ΠΈΡ (Black Is)
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
Forever Living Originals
ΠΡΠ΅ΠΌΡ
10:15
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΠ»Π°Π½ΠΊΠΎ
ΠΠ΅ΡΠ½Ρ
ΠΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ — EP
ΠΡΠΈΠΊΠ΅ΡΠΊΠ°
ΠΠΎΠ»ΠΈΠ΄ΠΎΡ Π Π΅ΠΊΠΎΡΠ΄Ρ
ΠΡΠ΅ΠΌΡ
10:18
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ
ΠΠ»ΠΈ Π¨Π°Ρ ΠΈΠ΄ ΠΡΡ Π°ΠΌΠΌΠ΅Π΄
ΠΠ΅ΡΠ½Ρ
ΠΡ Π΄ΠΈΠ΄ΠΆΠ΅Π΅Π² 2 ΠΌΡΠ·ΡΠΊΠ°Π½ΡΠΎΠ² Π΄ΠΎ.