[PR #35] [MERGED] feat: Podcast customization with UI configuration panel #38

Closed
opened 2026-02-16 03:17:25 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/run-llama/notebookllama/pull/35
Author: @nick-galluzzo
Created: 7/16/2025
Status: Merged
Merged: 7/16/2025
Merged by: @nick-galluzzo

Base: mainHead: feature/podcast-customization


📝 Commits (4)

  • e05598e feat: init podcast customization with config
  • 45cd4e1 improve podcast customization and add UI config panel
  • 6de8482 fix: add type annotation for PODCAST_GEN to resolve error
  • 8829d28 refactor: move BaseModel tests from test_audio.py to test_models.py

📊 Changes

5 files changed (+638 additions, -52 deletions)

View changed files

📝 src/notebookllama/Home.py (+84 -6)
📝 src/notebookllama/audio.py (+271 -41)
📝 tests/test_audio.py (+175 -3)
📝 tests/test_models.py (+107 -1)
📝 uv.lock (+1 -1)

📄 Description

This PR introduces a v1 podcast customization system that allows users to tailor their generated podcasts with control over style, content, and presentation.

Key Features

What: Interactive configuration panel that transforms generic podcast generation into personalized conversations through:

  • Style & Tone Control: Choose from conversational/interview/debate/educational styles with friendly/professional/casual/energetic tones
  • Audience Targeting: Tailor complexity and terminology for general/technical/business/expert/beginner audiences
  • Content Focus: Specify topics to emphasize and add custom instructions
  • Speaker Personalization: Define custom roles beyond the default host/guest dynamic

Why: Users previously had no control over podcast output, resulting in generic conversations that might not match their intended use case. This feature enables creation of custom and personalized podcasts for different contexts (educational content, technical documentation, business presentations, etc.).

Technical Implementation:

  • Full backwards compatibility with optional configuration
  • Validation and error handling
  • Enhanced logging and resource management
Screenshot 2025-07-16 at 7 55 24 PM

Future Roadmap & Discussion

I'm interested to hear your thoughts and if there is anything you might change, add, or remove. Here are some thoughts on what we can still implement:

  • Dedicated UI Page: We could break out the podcast generator and customization panel into its own dedicated screen/page for a more focused UX
  • Additional Customizations?

v2 Ideas:

  • Voice Selection: Allow users to choose from available ElevenLabs voices
  • Podcast Length Control: Set target duration/turn limits
  • Conversation Templates: Pre-built templates for common use cases

Future Enhancement:

  • Natural Language Customization: Allow users to write customization instructions in plain text rather than being limited to the current structured options (ie: "Make this sound like a casual conversation between two friends discussing this over coffee")

As always, if any of these further enhancements align with the vision, let me know and I'm happy to dig into them! Looking forward to your feedback!


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/run-llama/notebookllama/pull/35 **Author:** [@nick-galluzzo](https://github.com/nick-galluzzo) **Created:** 7/16/2025 **Status:** ✅ Merged **Merged:** 7/16/2025 **Merged by:** [@nick-galluzzo](https://github.com/nick-galluzzo) **Base:** `main` ← **Head:** `feature/podcast-customization` --- ### 📝 Commits (4) - [`e05598e`](https://github.com/run-llama/notebookllama/commit/e05598e72b4d841ac6d030132f7e2798ea4dffca) feat: init podcast customization with config - [`45cd4e1`](https://github.com/run-llama/notebookllama/commit/45cd4e1ef1a07d62d19ec7d115b3ae753f96be17) improve podcast customization and add UI config panel - [`6de8482`](https://github.com/run-llama/notebookllama/commit/6de8482e882e96f7a88e6aa02c8c22c79e971a85) fix: add type annotation for PODCAST_GEN to resolve error - [`8829d28`](https://github.com/run-llama/notebookllama/commit/8829d282e397d1dbe8e3224ee92f6388ad5730a9) refactor: move BaseModel tests from test_audio.py to test_models.py ### 📊 Changes **5 files changed** (+638 additions, -52 deletions) <details> <summary>View changed files</summary> 📝 `src/notebookllama/Home.py` (+84 -6) 📝 `src/notebookllama/audio.py` (+271 -41) 📝 `tests/test_audio.py` (+175 -3) 📝 `tests/test_models.py` (+107 -1) 📝 `uv.lock` (+1 -1) </details> ### 📄 Description This PR introduces a v1 podcast customization system that allows users to tailor their generated podcasts with control over style, content, and presentation. ### Key Features **What:** Interactive configuration panel that transforms generic podcast generation into personalized conversations through: - **Style & Tone Control:** Choose from _conversational/interview/debate/educational_ styles with _friendly/professional/casual/energetic tones_ - **Audience Targeting:** Tailor complexity and terminology for _general/technical/business/expert/beginner_ audiences - **Content Focus:** Specify topics to emphasize and add custom instructions - **Speaker Personalization:** Define custom roles beyond the default _host/guest_ dynamic **Why:** Users previously had no control over podcast output, resulting in generic conversations that might not match their intended use case. This feature enables creation of custom and personalized podcasts for different contexts (educational content, technical documentation, business presentations, etc.). **Technical Implementation:** - Full backwards compatibility with optional configuration - Validation and error handling - Enhanced logging and resource management <img width="640" height="794" alt="Screenshot 2025-07-16 at 7 55 24 PM" src="https://github.com/user-attachments/assets/39bfc5ea-53a1-4580-a16a-c4c37fb40edf" /> --- ### Future Roadmap & Discussion I'm interested to hear your thoughts and if there is anything you might change, add, or remove. Here are some thoughts on what we can still implement: - **Dedicated UI Page:** We could break out the podcast generator and customization panel into its own dedicated screen/page for a more focused UX - **Additional Customizations?** **v2 Ideas:** - **Voice Selection:** Allow users to choose from available ElevenLabs voices - **Podcast Length Control:** Set target duration/turn limits - **Conversation Templates:** Pre-built templates for common use cases **Future Enhancement:** - **Natural Language Customization:** Allow users to write customization instructions in plain text rather than being limited to the current structured options (ie: "Make this sound like a casual conversation between two friends discussing this over coffee") --- As always, if any of these further enhancements align with the vision, let me know and I'm happy to dig into them! Looking forward to your feedback! --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-16 03:17:25 -05:00
yindo closed this issue 2026-02-16 03:17:25 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: run-llama/notebookllama#38