• Stars
    star
    126
  • Rank 284,543 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created over 3 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Automatic voice-synthetised summaries of latest research papers on arXiv

PaperWhisperer

PaperWhisperer is a Python application that keeps you up-to-date with research papers. How? It retrieves the latest articles from arXiv on a topic, by performing a keyword-based search. Then, it creates vocal summaries of the articles using Text-To-Speech and stores them to disk.

Installation

To install the package, move to the root of the repo and type in the console:

$ pip install .

If you plan to develop the package further, install the package in editable mode also installing the packages necessary to run unittests:

$ pip install -e .[test]

Testing

To run unittests, issue the following command from the root of the repo:

$ pytest

Package structure

The package is divided into 2 sub-packages:

  • retrieval
  • tts

retrieval contains data structures and facilities necessary to retrieve articles from arXiv. Under the hood, the app uses arxiv, a Python package that is a wrapper around the arXiv free API.

tts has facilities to generate speech renditions of text-based article summaries. The summary of an article consists of its title, authors, and abstract. Speech synthesis is performed using Google Cloud Text-To-Speech.

Setting up Google Cloud Text-To-Speech

PaperWhisperer uses Google Cloud Text-To-Speech to synthesise speech.

In order to be able to use this service, you should:

  1. create an account on Google Cloud,
  2. create a Cloud Platform project,
  3. enable the Text-To-Speech API in the project
  4. setup authentication
  5. download a Json private key

More info on how to set up Google Cloud Text-To-Speech

Environment variables

The app uses an environment variable called GOOGLE_APPLICATION_CREDENTIALS to connect to Google Cloud Text-To-Speech safely.

In config.yml, set GOOGLE_APPLICATION_CREDENTIALS to the path of the Json private key you previously downloaded while setting up the Google service.

Without this step, you won't be able to connect to Google Cloud Text-To-Speech, and the app will throw an error.

How to create summaries

To create summaries for a keyword search, use the create_summaries entry point. This is the only console script of the package and the main entry point of the application.

Below is an example of how you can run the script:

$ create_summaries "generate chord progressions" 100 /save/dir 40

The script takes 4 positional arguments:

  • keywords used for searching articles (more than one keyword is possible)
  • maximum number of articles to retrieve
  • directory where to store vocal summaries
  • retrieve articles no older than this integer value in days

Dependencies

PaperWhisperer depends on the following packages:

  • arxiv==1.2.0
  • google-cloud-texttospeech
  • python-dotenv

YouTube video

Learn more about PaperWhisperer in this project presentation video on The Sound of AI YouTube channel.

More Repositories

1

AudioSignalProcessingForML

Code and slides of my YouTube series called "Audio Signal Proessing for Machine Learning"
Jupyter Notebook
909
star
2

DeepLearningForAudioWithPython

Code and slides for the "Deep Learning (For Audio) With Python" course on TheSoundOfAI Youtube channel.
Python
554
star
3

pytorchforaudio

Code for the "PyTorch for Audio + Music Processing" series on The Sound of AI YouTube channel.
Python
186
star
4

Deep-Learning-Audio-Application-From-Design-to-Deployment

Code and slides for the "Deep learning (audio) application: From design to deployment" tutorials.
Python
144
star
5

generating-sound-with-neural-networks

Code and slides for the "Generating Sound with Neural Network" series on The Sound of AI Youtube channel.
Python
132
star
6

praudio

Audio preprocessing framework for Deep Learning audio applications
Python
123
star
7

generating-melodies-with-rnn-lstm

Repo with code and slides for the "Generating Melodies with RNN-LSTM" YouTuve series.
Python
85
star
8

infiniteremixer

Create infinite remixes intelligently patching together groups of songs
Python
67
star
9

spotifyplaylistgenerator

A script to create custom Spotify playlists using the Spotify API, based on seed tracks.
Python
64
star
10

prophet

Python
49
star
11

generativemusicaicourse

Resources for the Generative Music AI Course on The Sound of AI YouTube channel.
Python
39
star
12

audioDataAugmentationTutorial

Repository hosting code and slides of the Audio Data Augmentation series on The Sound of AI YT channel.
Python
31
star
13

solidforml

Code and slides for the "SOLID principles for ML engineers" series on The Sound of AI YouTube channel.
Python
26
star
14

musiccollaborativefiltering

This repo features code for "" video on The Sound of AI YouTube channel
Python
17
star
15

Deep-Learning-For-Audio-Book-Repo

Code examples for the book "Deep Learning for Audio: A Comprehensive Journey From Theory to Deployment"
17
star
16

open-source-research

13
star
17

advancedpython

Code for the Advanced Python course.
Python
13
star
18

mldeployment

Repo with code used in the "Deploying ML Into Production" video tutorial on The Sound of AI channel
Python
12
star
19

brute_force_chord_generator

A script that brute forces the generation of chord progressions using major and minor triads
Python
9
star
20

How-to-Read-AI-Papers-Like-a-Rockstar

Slide decks for the "How to Read AI (Audio) Research Papers Like a Rockstar" mini-series on YouTube.
9
star
21

pythonAI

Example code of the Python AI tutorials
Python
9
star
22

PySummarizer

A Python library for automatic text summarization.
Python
8
star
23

midiget

A program that retrieves midi files from web servers.
Python
7
star
24

thesoundofaihackathon

6
star
25

how-to-write-a-research-paper-like-a-rockstar

Slides for the "How to Write a Research Paper like a Rock Start" series on The Sound of AI YouTube channel.
6
star
26

socketprogramming-tutorial

Simple client and server socket scripts in Python
Python
5
star
27

recorder

Repo for the "Recording Sound with Python" tutorial on The Sound of AI YT channel.
Python
5
star
28

PylibAI

A Python library of general Artificial Intelligence algorithms
Python
4
star
29

github-actions-for-ci

JavaScript
3
star
30

recursion-tutorial

Code for the video "How Does Recursive Music Sound Like?" on The Sound of AI YT channel.
Python
2
star
31

kaprevideo

Code for the video about Kapre (audio signal processing library) on The Sound of AI YouTube channel.
Python
1
star