mood player-edited
mood player-edited
BACHELOR OF ENGINEERING
(Computer Science and Engineering)
MAY-JUNE, 2019
SUBMITTED BY:
AYUSHI GUPTA
17BCS2301
1
MOOD PLAYER
CONTENTS
Topic Page No.
Certificate by Institute 3
Candidate’s Declaration 4
Abstract 5
Acknowledgement 6
About the Institute 7
List of Figures 8
Definitions, Acronyms and Abbreviations 9
CHAPTER 1 INTRODUCTION
1.1 About 10
1.2 Technology used 10
1.3 SRS 10-16
1.4 UML Diagrams 17-22
2
MOOD PLAYER
CERTIFICATE
This is to certify that the project entitled, MOOD PLAYER submitted by AYUSHI GUPTA in partial
fulfillment of the requirements for the award of be SIX WEEKS INHOUSE INSTITUTIONAL
TRAINING in BE CSE at the CHANDIGARH UNIVERSITY is an authentic work carried out by her
under my supervision and guidance.
3
MOOD PLAYER
CANDIDATE’S DECLARATION
I “AYUSHI GUPTA” hereby declare that I have undertaken six weeks industrial training at
“CHANDIGARH UNIVERSITY” during a period from ______ to _______ in partial fulfillment of
requirements for the award of degree of B.E (COMPUTER SCIENCE AND ENGINEERING) at
CHANDIGARH UNIVERSITY GHARUAN, MOHALI. The work which is being presented in the
training report submitted to Department of Computer Science and Engineering at CHANDIGARH
UNIVERSITY GHARUAN, MOHALI is an authentic record of training work.
The six weeks industrial training Viva–Voce Examination of__________________ has been held on
____________ and accepted.
4
MOOD PLAYER
ABSTRACT
5
MOOD PLAYER
ACKNOWLEDGEMENT
First and foremost, praises and thanks to the God, the Almighty, for His showers of blessings
throughout my research work to complete the research successfully.
I would like to express my deep and sincere gratitude to my training supervisor, Sugandhi Midha,
Professor, Computer Science and Engineering, Chandigarh University, Punjab, for giving me the
opportunity to do project and providing invaluable guidance throughout this research. Her dynamism,
vision, sincerity and motivation have deeply inspired me. She has taught me the methodology to carry
out the research and to present the research works as clearly as possible. It was a great privilege and
honor to work and study under his guidance. I am extremely grateful for what she has offered me. I
would also like to thank her for her friendship, empathy, and great sense of humor
I am extremely grateful to my parents for their love, prayers, caring and sacrifices for educating and
preparing me for my future.
6
MOOD PLAYER
Chandigarh University (CU) is a leading Indian Institution offering its students a unique amalgamation of
professional and academic excellence. Ranked among Asia’s best and fastest growing universities, CU has
coupled the experience of top industry leaders and renowned academicians and fosters a worldly approach.
Wide spectrum of programs paired with flexibility, experiential learning and interdisciplinary orientation
emancipate our students to explore their interests and pursue fulfilling careers. At CU we are grooming
students to be socially sensitive through intellectually challenging and contemporary diverse culture.
Vision
“To be globally recognized as a Centre of Excellence for Research, Innovation, Entrepreneurship and
disseminating knowledge by providing inspirational learning to produce professional leaders for serving
the society”
Mission
• Providing world class infrastructure, renowned academicians and an ideal environment for Research,
Innovation, Consultancy and Entrepreneurship.
• Creating Curriculum to match international standards along with comprehensive training and inculcation
of Human and Ethical values to meet the needs of industry and civil society.
• Creating a scientific, Transparent and Impartial Examination/Evaluation system to ensure an ideal
certification.
• Establishing strategic relationship with leading National & International corporate and universities for
academic as well as research collaborations.
• Undertaking ISR activities for women empowerment, upliftment of rural/deprived sections of the society
and socially relevant research.
Quality Policy
7
MOOD PLAYER
LIST OF FIGURES
8
MOOD PLAYER
A UML diagram is a diagram based on the UML(Unified Modeling Language) with the purpose
of visually representing a system along with its main actors, roles, actions, artifacts or classes, in
order to better understand, alter, maintain, or document information about the system.
• OS(OPERATING SYSTEM)
An operating system (OS) is system software that manages computer hardware and software
resources and provides common services for computer programs.
The graphical user interface is a form of user interface that allows users to interact with electronic
devices through graphical icons and visual indicators such as secondary notation, instead of text-
based user interfaces, typed command labels or text navigation.
9
MOOD PLAYER
CHAPTER 1 INTRODUCTION
1.1ABOUT SYSTEM
Hardware or software that plays audio files encoded in MP3 and other audio formats. On the software
side, applications that reside in the user's computer, such as iTunes, Windows Media Player and
RealPlayer, are used to organize a music collection, play audio files and rip music from a CD. Software
players may also provide access to Internet radio stations and other streaming audio sites.
PYTHON
In this project main technology that we are going to use is Python. Python is an interpreted, high-level, general-
purpose programming language. Created by Guido van Rossum and first released in 1991, Python has a design
philosophy that emphasizes code readability, notably using significant whitespace. It provides constructs that
enable clear programming on both small and large scales. Van Rossum led the language community until
stepping down as leader in July 2018.
Python features a dynamic type system and automatic memory management. It supports multiple programming
paradigms, including object-oriented, imperative, functional and procedural, and has a large and comprehensive
standard library.
Python interpreters are available for many operating systems. CPython, the reference implementation of
Python, is open source software and has a community-based development model, as do nearly all of Python's
other implementations. Python and CPython are managed by the non-profit Python Software Foundation.
1.3 SRS
1. INTRODUCTION
1.1 PURPOSE
This specification design document will detail the design of an Mp3 Mood player system for the selecting
most preferred programming language.
• An advanced music player for playing ordinary audio formats and chiptunes.
• Mood player is a free, open source program. Free software is software which may be used,
studied, amended and returned without restriction.
10
MOOD PLAYER
• When writing this design document it was inherited that all requirements have the same
priority.
• First an overall view of the system is presented and then all features and functions are
analyzed in detail.
1.5 REFRENCES
https://docs.anaconda.com/
https://stackoverflow.com/
https://www.python.org/
11
MOOD PLAYER
2. OVERALL DESCRIPTION
It is a python based GUI system so fundamental features related with python libraries such as client-server
and database properties determine the software requirements of that project.
• Simple GUI
• Full Support For All Audio Formats.
• Plays Next / Previous Track On Playlist.
• Two Progressbar shows the high and low point of the playing audio file
• Repeat / Repeat playlist.
• Add from URL / Folder / Folder
• Hide to tray function to replace the "minimize" button.
• Unlimited songs on playlist
• Simple interface.
• Console (CMD) interface.
• Online Help Doc.
• Open files although the application is already running.
• Manage volume by scroll bar
12
MOOD PLAYER
• .Programmers- Software Developers –Open Source project participants of any age that could
understand the program’s source code and expand or improve it. Must have knowledge of the
programming language that the software is written in, in order to be able to understand exactly
what it does and how it does it. Also some experience on programming will most certainly help on
extending or improving the project.
3. SYSTEM FEATURES
3.1 FUNCTIONAL REQUIREMENTS
Graphic Modification Feature The media library must be capable of loading an image from a file by
decoding the data and converting it into some kind of an accessible structure. The access structure that will
be used to contain the image information is a collection of pixel objects each with its own properties. These
pixels will each have levels that can be accessed and modified by the user. In color images there will be
three such sets of pixel maps, one for each color.
• For this, the user will open file and then add music from system.
13
MOOD PLAYER
• Then user will play music and can perform stop,mute,repeat and control option on song.
• User can then remove the song and can take help how to use Player .
Read Audio Files - This feature shall be able to load audio files from the file system. Only WAV files will
be supported in Media.py. The system will be able to load any size file, limited only to the size the
operating system will allow. However, there is a practical limit on file size, and we will not optimize the
system to load files more than 256 megabytes in size.
Play Audio - This feature shall be able to play audio files after they are loaded and after they have been
modified.
Edit Audio: This feature shall be able to parse an audio file into simple, modifiable samples for the user.
Simple means that all wav files will be converted to 22000 Hz, 16 bit, mono sounds. Users will be able to
delete, copy, reverse, increase intensity and decrease intensity with any WAV file. These samples shall be
accessed as a Python object through any python program that imports media.py
Save Audio: This feature shall allow the user to save any edited audio files to a disk in WAV format.
14
MOOD PLAYER
There are no hardware interfaces to this software system. The only interfaces are through a computer
system.Mood player does not require additional material to run. The only peripheral equipment is the
keyboard and the mouse.
1. PROCESSOR: 800 MHz Intel Pentium III or equivalent.
5. NON-FUNCTIONAL REQUIREMENTS
5.1 PERFORMANCE REQUIREMENTS
Mood player requires a small amount of disk space for installation-10MB.It is characterized by fast loading
and executing times. It‘s not a heavy program and it can works while other programs are running.
5.4 PORTABILITY
1. The system must be able to run on Windows systems.
2. The system must be able to run on Macintosh systems.
3. The system must be able to run on Unix systems.
4. The code should be readable, well commented, and maintainable.
5. The system must be written in Python.
6. The GUI must be implemented in an existing library, specifically wxPython.
5.5 MAINTAINABILTY
Maintainability is very important for this system because another group will be maintaining it. Therefore,
it is very important that all programmers comment their code anytime something is unclear. Python makes
indentation important, therefore the code is guaranteed to be more readable. At the beginning of each
function there shall be PyDoc comments explaining what the function does and what input and output is
expected.
16
MOOD PLAYER
1.4UML DIAGRAMS
1.4.1 USE CASE DIAGRAM
MOOD PLAYER
ACCESS THE
SYSTEM
ADD SONGS
DELETE SONGS
PLAY SONGS
ABOUT SYSTEM
ABOUT
STUDENT
USER CHANGE
VOLUME
17
MOOD PLAYER
Access the
system
System
access the
memory Add and
Delete
songs
Pause,
stop and
Resume
Know
about
student
Know
about
system
User exits
the system
18
MOOD PLAYER
DELETE
SONGS
FROM
SYSTEM
ADD
SONGS
KNOW FROM
MEMORY
ABOUT
STUDENT
KNOW
ABOUT
SYSTEM MOOD PLAYER
SONG
STOP RECENTLY
SONG PLAYED
PAUSE
SONG
RESUME
SONG
SONG
19
MOOD PLAYER
User Input
Show Result
20
MOOD PLAYER
Taking
Instructions
from user
USER
MENU
Further taking
user
instructions
MOOD PLAYER
Show Result
21
MOOD PLAYER
ACCESS THE
USER SYSTEM
MANAGE
MODULES
CHANGE VOLUME
ABOUT STUDENT
STOP SONGS
PAUSE SONGS
EXIT SYSTEM
22
MOOD PLAYER
2.1.2 WEEK 02
FUNCTIONS IN PYTHON
• Programming using functions, modules and external packages.
• Definition and use, arguments, scope, recursion.
• Input and eval functions.
• Different techniques of function calling in python.
• Organizing python codes using functions.
• Powerful lambda function in python.
• Understanding packages.
• Modules and import packages.
• Importing own module as well as external modules.
• Organizing python projects into modules.
2.1.3 WEEK 03
FILE HANDLING IN PYTHON
• File handling in python.
• Understanding read(), readline() and readlines() functions.
• Understanding write() and writelines() functions.
• Manipulating file pointer using seek.
• Reading and manipulating CSV and JSON files.
2.1.4 WEEK 04
24
MOOD PLAYER
2.1.5 WEEK 05
PYTHON MULTITHREADING
• Understanding threads.
• Forking threads, synchronizing the threads.
• Programming using multithreading’s.
2.1.6 WEEK 06
INTRODUCTION TO RASPBERRY PI
• Different models of raspberry pi.
• Why raspberry pi.
• Applications of raspberry pi.
INTRODUCTION TO MICROCONTROLLER
• Difference between microcontroller and microprocessor.
• Architecture and hardware applications.
• Introduction to ARM, SOC and GPIOs.
25
MOOD PLAYER
Libraries that are used in the project mood player using python as main technology are as follows
• OS
The OS module in python provides functions for interacting with the operating system. OS, comes
under Python’s standard utility modules. This module provides a portable way of using operating
system dependent functionality. The *os* and *os.path* modules include many functions to
interact with the file system. The main purpose of the OS module is to interact with your operating
system. The primary use I find for it is to create folders, remove folders, move folders, and
sometimes change the working directory. You can also access the names of files within a file path
by doing listdir().The os module is a part of the standard library, or stdlib, within Python 3. This
means that it comes with your Python installation, but you still must import it.
• THREADING
Probably one of the largest drawbacks to the Python programming languages is that it is single-
threaded. This means that Python will only run on a single thread naturally. If you have a large
computational task, you might have already found that it takes Python a very long time to reach a
solution, and yet, your processor might sit at 5% usage or even less. There are quite a few solutions
to this problem, like threading, multiprocessing, and GPU programming. All of these are possible
with Python, and today we will be covering threading. So, what is threading within the frame of
Python? Threading is making use of idle processes, to give the appearance of parallel programming.
With threading alone in Python, this is not really the case, but we can indeed use threading to make
use of idle times and still gain some significant performance increases. The Python standard library
provides threading, which contains most of the primitives you’ll see in this article. Thread, in this
module, nicely encapsulates threads, providing a clean interface to work with them.
26
MOOD PLAYER
• TIME
Python has defined a module, “time” which allows us to handle various operations regarding time,
its conversions and representations, which find its use in various applications in life. The beginning
of time is started measuring from 1 January, 12:00 am, 1970 and this very time is termed as “epoch”
in Python. Python has a module named time to handle time-related tasks. To use functions defined
in the module, we need to import the module first. This module provides a number of functions to
deal with dates and the time within a day. It’s a thin layer on top of the C runtime library.
• TKINTER
Python offers multiple options for developing GUI (Graphical User Interface). Out of all the GUI methods,
tkinter is most commonly used method. It is a standard Python interface to the Tk GUI toolkit shipped
with Python. Python with tkinter outputs the fastest and easiest way to create the GUI applications.
Creating a GUI using tkinter is an easy task.
To create a tkinter:
1. Importing the module – tkinter
2. Create the main window (container)
3. Add any number of widgets to the main window
4. Apply the event Trigger on the widgets.
Importing tkinter is same as importing any other module in the python code. Note that the name of the
module in Python 2.x is ‘Tkinter’ and in Python 3.x is ‘tkinter’.
• Tkinter.messagebox
• The tkMessageBox module is used to display message boxes in your applications. This module
provides a number of functions that you can use to display an appropriate message.
• FILEDIALOG
27
MOOD PLAYER
• MUTAGEN
Mutagen is a Python module to handle audio metadata. It supports FLAC, M4A, MP3, Ogg FLAC,
Ogg Speex, Ogg Theora, Ogg Vorbis, True Audio, and WavPack audio files. All versions of ID3v2
are supported, and all standard ID3v2.4 frames are parsed. It can read Xing headers to accurately
calculate the bitrate and length of MP3s. ID3 and APEv2 tags can be edited regardless of audio
format. It can also manipulate Ogg streams on an individual packet/page level.
• PYGAME
• The pygame library is an open-source module for the Python programming language specifically
intended to help you make games and other multimedia applications. Built on top of the highly
portable SDL (Simple DirectMedia Layer) development library, pygame can run across many
platforms and operating systems.
• By using the pygame module, you can control the logic and graphics of your games without
worrying about the backend complexities required for working with video and audio.
• This tutorial will first go through installing pygame into your Python programming environment,
and then walk you through creating a template to develop games with pygame and Python 3.
28
MOOD PLAYER
29
MOOD PLAYER
30
MOOD PLAYER
31
MOOD PLAYER
2. After that you will get the user interface of the system having various functions like add song,
delete song, resume song, stop song, pause song, about system, about student and change volume.
6. You can add song using file button present in the menu bar.
32
MOOD PLAYER
4.1 CONCLUSION
The project titled Mood Player App is an python based application that enables people
to listen and enjoy the music beats . The aim of the project was to make listening to
music in your life easy and easier with simple designed screens.The project has been
completed successfully with the maximum satisfaction. The constraints are met and
overcome successfully. The system is designed as like it was decided in the
design phase. The project gives good idea on developing a user-
friendly application satisfying the user.The system is very flexible and versatile. This
application has a user-friendly screen that enables the user to use without any
inconvenience. Validation checks induced have greatly reduced errors. Provisions
have been made to upgrade the software. The application has been tested with live
data and has provided a successful result. Hence the software has proved to work
efficiently.The system created met its objectives, by being simple to use, easy to
download from app store.This software is developed with scalability in mind.
Additional modules can be easily added when necessary. The software is developed
with modular approach. All modules in the system have been tested with valid data
and invalid data and everything work successfully.However there is still a lot of scope
for future improvement and add on in functionality. Some of the major ones being
developing for other mobile operating system like windows, etc.
4.2 FUTURESCOPE
The Future Prospects are as follows:
1. Windows application development for other mac and Linux, so that the Mood
Music Player application is easily accessible by many user listen easy mode anywhere
and enjoy the music beats.The core benefit of Mood application development lies in
33
MOOD PLAYER
2. The system could also be enhanced by adding the voice response system through
the voice control system, which would help the user and their loved ones to enjoy the
music beats more precisely and accurately.
3. We can add Calculate movement speed from GPS and it is volume automatic UP
in the system as an up-gradation to the system which not only bring this application in
decreasing distraction while working on other projects or work.
medium hall, plate, small room, medium room, and large room), bass boast effect,
volume control.Due to time constraints these ideas where not brought to light in the
project.
34
MOOD PLAYER
REFERENCES
Billsus, D., & Pazzani, M. (1998). Learning collaborative information
filters. Paper presented at the Proceedings of the Fifteenth
International Conference on Machine Learning, Madison, Wisconson,
USA. 46-54. Retrieved from
http://portal.acm.org/citation.cfm?coll=GUIDE&dl=GUIDE&id=657311
Burback, R. (1998). A cyclical methodology, introduction. Retrieved
March 10, 2008, from Ronald LeRoi Burback
Christakou, C., & Stafylopatis, A. (2005). A hybrid movie recommender
system based on neural networks. Paper presented at the 5th
International Conference on Intelligent Systems Design and
Applications, 500-505. doi:10.1109/ISDA.2005.9
Droux, S. (2008). Vogoo - recommendation engine and collaborative
filtering. Retrieved March 30, 2008, from http://www.vogooapi.
com/
E. Peis, J. M. Morales-del-Castillo (2008) Semantic Recommender
Systems. Analysis of the state of the topic. Web:
www.hipertext.net, ISSN 1695-5498.
Gediminas Adomavicius, Alexander Tuzhilin (2005). Toward the Next
Generation of Recommender Systems: A Survey of the State-of-the-
Art and Possible Extensions. IEEE, Transactions on Knowledge and
Data Engineering, 734-749.
GroupLens research. (2008). Retrieved March 29, 2008, from
http://www.grouplens.org/
Klir, G., & Folger, T. (1988). Equivalence and similarity relations.
Fuzzy sets, uncertainty, and information (1st ed., pp. 82-85).
Upper Saddle River, NJ, USA: Prentice-Hall, Inc. Kumar P, Gopalan S, Sridhar V (2005). Context enabled
multi-CBR based
recommendation engine for e-commerce. IEEE International
Conference on e-Business Engineering, 237-255.
Machine learning. (2008). Retrieved March 27, 2008, from
http://en.wikipedia.org/wiki/Machine_learning
Olfa Nasraoui, Mrudula Pavuluri (2004). Accurate web recommendations
based on profile-specific url-predictor neural networks.. ACM,
Proceedings of the 13th international World Wide Web conference on
Alternate track papers and posters, 300-301.
Pereira, R., Ricarte, I., & Gomide, F. (2006). Fuzzy relational
ontological model in information search systems. In E. Sanchez, &
F. Harmelen (Eds.), Fuzzy logic and the semantic web (1st ed., ).
New York, NY, USA: Elsevier Science Inc. Retrieved from
http://books.google.com/books?hl=en&lr=&id=Cidej8b4ESIC&oi=fnd&pg=
PA395&dq=%22Pereira%22+%22Fuzzy+Relational+Ontological+Model+in+In
35