2 คะแนน โดย GN⁺ 2024-06-03 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • FMP notebooks เป็นสื่อการเรียนการสอนบนพื้นฐาน Jupyter สำหรับการเรียนและการสอน Fundamentals of Music Processing ที่เน้นด้านออดิโอ
  • เชื่อมทฤษฎี สมการ ภาพ ตัวอย่างเสียง และ ตัวอย่างโค้ด Python เข้าด้วยกันเป็นลำดับเดียว โดยอิงจากสถานการณ์การประยุกต์ใช้ Music Information Retrieval(MIR)
  • สามารถดูแบบ HTML แบบคงที่ได้ทันทีโดยไม่ต้องติดตั้ง แต่หากต้องการรันโค้ด จำเป็นต้องดาวน์โหลดโน้ตบุ๊กและข้อมูล พร้อมตั้งค่าสภาพแวดล้อม Jupyter server
  • เวอร์ชันปัจจุบันคือ 1.2.6 โดยเนื้อหาและภาพเผยแพร่ภายใต้ CC BY-NC-SA 4.0 และแพ็กเกจ Python libfmp เผยแพร่ภายใต้สัญญาอนุญาต MIT
  • เนื้อหาครอบคลุมตั้งแต่การแทนค่าดนตรี การวิเคราะห์ฟูเรียร์ การซิงโครไนซ์ การวิเคราะห์โครงสร้าง การรู้จำคอร์ด การติดตามเทมโปและบีต การค้นหาออดิโอ ไปจนถึงการแยกองค์ประกอบออดิโอ ตาม 8 บทของตำรา

จุดประสงค์ของ FMP notebooks

  • FMP notebooks เป็นชุดสื่อการเรียนการสอนสำหรับการเรียนรู้และการสอน Fundamentals of Music Processing
  • มุ่งเน้นที่ ขอบเขตของออดิโอ และใช้หัวข้อที่เป็นที่รู้จักใน Music Information Retrieval(MIR) เป็นสถานการณ์ประยุกต์
  • รวมองค์ประกอบต่อไปนี้ไว้ในเฟรมเวิร์กบนพื้นฐาน Jupyter notebook เดียว
    • บทนำของสถานการณ์ MIR
    • ภาพและตัวอย่างเสียง
    • แนวคิดทางเทคนิคและรายละเอียดเชิงคณิตศาสตร์
    • ตัวอย่างโค้ด Python ที่แสดงการนำทฤษฎีไปใช้งานจริง
  • นักศึกษาสามารถเรียนทั้งทฤษฎีและภาคปฏิบัติไปพร้อมกัน อาจารย์สามารถใช้เป็นสื่อการสอน และนักวิจัยสามารถอ้างอิง implementation มาตรฐานสำหรับงาน MIR ได้

วิธีอ่านและรัน

  • หากต้องการเพียงการดูแบบคงที่ สามารถใช้ เวอร์ชัน HTML ที่ส่งออกไว้ได้ทันทีโดยไม่ต้องติดตั้ง
    • สามารถเข้าถึงคำอธิบาย ภาพ และตัวอย่างออดิโอได้ผ่านลิงก์ใน HTML
  • หากต้องการรันเซลล์โค้ด Python ต้องทำตามขั้นตอนต่อไปนี้
    • ดาวน์โหลดโน้ตบุ๊กและข้อมูล
    • สร้างสภาพแวดล้อมสำหรับรัน
    • เริ่มต้น Jupyter server
    • ใช้ลิงก์ IPYNB ภายในเซสชัน Jupyter
  • ขั้นตอนการรันโดยละเอียดสรุปไว้ใน Get Started

เวอร์ชันและสัญญาอนุญาต

  • FMP notebooks มีการอัปเดตอย่างต่อเนื่อง และเวอร์ชันปัจจุบันคือ 1.2.6
  • ข้อความและภาพในโน้ตบุ๊กเผยแพร่ภายใต้ Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
  • แพ็กเกจ Python libfmp ใช้ สัญญาอนุญาต MIT และเผยแพร่บน GitHub
  • สื่อออดิโอใช้สัญญาอนุญาตต้นฉบับของแต่ละรายการ
  • เว็บไซต์นี้มีข้อความและภาพบางส่วนจากหนังสือ Fundamentals of Music Processing

โครงสร้างของโน้ตบุ๊ก

  • FMP notebooks จัดโครงสร้างตาม 8 บท ของตำรา
  • Basics

    • ครอบคลุมวิธีเริ่มต้นใช้งาน เฟรมเวิร์ก Jupyter, Anaconda, มัลติมีเดีย, การเขียนโปรแกรม Python, การทำ visualization, ออดิโอ, Numba, คอมเมนต์, libfmp และทรัพยากร MIR
  • Music Representations

    • ครอบคลุมสัญกรณ์ดนตรี, MIDI, สัญญาณออดิโอ, รูปคลื่น, pitch, loudness และ timbre
  • Fourier Analysis of Signals

    • ครอบคลุมสัญญาณไม่ต่อเนื่องและสัญญาณแอนะล็อก, คลื่นไซน์, ฟังก์ชันเอ็กซ์โพเนนเชียล, Fourier transform, การแทนค่าแบบฟูเรียร์, DFT, FFT และ STFT
  • Music Synchronization

    • ครอบคลุม chroma feature, dynamic programming, dynamic time warping(DTW), การจัดแนว และส่วนติดต่อผู้ใช้
  • Music Structure Analysis

    • ครอบคลุม similarity matrix, การทำซ้ำ, thumbnail, ความเป็นเนื้อเดียวกัน, ความใหม่, การประเมินผล, precision, recall, F-measure, การทำ visualization และ scape plot
  • Chord Recognition

    • ครอบคลุม harmony, ทฤษฎีดนตรี, คอร์ด, สเกล, template, hidden Markov model(HMM) และการประเมินผล
  • Tempo and Beat Tracking

    • ครอบคลุม onset, novelty, tempo, tempogram, beat, periodicity, การวิเคราะห์ฟูเรียร์ และ autocorrelation
  • Content-Based Audio Retrieval

    • ครอบคลุมการระบุ, fingerprint, audio matching, การระบุเวอร์ชัน และ cover song
  • Musically Informed Audio Decomposition

    • ครอบคลุมการแยก harmonic/percussive, การสร้างสัญญาณใหม่, instantaneous frequency, fundamental frequency(F0), trajectory และ nonnegative matrix factorization(NMF)

เอกสารอ้างอิงและแพ็กเกจ

1 ความคิดเห็น

 
GN⁺ 2024-06-03
ความคิดเห็นจาก Hacker News
  • สิ่งนี้ก็อาจเป็นประโยชน์: https://allendowney.github.io/ThinkDSP/
    • ยังมี เครื่องมือโอเพนซอร์สสำหรับสร้างดนตรีและเสียง ที่น่าดูเพิ่มเติมด้วย
      ใน "Raspberry Pi for Dummies" มีบทที่พูดถึง SonicPi และ PyGame
      SonicPi เป็น สภาพแวดล้อมไลฟ์โค้ดดิ้ง สำหรับการสร้างดนตรีและการศึกษา และเท่าที่เข้าใจคล้ายกับ ChucK
      PyGame ดูเหมือนจะมี pygame.mixer ที่อิงกับ SDL mixer
      เอนจินเกม Godot รองรับเอฟเฟกต์เสียง: https://docs.godotengine.org/en/stable/tutorials/audio/audio...
      BespokeSynth มีโมดูล "script" ที่ใช้ Python ในการสังเคราะห์โน้ตและคอร์ด รวมถึงแปลงสตรีมเสียงได้: https://github.com/BespokeSynth/BespokeSynth/blob/main/resou... ( https://github.com/BespokeSynth/BespokeSynth/blob/main/bespo... )
      โน้ตบุ๊ก AllenDowney/ThinkDSP อ้างอิง NumPy, freesound และอื่น ๆ: https://github.com/AllenDowney/ThinkDSP
    • ผมดูเป็นแหล่งอ้างอิงแรกตอนที่ยังไม่รู้เรื่อง การประมวลผลสัญญาณดิจิทัล เลย และมันยอดเยี่ยมจริง ๆ
      ช่วยได้มากในการสร้างโมเดลความคิดเกี่ยวกับการประมวลผลเสียง และใน repo นี้ก็มีแหล่งข้อมูลดี ๆ มากมาย: https://github.com/BillyDM/Awesome-Audio-DSP
  • มีแหล่งข้อมูลดี ๆ สำหรับเรียนรู้ อัลกอริทึมประมวลผลเสียงดิจิทัล อย่างการบีบอัดเสียงหรือรีเวิร์บไหม?
  • นับว่าเป็นหนึ่งในแหล่งข้อมูล DSP+ML ด้านเสียงที่ดีมาก
    แม้จะเน้นที่ดนตรี แต่ก็เกี่ยวข้องกับเสียงประเภทอื่นอย่างเสียงพูดหรือเสียงแวดล้อมอย่างมาก
  • เป็นแหล่งอ้างอิงที่ดีและมีประโยชน์เมื่อต้องจัดการกับ สัญญาณ ประเภทอื่น ๆ ด้วย
  • จะเหมาะไหมสำหรับคนที่ไม่มีความรู้ด้านดนตรี แต่ชอบเขียนโปรแกรมและอยากเรียนรู้เกี่ยวกับเสียงและการสร้างเสียง?
    • เนื้อหาหลัก ๆ ว่าด้วย การวิเคราะห์ ดนตรีและเสียง และแทบไม่พูดถึงการสังเคราะห์เสียง
      ถ้าไม่นับจุดนั้นก็โอเค
  • ควรดูหน้าเว็บของ Dan Ellis ที่ Columbia และ librosa ที่ยอดเยี่ยมมากควบคู่กันไปด้วย