Practical Training Report

Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

PRACTICAL TRAINING

REPORT
CODECLAUSE INTERNSHIP
PYTHON DEVELOPMENT

NAME: YASH NEHRA


DEGREE: BACHELORS IN
TECHNOLOGY
TRAINING REPORT
PRACTICAL TRAINING [PT-CSE-425-G]

SUBMITTED IN PARTIAL FULFILLMENT OF THE


REQUIREMENTS FOR THE AWARD
OF
DEGREE OF BACHELOR OF TECHNOLOGY IN COMPUTER SCIENCE ENGINEERING

Submitted By Submitted To:

Name:Yash Nehra Dr. Ashima Mehta(HOD)


University Roll No.

Department of Computer Science & Engineering

DRONACHARYA COLLEGE OF ENGINEERING,KHENTAWAS ,GURGAON ,HARYANA


TRAINING REPORT
PRACTICAL TRAINING [PT-CSE-425-G]

SUBMITTED IN PARTIAL FULFILLMENT OF THE


REQUIREMENTS FOR THE AWARD
OF
DEGREE OF BACHELOR OF TECHNOLOGY IN COMPUTER SCIENCE ENGINEERING

Submitted By Submitted To:

Name: Yash Nehra Dr. Ashima Mehta(HOD)


University Roll No.

Department of Computer Science & Engineering

MAHARISHI DAYANAND UNIVERSITY ROHTAK


(HARYANA)
STUDENT DECLARATION

I hereby declare that the Practical Training Report entitled ("CODECLAUSE INTERNSHIP IN PYTHON
DEVELOPMENT") is an authentic record of my own work as requirements of 6-weeks Industrial Training during
the period from 12th of June to 24th of July for the award of degree of B.Tech. (Computer Science &
Engineering), Dronacharya College of Engineering.

Date: Signature:
Name: Yash Nehra

Roll no.:23172
Certified that the above statement made by the student is correct to the best of our knowledge and
belief.

Signature

Examined By: HEAD OF DEPARTMENT


ACKNOWLEDGEMENT

I would like to acknowledge and give my warmest thanks to


our HOD Dr Ashima Mehta who made this work possible. Her
guidance and advice carried me through all the stages of
writing my project. I would also like to give special thanks to
my friends and my family for their continuous support and
understanding when undertaking my research and writing my
project. Your prayer for me was what sustained me this far.
1.

TABLE OF CONTENTS

CHAPTER NO. TITLE

1. ABSTRACT

2. INTRODUCTION

2.1. FEATURES

2.2. MERITS

2.3. DEMERITS

3. EXISTING SYSTEM

3.1. MOTIVATION

3.2. APPROACH

4. PROPOSED MODEL

5. IMPLEMENTATION

5.1. WORK

5.2. DESIGN

5.3. FUNCTION

6. RESULT

7. CONCLUSION

8. REFRENCES
ABSTRACT

The continuous growing of people’s music library requires more advanced ways of computing

playlists through algorithms that match tracks to the user’s preferences. Several approaches

have been made to enhance the user’s listening experience; while most of them rely on the

music content provided by the user, this project presents an online application that sources the

audio content from publicly available resources (YouTube). A playlist generation algorithm is

developed that uses only one seed track to compute a playlist of arbitrary length. For sourcing

the audio content, YouTube’s track coverage is analyzed and statistics show that, in a real-life

usage scenario, almost 80% of the tracks are available while the rest have rather lower

popularity. The resulting application is a fully functional but feature limited online music player

that can also serve as a framework for future playlist generating algorithms or other content

sources.Media usage is changing rapidly these days. This process has been ignited by several

technological advances, in particular, the availability of broadband internet, the World Wide

Web, affordable mass storage, and high-quality media formats, such as mp3. Many music lovers

have now accumulated collections of music that have reached sizes that make it hard to

maintain an overview of the data by just browsing hierarchies of folders and searching by song

title or album. Search methods based on song similarity offer an alternative, allowing users to

abstract from manually assigned metadata, such as, frequently imprecise or incorrect, genre

information. In a context where music collections grow and change rapidly, the similarity-based

organization has also the advantage of providing easy navigation and retrieval of new items,

even without knowing songs by name. This opens possibilities, such as sophisticated

recommendations, context-aware retrieval, and discovery of new genres and tendencies


INTRODUCTION

Music has always been a means of entertaining people even from the earliest

ages of the civilization. Historically it was produced by musicians and only

available during life concerts. The technological evolution made it possible to

save the music on vinyl plates, later electromagnetic charged stripes, CDs until

the technology brought us to saving tracks digitally. When dealing with a huge

collection of tracks, people encounter management problems they did not have

before.So they have to develop new ways of using the music collection for their

entertainment. Playlists are a good approach for saving successions of tracks that one

likes. The most dominant problem of existing playlist generation mechanisms is,

however, their lack of flexibility: new tracks are not

automatically added, they don’t adapt to the user’s current mood etc. A new

approach in dynamically organizing tracks into playlists is on its way: companies

like last.fm already suggest an algorithm of mapping songs one to

each other based on their “similarities”; but how to compute these similarities?

One way, that did not prove to be very productive, is to analyze the audio content

of the track – its audio frequencies. This way, tracks are split in categories like

“Heavy Metal” and “Blues”, but people do not like all tracks of a certain gender and

these genders might be inaccurate. Another way, which is given more and more
attention by researchers and companies worldwide, is computing

similarities between tracks based on user input. As an example: if two users add the

same two tracks to their playlists, one can deduce that these tracks are similar

and so, also other people that pick one of them are likely to enjoy the

other one as well.

The music player allows a user to play various media file formats. It can be used to play

audio as well as video files. The music player is a software project supporting all known

media files and has the ability to play them with ease.

The project features are as follows:

• User may attach Folder to Play add various media files within it.

• User may see track lists and play desired ones accordingly.

• Supports various music formats including .mp3, WMA, WAV etc.

• Interactive GUI.

• Consists of Pause/Play/Stop Features

• Consists of a Volume controller

• The system also consists of a sound Equalizer

• It Displays the media playing time with Track Bar so that user may drag the media play

as needed.
Features:

• Unlimited song playlist list wise

• Easy customization via HTML / CSS files

• Supports multiple instances into a page

• Previous/Next, Play/Pause, Stop buttons

• Load new playlist

• Set volume

Merits:

• Enhanced audience experience.

• Opportunity to use new technology and special effects.

• easier to explain or put things in perspective

• helps keep mistakes at a minimum

Demerits:

• requires a well-designed presentation or material

• participants might pay more attention to the graphics than the audio

• Expense of equipment needed and expertise needed to set up and operate.

• Preparation and planning time needed.


Existing System

This chapter debates the necessity of a new solution to make the world

of intelligent track comparison even more accessible to the end user,followed byan app

roach sketch.

Motivation

Several solutions already use intelligent playlists embedded in music players

installed on computers. There are also online solutions, the most popular

of which islast.fm, which acts as a personalized radio station that plays preferre

dmusic. On the other hand it does not allow playback of a certain track. There

are also other solutions, like the genius function of iTunes or the Music

Explorer; both use the user’s music collection to generate playlists. The

biggest disadvantage of the latter solution is that

the user can use only tracks that he/she already has on his/her PC to generate

playlists. Of course this limits the power or the algorithm very much. There

are already services that provide the music content (like last.fm or

YouTube to name a few) so it’s a natural conclusion to try to use these service

s in connection with the playlist‐generating algorithm. In order to understand

the utility of such an application, just imagine the following scenario: one

enjoys listening to music while working. It is not


common to store music on the company’s computer so one rather has a person

al mp3 player with himself during office time. If one takes enough time to prep

are ones playlists in order to fit ones current mood, it is a pretty decent soluti

on. But what if new tracks appear that one might like? One first has to

do serious research in order to find them and then go through buying

them, downloading them to his/her mp3 player, updating the playlists it

already sounds very difficult, right? Now the suggested scenario is the

following: one opens a web site, types in a track that reflects ones current moo

d and hits “play”. That’s it! The player chooses tracks that one likes, also plays

new tracks that one did not hear before, and can go like this for hours and ho

urs without repetition. One can go on with one’s work and in order to stop the

music, one only has to hit stop or close the browser. The simplicity of the sol

ution speaks for itself. The goal of this thesis is to analyze and implement an a

pproach of building such a web‐based music player. The questions it has

to find answers for are: How should the user interaction be designed to

maximize the user satisfaction? Where to source the audi data from,

while ensuring a maximum coverage? And finally, how to promote the applicatio

n in order to attract as many users as possible? The different implementation p

ossibilities are evaluated and the best solution is implemented. The logic

behind the web‐based music player computes a 5 sequence of tracks based

on their similarity. At the same time, user behavioral data is gathered that
helps further releases to be even more user friendly. Another important

aspect of the application is its extensibility. Modularity and code reusing

are very important parameters of this application, as it acts as a

version 1.0 for future releases. These future releases will be able to interact wit

h the user for finding the best track video on YouTube or to determine the mu

sic preferences of users and even adapt the space to the new usage statistics.

Approach

The analysis of the currently available tools to accomplish the task is one of the

most important steps because the ground concepts of the application

should never change, regardless of its future complexity. The several possible

implementations of the web service together with the

balancing of computing tasks between server and client are the first parameters

that have to be defined for a solid base. Also the programming language plays

a crucial part in the development process, as it is shown later. The

amount of callbacks to the database in favor of less memory usage is

also an important aspect that is difficult to estimate from the start. In

order to allow a high flexibility while still maintaining a small dataflow,

the implementation of the logic is mainly on the server. The UI responsibility is

fully retained by the client side as well as servicing UI requests and only notify
the server of such activity. In order to achieve the high goals that were set, th

e structure of the applicationis important to be highly modularized to allow

interchanging the modules with better, more complex implementations. It

is important to determine which components are possible and also easy to mod

ularize, without introducing too much communication overhead in the

interfaces. It turns out that the music content related jobs can easily be modula

rized, as well as the DB relatedjobs and the playlist computing tasks. The

core of the application only needs to handle these modules and

the logging task. Also the communication with the client is modularized,

making it particularly easy to implement new clients running on the same servic

e or new services to servethe same client. .

Proposed Model

• The application is a simple HTML file that you open in your browser.

• You only need to download our zip file from the button near the beginning of the

article, and unzip it somewhere on your computer.

• Unfortunately, due to security restrictions in modern browsers it won't work if you just

double click the index.html file.


• You will have to open it through a locally running web server like Apache or Nginx and

access it through local host. Or you can just use our demo, nothing is uploaded so your

music is safe.

• The app listens for JavaScript drag and drop events.

• When you drop a mp3 file, it extracts information like song and artist name, if

they are available, from the file's ID3 tags.

• Each song is placed in an array, which represents our playlist.

• The application then initializes the Wavesurfer.js audio player, which generates the

awesome wave visualization for every song and plays it.

• From there on we can do everything you would expect from a native audio player - play

next/previous, pause, pick songs and so on.

• Our playlist section also gives users the option to remove songs from the player or

search for a particular track, album or artist.

Implementation/Work/Design in Progress

• The pop up effect for the playlist and other highlights and small animations were done

via CSS by manipulating classes with jQuery.


• All of the icons we needed for this music player were already available in:

JavaScript Library for HTML Audio – Sound.js

• A JavaScript library that provides a simple API, and powerful features to make working

with audio a breeze.

Audio let

• Audio let is a JavaScript library for real-time audio synthesis and composition from

within the browser.

Open Source Audio Library – Wedge.JS


• Wedge.js is a small audio library that provides HTML5 apps with low latency audio if

available, and falls back to Buzz! If not.

ION.Sound– jQueryPlugin for Playing Sounds on Events

• A free jQuery-plugin for playing sounds on events.

The HTML Audio Compatibility Layer – Audio5js

• Audio5js is a Javascript library that provides a seamless compatibility layer to the HTML5

Audio playback API, with multiple codec support and a Flash-based MP3 playback

fallback for older or unsupported browsers.

• The motivation for creating Audio5js is to provide a light-weight, library-agnostic,

Javascript-only interface for audio playback in the browser.

FUNCTIONS
Follow these steps to add sound to a Web page:

• Open your Web page in Notepad.

• Let your Web page’s user know they can stop sound from playing in your Web page by

clicking the Stop button in their browsers.

• Enter the <embed> tag and a link to the sound file you want to use.

• An example looks like this: <C:\xampp\htdocs\play\collection”>, “D:\BOLLYWOOD” is a

link to the sound file.


• The simplest way to be sure you have the link right is to place the sound file in the same

folder as the Web page; that way the link is simply the filename.

• Click File→Save and reopen the file.

• The sound should play. Test the link right away to be sure it will work.

• If the sound doesn’t play, experiment to make sure you have the path right and that

sound plays on your machine.

• To make sure you have the link right, put the file in the same folder as your Web page

and simplify the link. To make sure that sound playback works on your machine,

navigate to the file in Windows Explorer and click it. It should play. If not, identify and fix

the files affecting sound playback on your machine.

Result and Discussion


The result presented in this thesis project has utilized HTML5 technology to support multiple

hardware platforms. Even though it is less neither stable nor compatible, as more and more

major web browsers start to support or improve the current support of the Web Audio API

audio engine as well as animation, the future of the development capability is brighter.

Conclusion

The Web-Based Music Player is used to automate and give a better music player experience
for the end user. The application solves the basic needs of music listeners without troubling
them as existing applications do: it uses technology to increase the interaction of the system
with the user in many ways. It eases the work of the end-user by capturing the image using a
camera, determining their emotion, and suggesting a customized play-list through a more
advanced and interactive system. The user will also be notified of songs that are not being
played, to help them free up storage space .

References
• https://www.dummies.com/web-design-development/site-development/how-to-add-

sound-to-your-web-site-using-html

• https://nevonprojects.com/media-player-project

• All music, 2017. [Online; accessed 11-July- 2017].

• Css - style sheet, 2017. [Online; accessed 11-July-2017]

• Java script, 2017. [Online; accessed 11-July-2017]


• Nodejs, 2017. [Online; accessed 11-July-2017].

• https://www.dummies.com/web-design-development/site-development/how-to-add-

sound-to-your-web-site-using-html

• https://www.egrappler.com/wonderful-javascript-audio-libraries-for-developers

• https://nevonprojects.com/media-player-project

• https://pub.tik.ee.ethz.ch/students/2009-FS/SA-2009-10

Bossard, L. (2008). Pancho The Mobile Music Explorer. Zürich:

DCG.TIK.EE.ETZH.CH

You might also like