БоврСмСнная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… сигналов Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠΎΡ‰Π½ΠΎΠ³ΠΎ инструмСнтария, способного ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с большими массивами Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Анаконда (Anaconda) становится Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ стандартом для ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΈ исслСдоватСлСй, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² области Π°ΡƒΠ΄ΠΈΠΎΠ°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ, благодаря своСй способности ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ слоТными зависимостями ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² вСрсий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ классичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ DSP с соврСмСнными Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ машинного обучСния.

ИспользованиС Python Π² связкС с ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² conda ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ доступ ΠΊ экосистСмС, Π³Π΄Π΅ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со Π·Π²ΡƒΠΊΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² Π΅Π΄ΠΈΠ½ΡƒΡŽ срСду. Π’Π°ΠΌ Π½Π΅ придСтся Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ слоТныС C-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ FFmpeg ΠΈΠ»ΠΈ libsndfile, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Π΄Π°-ΠΊΠ°Π½Π°Π»Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π­Ρ‚ΠΎ особСнно ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ распознавания Ρ€Π΅Ρ‡ΠΈ, Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΡƒΠ·Ρ‹ΠΊΠΈ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° спСктра.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° окруТСния для Π°ΡƒΠ΄ΠΈΠΎ-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом ΠΊ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ являСтся созданиС ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСды, Π³Π΄Π΅ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅Π· ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ². Никогда Π½Π΅ ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π°ΡƒΠ΄ΠΈΠΎ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСмных ΡƒΡ‚ΠΈΠ»ΠΈΡ‚. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ срСду, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ conda create, ΠΈ сразу ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ вСрсии ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

Π’Ρ‹Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ дистрибутива Python ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅Π½ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Для Π·Π°Π΄Π°Ρ‡ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ обучСния, связанных с Π°ΡƒΠ΄ΠΈΠΎ, часто трСбуСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° CUDA, Ρ‡Ρ‚ΠΎ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ трСбования ΠΊ вСрсии PyTorch ΠΈΠ»ΠΈ TensorFlow. Π’ стандартной установкС Anaconda эти ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π±Ρ‹Ρ‚ΡŒ нСсовмСстимыми, поэтому Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Π½Π°Π»Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ conda-forge.

  • πŸ› οΈ Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ срСду с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ audio-env ΠΈ Python вСрсии 3.9 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅
  • πŸ”Œ УстановитС ffmpeg ΠΊΠ°ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ΄Π΅ΠΊΠ°ΠΌΠΈ
  • πŸ“Š Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ numpy для Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с массивами Π΄Π°Π½Π½Ρ‹Ρ…
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ прСдупрСТдСния ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°Ρ… вСрсий ΠΏΡ€ΠΈ установкС scipy. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ .wav с высокой Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ.

ПослС Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ срСды Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ установки всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ЗапуститС простой скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ тСстовый Π°ΡƒΠ΄ΠΈΠΎΡ„Π°ΠΉΠ» ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ΠΈ зависимости Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² связкС. Если Π½Π° этом этапС Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ошибки, Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠ΅Ρ€Π΅ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Π΅ΠΌ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Ρ‡ΠΈΠ½ΠΈΡ‚ΡŒ сломанныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

πŸ“Š Какой инструмСнт Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со Π·Π²ΡƒΠΊΠΎΠΌ?
  • Librosa
  • PyDub
  • SoundFile
  • Π”Ρ€ΡƒΠ³ΠΎΠΉ

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π²ΡƒΠΊΠ°

ЭкосистСма Python Π±ΠΎΠ³Π°Ρ‚Π° инструмСнтами для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со Π·Π²ΡƒΠΊΠΎΠΌ, Π½ΠΎ Π½Π΅ всС ΠΎΠ½ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ эффСктивны. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Librosa остаСтся Π»ΠΈΠ΄Π΅Ρ€ΠΎΠΌ для Π°Π½Π°Π»ΠΈΠ·Π° ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… сигналов, прСдлагая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ извлСчСния ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ², спСктрограмм ΠΈ ритмичСских ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ². Однако для Π·Π°Π΄Π°Ρ‡, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… высокой скорости ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ soundfile ΠΈΠ»ΠΈ pydub, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ простой API.

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ занимаСтся ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ, критичСски Π²Π°ΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Π½Π·ΠΎΡ€Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Ρ€ΠΎΠ΄Π΅ Torchaudio ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π°ΡƒΠ΄ΠΈΠΎΡ„Π°ΠΉΠ»Ρ‹ прямо Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ GPU, минуя ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° процСссорС. Π­Ρ‚ΠΎ ускоряСт процСсс обучСния ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π½Π° тысячи ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с классичСскими ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ чтСния Ρ„Π°ΠΉΠ»ΠΎΠ².

БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π±ΠΎΡ€ спСциализированных инструмСнтов для синтСза Π·Π²ΡƒΠΊΠ° ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ. Essentia прСдоставляСт ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ для извлСчСния ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСдоступны Π² стандартных ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ…. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ каТдая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ свои ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ стороны, ΠΈ Π²Ρ‹Π±ΠΎΡ€ зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

  • 🎡 Librosa β€” ΠΈΠ΄Π΅Π°Π»Π΅Π½ для Π°Π½Π°Π»ΠΈΠ·Π° ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ структуры ΠΈ Ρ‚Π΅ΠΌΠ±Ρ€Π°
  • πŸ”Š PyDub β€” ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для простых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ рСдактирования ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ
  • 🧠 Torchaudio β€” Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ обучСния ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с GPU

Установка ΠΈ настройка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ

ΠŸΡ€ΠΎΡ†Π΅ΡΡ установки Π°ΡƒΠ΄ΠΈΠΎ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Ρ‡Π΅Ρ€Π΅Π· conda часто Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ вопросы ΠΈΠ·-Π·Π° слоТной сСтки зависимостСй. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Π½Π°Π» conda-forge ΠΊΠ°ΠΊ основной источник ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ содСрТит Π±ΠΎΠ»Π΅Π΅ свСТиС вСрсии ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для кроссплатформСнной Ρ€Π°Π±ΠΎΡ‚Ρ‹. Установка Ρ‡Π΅Ρ€Π΅Π· pip Π²Π½ΡƒΡ‚Ρ€ΠΈ срСды ΠΊΠΎΠ½Π΄Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΠ»ΠΎΠΌΠΊΠ΅ срСды, Ссли Π½Π΅ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с частотными прСобразованиями Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ scipy, которая содСрТит ΠΌΠΎΠ΄ΡƒΠ»ΡŒ scipy.signal. Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ вСрсия NumPy совмСстима с вСрсиСй SciPy, ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ с ошибкой ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΏΡ€ΠΈ запускС скрипта.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ установкС ffmpeg Ρ‡Π΅Ρ€Π΅Π· conda ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡƒΡ‚ΡŒ ΠΊ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния. Π˜Π½Π°Ρ‡Π΅ скрипты Π½Π΅ смогут Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ для сохранСния Ρ„Π°ΠΉΠ»ΠΎΠ².

Иногда трСбуСтся установка спСцифичСских вСрсий Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для совмСстимости с ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„Π»Π°Π³ --force-reinstall, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ зависимости Π²Ρ‹ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚Π΅. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ установкой.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° установки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°ΡƒΠ΄ΠΈΠΎΡ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ²

Основная Π·Π°Π΄Π°Ρ‡Π° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со Π·Π²ΡƒΠΊΠΎΠΌ Π² Anaconda β€” это ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ сырых Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ. Π‘ΠΏΠ΅ΠΊΡ‚Ρ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнным прСдставлСниСм, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ частот Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Для ΠΈΡ… построСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ быстроС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π€ΡƒΡ€ΡŒΠ΅ (FFT), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ scipy ΠΈΠ»ΠΈ numpy.

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅Π»-ΠΊΠ΅ΠΏΡΡ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… коэффициСнтов (MFCC) β€” стандартная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для Π·Π°Π΄Π°Ρ‡ распознавания Ρ€Π΅Ρ‡ΠΈ. Π­Ρ‚ΠΈ коэффициСнты ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‚ восприятиС Π·Π²ΡƒΠΊΠ° чСловСчСским ΡƒΡ…ΠΎΠΌ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ модСлям Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ±ΠΎΠ±Ρ‰Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Librosa прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ librosa.feature.mfcc, которая Π΄Π΅Π»Π°Π΅Ρ‚ этот процСсс Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ аудиозаписями Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ, особСнно Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с записями высокой частоты дискрСтизации. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ Ρ€Π°Π·Π±ΠΈΠ²Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» Π½Π° Ρ‡Π°Π½ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ.

  • πŸ“‰ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ librosa.stft для получСния спСктрограммы сигнала
  • 🧠 Π˜Π·Π²Π»Π΅ΠΊΠ°ΠΉΡ‚Π΅ MFCC для Π·Π°Π΄Π°Ρ‡ классификации Π·Π²ΡƒΠΊΠ°
  • ⚑ ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²
Как Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‡Π°Π½ΠΊΠ°?

Для расчСта Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‡Π°Π½ΠΊΠ° Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ количСство сэмплов Π½Π° частоту дискрСтизации. НапримСр, 4096 сэмплов ΠΏΡ€ΠΈ 44100 Π“Ρ† Π΄Π°Π΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 0.09 сСкунды Π°ΡƒΠ΄ΠΈΠΎ.

Π Π°Π±ΠΎΡ‚Π° с нСйросСтСвыми модСлями для Π°ΡƒΠ΄ΠΈΠΎ

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π·Π²ΡƒΠΊΠ° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π±Π΅Π· использования Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтСй. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ PyTorch ΠΈ TensorFlow ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с Anaconda Ρ‡Π΅Ρ€Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Π½Π°Π»Ρ‹, обСспСчивая доступ ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ускоритСлям. Π­Ρ‚ΠΎ позволяСт ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°Ρ… сСкунд Π°ΡƒΠ΄ΠΈΠΎ Π·Π° Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ΅ врСмя.

Для обучСния ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€Π΅Π΄ΠΎΠ±ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Wav2Vec ΠΈΠ»ΠΈ YAMNet. Π­Ρ‚ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡƒΠΆΠ΅ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ ΠΈΠ· Π·Π²ΡƒΠΊΠ° ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ дообучСния Π½Π° вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅. Установка Ρ‚Π°ΠΊΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия всСх зависимых Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· requirements.txt.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ настройкС Π±Π°Ρ‚Ρ‡-Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (batch size). Блишком большой Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ памяти Π½Π° GPU, Π° слишком малСнький Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. ЭкспСримСнтируйтС с этим ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ, наблюдая Π·Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ видСопамяти Π² nvidia-smi.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ NVIDIA ΠΈ CUDA-вСрсии, совмСстимыС с вашСй вСрсиСй PyTorch. Π˜Π½Π°Ρ‡Π΅ модСль Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° процСссорС, Ρ‡Ρ‚ΠΎ Π² 100 Ρ€Π°Π· ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅.

Π’Π°ΠΆΠ½Ρ‹ΠΌ аспСктом являСтся сохранСниС ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° вСсов ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ стандартныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ torch.save ΠΈ torch.load, Π½ΠΎ всСгда провСряйтС ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ вСрсий Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΠΏΡ€ΠΈ пСрСносС ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Π Π°Π·Π½Ρ‹Π΅ вСрсии PyTorch ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсовмСстимыС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ сСриализации.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ TensorBoard для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ процСсса обучСния нСйросСти. Она позволяСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΏΠΎΡ‚Π΅Ρ€ΡŒ ΠΈ точности Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, помогая быстрСС Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Π³ΠΈΠΏΠ΅Ρ€ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΈ оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π Π°Π±ΠΎΡ‚Π° с Π°ΡƒΠ΄ΠΈΠΎ часто сопряТСна с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, особСнно ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΡƒΠ·ΠΊΠΈΠ΅ мСста Π² вашСм скриптС. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ cProfile ΠΈΠ»ΠΈ встроСнныС Π² Jupyter Notebook магичСскиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ большС всСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Частой ошибкой являСтся использованиС Ρ†ΠΈΠΊΠ»ΠΎΠ² Python для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ массивов Π΄Π°Π½Π½Ρ‹Ρ…. Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΈΡ… Π½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ NumPy, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ C ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС. Π­Ρ‚ΠΎ простоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ваш скрипт Π² дСсятки Ρ€Π°Π·.

Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ использованиС памяти. Π£Ρ‚Π΅Ρ‡ΠΊΠΈ памяти часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ использовании Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² Π² Librosa ΠΈΠ»ΠΈ soundfile. ВсСгда удаляйтС Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ сборщик мусора, Ссли ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΎΡ‡Π΅Π½ΡŒ большиС Ρ„Π°ΠΉΠ»Ρ‹.

Для ускорСния вычислСний Π½Π° CPU ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ numba, которая ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ собствСнных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Π΅ Π½Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ….

  • πŸš€ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ NumPy вмСсто Ρ†ΠΈΠΊΠ»ΠΎΠ²
  • πŸ” ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ cProfile
  • 🧹 ΠžΡ‡ΠΈΡ‰Π°ΠΉΡ‚Π΅ ΠΏΠ°ΠΌΡΡ‚ΡŒ послС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²
πŸ’‘

ВСкторизация ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ β€” это самый простой ΠΈ эффСктивный способ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π°ΡƒΠ΄ΠΈΠΎ Π² Python Π±Π΅Π· измСнСния Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ прилоТСния.

Π’Π°Π±Π»ΠΈΡ†Π° сравнСния популярных Π°ΡƒΠ΄ΠΈΠΎ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ

Для Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ инструмСнта ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ основныС характСристики популярных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ОсновноС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GPU Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ API Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ
Librosa Анализ ΠΌΡƒΠ·Ρ‹ΠΊΠΈ НСт БрСдняя БрСдняя
PyDub ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ НСт Низкая Высокая
Torchaudio Π“Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π”Π° БрСдняя ΠžΡ‡Π΅Π½ΡŒ высокая
SoundFile Π§Ρ‚Π΅Π½ΠΈΠ΅/запись Ρ„Π°ΠΉΠ»ΠΎΠ² НСт Низкая Высокая
Essentia Π‘Π»ΠΎΠΆΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· НСт Высокая БрСдняя

Π’Ρ‹Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ просто ΠΎΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», PyDub Π±ΡƒΠ΄Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ. Для обучСния нСйросСтСй ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Torchaudio. А для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Librosa остаСтся Π²Π½Π΅ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ΠΎΡ€Ρ‡Π°ΡƒΠ΄ΠΈΠΎ (Torchaudio) β€” СдинствСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π² спискС, которая обСспСчиваСт Π½Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ GPU для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°ΡƒΠ΄ΠΈΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΠΎΠ³ΠΎ обучСния ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы

Как ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² Π°ΡƒΠ΄ΠΈΠΎ-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Anaconda?

Для обновлСния всСх ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π΄ΠΎ послСдних вСрсий ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ conda update --all Π² Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС. Однако Π±ΡƒΠ΄ΡŒΡ‚Π΅ остороТны: ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌ вСрсий, поэтому Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ срСду для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Librosa Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠΎΠΉ MP3 Ρ„Π°ΠΉΠ»?

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Librosa ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ FFmpeg для дСкодирования Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ², ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ WAV. Если Ρƒ вас Π½Π΅ установлСн FFmpeg ΠΈΠ»ΠΈ ΠΎΠ½ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния PATH, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ MP3 Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. УстановитС FFmpeg Ρ‡Π΅Ρ€Π΅Π· conda install -c conda-forge ffmpeg.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Anaconda Π½Π° Linux сСрвСрС Π±Π΅Π· GUI?

Π”Π°, Anaconda прСкрасно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² консольном Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π° сСрвСрах Linux. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ срСдами ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ скрипты ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Π΅Π· графичСского интСрфСйса.

Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π°ΡƒΠ΄ΠΈΠΎ Π² Python?

Для ускорСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ NumPy, примСняйтС ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ, Ссли Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, пСрСноситС вычислСния Π½Π° GPU с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PyTorch ΠΈΠ»ΠΈ TensorFlow.

НуТно Π»ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Python для Anaconda?

НСт, Anaconda Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя свой ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Python. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Python ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, ΠΈ Π΄Π°ΠΆΠ΅ рСкомСндуСтся этого Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π² путях.