The PodcastGen was developed to solve the difficulty people have in keeping up with the latest news due to their busy routines. Using generative artificial intelligence, PodcastGen transforms news into dynamic and engaging podcasts, allowing users to stay updated on the topics they care about while performing other activities.
- Provide an innovative and efficient way for people to stay informed.
- Transform relevant news into podcasts, making it easier to consume information.
- Users can create podcasts based on a topic and date.
- Users can access podcasts made by others.
- API Integration
- Connection with NewsAPI to get the news.
- AI Processing
- Using GPT-4 for news data analysis and creating audio scripts.
- Podcast Production
- Converting scripts into high-quality audio using Google Cloud Text-to-Speech.
- News API: NewsAPI for updated content.
- Generative AI: GPT-4 for script creation.
- Text-to-Speech (TTS): Google Cloud Text-to-Speech for text-to-audio conversion.
- Frontend Web: Vue.js for the user interface.
- Backend: NestJS for server logic and API integration.
- Database: PostgreSQL for data storage and Azure Blob Storage for storing audios.
- API Integration Development
- Connection and configuration of NewsAPI.
- Validation and filtering of relevant news.
- Generative AI Implementation
- Configuration of GPT-4 for analysis and script generation.
- Quality testing of generated scripts.
- TTS System Configuration
- Integration with Google Cloud Text-to-Speech.
- Adjusting parameters for natural and pleasant voices.
- Frontend Development
- Creating the interface with Vue.js.
- Usability and responsiveness testing.
- Backend Configuration
- Development with NestJS.
- Integration with news API and database.
- Data Storage
- Configuring PostgreSQL for user data and podcast history.
- Using Azure Blob Storage for audio storage.
- Backend: GitHub
- Frontend: GitHub
- Deploy: Vercel
- Prototype: Google Colab
Contributions to Parrot are very welcome! If you would like to contribute, please follow these instructions:
- Fork the repository;
- Create your feature branch (
git checkout -b feature/YourFeature); - Add your changes (
git add .); - Commit your changes (
git commit -m 'Adding a feature'); - Push to the branch (
git push origin feature/YourFeature); - Create a new Pull Request.
npm install
npm run start:dev
npm run build
npm run lint
@nestjs/common: 10.2.8,
@nestjs/config: 3.1.1,
@nestjs/core: 10.2.8,
@nestjs/cli: 10.2.1,
@nestjs/platform-express: 10.2.8,
@nestjs/schedule: 4.0.1,
@nestjs/swagger: 7.3.0,
@prisma/client: 5.6.0,
axios: 1.6.2,
class-transformer: 0.5.1,
class-validator: 0.14.0,
dotenv: 16.3.1,
firebase-admin: 11.11.1,
openai: 4.25.0,
prisma: 5.6.0,
reflect-metadata: 0.1.13,
rxjs: 7.8.1