Code Monkey home page Code Monkey logo

radiojyby's Introduction

RadioJyBy

Descriptions

Tag Line

Putting back the human touch in the act of listening to music.

Short

An application which

  • plays local music files (as any music player),
  • interleaved with pre-recorded comments from humans (simulating the comments from a radio DJ).

Long

There were more than one benefit of listening to radio stations:

  1. listening to “free” music;
  2. having this music selectioned by a knowledgeable DJ, who helps to discover new artists and pieces;
  3. listening to the comments from the broadcaster, which included commercials but also other messages such as news, personal messages and so on.

The first two interests of broadcasting station have mostly disappeared. Listening to “free” music is not a reason any more to listen to broadcasting station, with the generalization of digital music and large data capacity of digital devices: everybody has his own music on his own device. Discovering new artists and arranging the tunes into harmonious play-lists have been taken over by applications such as Spotify.

The last interest of radio broadcasting stations is in the human contact, such as when the DJ (and his phoning listener) dedicate a song to some particular listener or to some category of listener. The project Radio JyBy aims at fulfilling a similar role, and extending it, on digital devices such as desktop computers, laptops and mobile devices.

The hypothesis is that people will feel better about their day if they get told at regular interval, either by a fictitious DJ or by their loved ones in asynchronous mode, that they are doing great, that they are not alone, that someone is thinking about them, etcetera…

Related Applications

Interleaving comments with Mp3s:

  • Sport application “Run Zombies”, Radio mode.

Musical Radio

  • Spotify

extension telegram

  • Whats-app
  • Telegram
  • (other application allowing audio messaging)

extension Pomodoro

  • Pomodoro applications
  • RSI applications

Development Steps

Alpha 0.0: Basic

A simple program which

  • receives as parameters
    • a folder of music files and
    • a folder of comment files; and
  • plays them in interleaved order.

Alpha 0.1: Pomodoro

A simple program which

  • receives as parameters
    • a folder “work” of music files for working;
    • a folder “pause” of music files for taking a break;
    • a folder “comments” of comment files with specific names such as
      • announceShortPause*.*
      • announceLongPause*.*
      • announceWork*.*; and
  • executes the following algorithm in a loop:
    • play 25mns of “work” music in the order they are given
    • Repeats three times
      • play one random announcement file matching the regular expression “announceShortPause*.*”
      • play 5mns of “pause” music
      • play one random announcement file matching the regular expression “announceWork*.*”
      • play 25mns of “work” music in the order they are given
    • play one random announcement file matching the regular expression “announceLongPause*.*”
    • play 20mns of “pause” music in the order they are given
    • play one random announcement file matching the regular expression “announceWork*.*”

Alpha 0.2: Parameter file

  • A simple program doing everything above, but
    • reading a configuration file to read the parameters
      • name of a folder “work” of music files for working;
      • name of a folder “pause” of music files for taking a break;
      • name of a folder “comments” of comment files;
      • time of work period
      • time of short pause period
      • time of long pause period
      • number of work periods before a long pause period

Alpha 0.3: Minimalist Graphical interface

  • an interface to see and change the parameters
  • code to write the parameters back in the configuration file

Alpha 0.4: Screen blocking

  • graphical interface to warn when the end of the pause period is close
  • code to block the screen during pauses
  • graphical interface to offer to postpone or skip the pause
  • graphical interface to start a short or long pause

Alpha 0.5: Recording Comments

  • code to record audio comments and associate them to a set of hash tags.
  • Graphical interfaces to
    • browse, add and remove audio recordings; and to
    • edit the hash tags associated to heach audio comment

Alpha 0.6: Exchanging Comments by file

  • Code to export a set of pairs of audio comments with hashtags in a single compressed file
  • Code to import a set of pairs of audio comments with hash tags from a single compressed file
  • Graphical interface for both

Extensions

Planned

Pomodoro
  • music plays from one play-list for 25mns (configurable), then
  • interrupted by comment announcing a 5mns pause with a distinct music (commercial), and
  • announce end of pause with return to “Work” music
  • More details in Pomodoro extension
  • Note: if the “work” playlist is empty, then just silence is played while working, interrupted by messages and music for the breaks.
Telegram
  • a user can send to one of his contact some short audio comments associated with a category, such as
    • “Here is a song that will make you think of me” :before song:
    • “Waw, I really like this song. Here is another one for you, I know you will like it.” :between songs:
    • “Waw, did not you like this song? Which reminds me to tell you: I love you!” :after song:
    • “Hey, you worked so well, now it’s time for a short break! Here is a song for you, just chill out for 5mns” :short pause:
    • “Hey, this little program tells me tat you have been working for two hours straight! Time to get out a bit! Get some sunshine on this skin of yours!” :long pause:
    • “Hey, you lazy bastard! Time to go back to work! I love you” :after pause:
  • The short audio comments are not played on receptions, but put on hold to play at the next occasion matching the tag, and repeated later randomly with all other audio comments matching the relevant tag.
  • Note: the sources of Telegram desktop

Conditional to funding

Videos
  • Add support for playing, instead of music,
    • video files
    • links to youtube videos
Sport
  • TTS announcements about GPS distance or Step number achieved
  • Recorded encouragements indexed by tags such as
    • distance (e.g. :2k: “Hey, you have done 2k already!”
    • time (e.g. :10mns: :1h: etc…)
    • music change (e.g. :betweenSongs: “waw, you are doing great, I am so proud of you!”)
  • GPS Triggered audio messages
    • user is required to run 1 unit of distance or of time before being allowed to hear the next message.
Mood Diary
  • Application asks at random intervals the mood of the user
  • Report on the diary but also
    • compute correlations between music played and mood or
    • choose music according to the mood (algorithm to be defined).
Crowd Sourcing
  • Once a month the user is asked to
    1. record in his own voice one audio message chosen by the server (e.g. “even though I do not know you, and even though I may never meet you, laugh with you, cry with you, or kiss you. I love you. With all my heart, I love you”, or “Hey, to all scientists trying to save humanity all over the world, I wanted to tell you that I believe in you, I support you, I love you!”, or “Good morning, Vietnam!”, or “Good night to all students before their exam period”), and to
    2. transcribe three audio messages from someone else (which will be compared with the original text given to the reader).
  • In exchange, the user gets random messages played between musics (or Pomodoro sessions) from people from all over the world, matching the gender, job and other keywords in his profile (e.g. 🧑‍🔬, 👩) or matching their geographical position or the time at this geographical position.
Identification independent of phone number
  • Base User Authentication on pair of RSA keys
  • Allow people to send each other their pairs by any SHARE method,
  • including Bluetooth at a party or email at distance.
Point to Point Encryption
  • Audio Messages are encrypted from point to point.
  • And deniable.
Decentralized Mode
  • Rather than keeping the message on a central sever (e.g. Whats-app, Telegram), transmit the audio message only if the correspondent is connected (e.g. Skype mode)
  • Note that a server is still needed in order to gather the information about connection (and hence can store meta data information)
Steganography
  • audio files containing the comments can contain hidden, encrypted, textual messages.
  • the steganography extension
    • receives access to a database of private and public encryption keys
    • optionally associates a pass-phrase to each source of audio comments
    • checks each incoming audio comments from those sources for hidden encrypted messages
    • allow the user to hide encrypted textual messages in audio comments made public or privately sent.
Get Things Done
  • Add music and comment categories corresponding to the various phases described by David Allen in his methodology “Get Things Done”, along with
  • options to scheduled when those are launched (e.g. Classical music when doing the weekly review)
Strict Pomodoro
  • Add Music and comment categories corresponding to a strict implementation of the Pomodoro methodology.
  • Exportation of mixes
    • Give as an option the exportation of a static mix of music and comments.
    • This will permit to upload it to a simpler mp3 player.

Business Model

Free Application going viral

  • Application comes for free, including
    • a first sample of amusing radio comments
    • some free ambient music
    • the ability to send 5 audio messages per day and contact:
      • if the contact has the application, those audio messages will be interleaved with their own music when playing;
      • if the contact does not have the application, he receives the message as a MMS along with an invitation to install the free application.
  • Viral Marketing
    • The hope is that the basic free application will go viral, as users themselves advertise the application when sending messages.
    • A priori, no need for a centralized list of users:
      • it should be enough (and more private) to use the MMS platform to exchange the messages and have the application intercept them, and
      • not knowing who has the application will give incentives for users to “shoot” in the dark and send invitations to people.

Buying and Selling additional Material

  • Users can
    • browse and buy packages of additional audio material
      • from voice actors under contract with the application authors via PayPal
      • from other users (see below)
    • browse and subscribe to “podcasts” of additional audio material
      • from voice actors under contract with the application authors via PayPal
      • from other users (see below)
    • submit publicly their own package or podcast of additional audio material:
      • the submission itself requires
  • paying a small fee
  • providing some mean of identification
  • giving some coordinates to receive payments (e.g. PayPal or bit-coin)
    • when a sale is realized, the submitter receives a message but no payment yet until
  • two months after the first purchase,
  • cumulating all the purchases realized during the month before the previous one:
  • this leaves one month to detect if some submissions violating international and internal author rights policies (in which case all payments are forfeit, including on submissions which were not flagged as violating such rules).
    • the application owners receive
      • a small fee (paying at least for the data storage) for each
        • public individual submission
        • creation of a podcast
      • a small percentage of each sale or subscription (paying for the maintenance of the service).

Unlimited Messaging

  • The free application provides the ability to send 5 audio messages per day and contact, partially in order to limit the usage of the application to spam.
  • Paying a small monthly subscription fee permits to
    • send an unlimited number of audio messages to a selection of 1,5 or 10 contacts (Depending of the level of the subscription fee). (For sending audio messages to more contacts, the user can make them public, see item Buying and Selling additional Material)
    • give the same right to a contact from one’s choice.

Extensions

Notes

  • Traditional radios received funds by letting Businesses pay to have audio announces in the radio comments.
  • This is somehow integrated: a voice actor can be funded by a business to make amusing comments, and sell it “for free” on the market of the app (free for the users, the advertised business paying for the salary of the voice actor and the subscription fees of the app).

Platforms

  • Desktop Computer (Linux first, windows and Mac later) (especially for the Pomodoro extension)
  • Mobile devices (Android first, iPhone later) (especially for the Telegram extension)

Programming Resources

Tutorials and Examples to program mp3 player

Python

Android

App Inventor for Android

Dependencies

sudo apt-get install python-dev libsnappy-dev libtool yasm libchromaprint-dev portaudio19-dev libboost-dev
add-apt-repository ppa:jon-severinsson/ffmpeg
apt-get update
apt-get install libavformat-dev libswresample-dev

LIST of potential hash tags and texts for Audio Comments

  • before song
    • “Here is a song that will make you think of me”
  • between songs
    • “Waw, I really like this song. Here is another one for you, I know you will like it.”
  • after song
    • “Waw, did not you like this song? Which reminds me to tell you: I love you!”
  • short pause
    • “Hey, you worked so well, now it’s time for a short break! Here is a song for you, just chill out for 5mns”
  • :long pause:
    • “Hey, this little program tells me tat you have been working for two hours straight! Time to get out a bit! Get some sunshine on this skin of yours!”
  • :after pause:
    • “Hey, you lazy bastard! Time to go back to work! I love you”

Dialogues between two DJs

  • :joke:
  • :fake stories:

Personalized

  • 🧑‍🔬
    • “I dedicate the following song to all the scientists working at saving the world who listen to this”
  • 👩

Sport

  • between songs
    • “waw, you are doing great, I am so proud of you!”
  • :2k:
    • “Hey, you have done 2k already!”
  • :10mns:
  • :1h:

General Notes

  • Separate the layer of communication from the main part, into a library.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.