allendowney/thinkdsp

Think DSP: Digital Signal Processing in Python, by Allen B. Downey.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 4 minutes ago
Type:Curated List / Learning ResourceCategory(s):Scientific Computing & MathProgramming Courses & BooksScience & Industry
Added to GitGenius on September 14th, 2026
Created on August 13th, 2013
Open Issues & Pull Requests: 0 (+0)
GitHub issues: Enabled
Number of forks: 3,590
Total Stargazers: 4,631 (+0)
Total Subscribers: 234 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 171.7 days
Mean response time: 319.6 days
90th percentile: 816.4 days
Tracked items: 7

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Think DSP is an introductory textbook on Digital Signal Processing in Python presented through Jupyter notebooks and supporting materials.

The book addresses the problem that conventional digital signal processing instruction typically starts with mathematical abstractions like phasors, which can obscure the core ideas. Think DSP takes a programming-first approach, teaching DSP top-down so that practical results appear immediately. By the end of the first chapter, readers can decompose sounds into harmonics, modify them, and generate new sounds using Python code rather than beginning with theory.

This resource suits anyone learning DSP who already knows how to program and prefers hands-on exploration over mathematical formalism. The material works well for self-study or as a supplement to formal coursework. The project maintains two repositories: the original contains the first edition in LaTeX, PDF, and EPUB formats along with example and solution notebooks for each chapter; a newer repository holds a second edition draft with more polished HTML presentation. Readers should choose based on their needs—the original repository supports those with the published first edition, while the newer version offers the most current material.

Development activity shows consistent maintenance of educational materials. The project provides multiple execution paths for readers, including Google Colab for quick browser-based access, Conda for stable local setups, and Poetry for project-local virtual environments. The codebase explicitly avoids recommending certain tools like Spyder based on reported user difficulties. The project maintains both a published first edition and an actively developed second edition draft, indicating ongoing refinement of the pedagogical approach.