Как Π΄Π΅Π»Π°Ρ‚ΡŒ Π·Π²ΡƒΠΊΠΎ Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΎΡ€: Π—Π²ΡƒΠΊΠΎ Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· слова-ΠΏΡΡ‚ΡŒ — ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Uchi.ru

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Как Π΄Π΅Π»Π°Ρ‚ΡŒ Π·Π²ΡƒΠΊΠΎ-Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΎΡ€ слова?

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π—Π²ΡƒΠΊΠΎ-Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Β­Π±ΠΎΡ€ сло­ва β€” это харак­тС­ри­сти­ка Π·Π²ΡƒΒ­ΠΊΠΎΒ­Π²ΠΎΒ­Π³ΠΎ ΠΈ Π±ΡƒΠΊΒ­Π²Π΅Π½Β­Π½ΠΎΒ­Π³ΠΎ соста­ва сло­ва. Π§Ρ‚ΠΎΠ±Ρ‹Β  Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Β­Π½ΠΈΡ‚ΡŒ, ΠΏΠΈΡˆΠ΅Ρ‚Β­ΡΡ тран­скрип­ция β€” точ­ная запись Π·Π²ΡƒΒ­ΠΊΠΎΒ­Π²ΠΎΒ­Π³ΠΎ соста­ва слова.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅

Π—Π²ΡƒΠΊΠΎ-Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Β­Π±ΠΎΡ€ β€” это Π°Π½Π°Β­Π»ΠΈΠ· Π·Π²ΡƒΒ­ΠΊΠΎΒ­Π²ΠΎΒ­Π³ΠΎ соста­ва сло­ва ΠΈ Π΅Π³ΠΎ Π±ΡƒΠΊΒ­Π²Π΅Π½Β­Π½ΠΎΒ­Π³ΠΎ отоб­ра­ТС­ния Π½Π° письмС.

Π—Π²ΡƒΠΊΠΎ-Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Β­Π±ΠΎΡ€ сло­ва Π½Π΅ΠΎΠ±Β­Ρ…ΠΎΒ­Π΄ΠΈΠΌ для осо­знан­но­го овла­дС­ния рус­ским язы­ком, Π³Ρ€Π°Β­ΠΌΠΎΡ‚Β­Π½ΠΎΒ­Π³ΠΎ напи­са­ния слов, осо­бСн­но Π² Ρ‚Π΅Ρ… слу­ча­ях, ΠΊΠΎΠ³Π΄Π° Π² сло­вах Π΅ΡΡ‚ΡŒ Π±Π΅Π·Β­ΡƒΠ΄Π°Ρ€Β­Π½Ρ‹Π΅ глас­ныС, нСпро­из­но­си­мыС соглас­ныС, Π±ΡƒΠΊΒ­Π²Ρ‹, ΠΎΠ±ΠΎΒ­Π·Π½Π°Β­Ρ‡Π°Β­ΡŽΒ­Ρ‰ΠΈΠ΅ Π΄Π²Π° Π·Π²ΡƒΒ­ΠΊΠ°, Π±ΡƒΠΊΒ­Π²Ρ‹, Π½Π΅ ΠΎΠ±ΠΎΒ­Π·Π½Π°Β­Ρ‡Π°Β­ΡŽΒ­Ρ‰ΠΈΠ΅ Π·Π²ΡƒΒ­ΠΊΠΎΠ² ΠΈΒ ΠΏΡ€.

ЀонСтичСский Ρ€Π°Π·Β­Π±ΠΎΡ€ выпол­ня­Ст­ся Π² нСсколь­ко эта­пов.Β  Π—Π²ΡƒΠΊΠΎ-Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Β­Π±ΠΎΡ€ ΠΏΡ€Π΅Π΄Β­ΠΏΠΎΒ­Π»Π°Β­Π³Π°Β­Π΅Ρ‚ Π΄Π΅Π»Π΅Β­Π½ΠΈΠ΅ сло­ва Π½Π° сло­ги Π² соот­вСт­ствии с коли­чС­ством глас­ных Π·Π²ΡƒΒ­ΠΊΠΎΠ², поста­нов­ку уда­рС­ния, запись зву­ча­ния сло­ва. Π—Π°Ρ‚Π΅ΠΌ про­во­дит­ся фонС­ти­чС­ский Π°Π½Π°Β­Π»ΠΈΠ· ΠΊΠ°ΠΆΒ­Π΄ΠΎΒ­Π³ΠΎ Π·Π²ΡƒΒ­ΠΊΠ°. ЀонСтичСский Ρ€Π°Π·Β­Π±ΠΎΡ€ Π·Π°Π²Π΅Ρ€Β­ΡˆΠ°Β­Π΅Ρ‚Β­ΡΡ под­счС­том коли­чС­ства Π±ΡƒΠΊΠ² ΠΈ Π·Π²ΡƒΠΊΠΎΠ².

Π‘ΡƒΠΊΠ²Ρ‹ ΠΈΒ Π·Π²ΡƒΠΊΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π°Β­Π²ΠΈΠ»ΡŒΒ­Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Β­Π½ΠΈΡ‚ΡŒ Π·Π²ΡƒΠΊΠΎ-Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Β­Π±ΠΎΡ€ сло­ва, научим­ся Ρ€Π°Π·Β­Π»ΠΈΒ­Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° Π±ΡƒΠΌΠ°Β­Π³Π΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π±ΡƒΠΊΒ­Π²Ρ‹, Π° ΠΊΠΎΠ³Π΄Π° про­из­но­сим сло­во, Ρ‚ΠΎ ΡΠ»Ρ‹Β­ΡˆΠΈΠΌ Π·Π²ΡƒΒ­ΠΊΠΈ. Π‘ΡƒΠΊΠ²Ρ‹ β€” это гра­фи­чС­скиС Π·Π½Π°Β­ΠΊΠΈ, с ΠΏΠΎΠΌΠΎΒ­Ρ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΒ­Ρ€Ρ‹Ρ… ΠΌΠΎΠΆΒ­Π½ΠΎ ΠΎΠ±ΠΎΒ­Π·Π½Π°Β­Ρ‡ΠΈΡ‚ΡŒ Π·Π²ΡƒΒ­ΠΊΠΈΒ Ρ€Π΅Ρ‡ΠΈ.

Π’ рус­ском язы­кС Ρ€Π°Π·Β­Π»ΠΈΒ­Ρ‡Π°Β­ΡŽΡ‚ глас­ныС ΠΈ соглас­ныС Π·Π²ΡƒΠΊΠΈ.

ГласныС Π±ΡƒΠΊΠ²Ρ‹ ΠΈΒ Π·Π²ΡƒΠΊΠΈ

ГласныС Π·Π²ΡƒΒ­ΠΊΠΈ ΠΎΠ±Ρ€Π°Β­Π·ΡƒΒ­ΡŽΡ‚Β­ΡΡ ΠΏΡ€ΠΈ сво­бод­ном ΠΏΡ€ΠΎΒ­Ρ…ΠΎΠΆΒ­Π΄Π΅Β­Π½ΠΈΠΈ Π²ΠΎΠ·Β­Π΄ΡƒΒ­Ρ…Π° ΠΈΠ·ΠΎ Ρ€Ρ‚Π°. Они состо­ят Ρ‚ΠΎΠ»ΡŒΒ­ΠΊΠΎ ΠΈΠ· голо­са. Π’ рус­ском язы­кС ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ

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 .

Π‘ΠΎΠ·Π΄Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Sphinx с использованиСм Ρ‚Π΅ΠΌΡ‹, прСдоставлСнной Read the Docs.

Π Π°Π·Π±ΠΎΡ€ Π·Π²ΡƒΠΊΠ°: Π­ΠΏΠΈΠ·ΠΎΠ΄ 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 ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π½Ρ‚ΠΎΠ² Π΄ΠΎ.

admin

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *