Cleaning up the Linux Desktop Audio Mess

Total Page:16

File Type:pdf, Size:1020Kb

Cleaning up the Linux Desktop Audio Mess Cleaning up the Linux Desktop Audio Mess Lennart Poettering Red Hat, Inc. [email protected] Abstract audio processing and network transparency in an exten- sible desktop sound server. PulseAudio is now part of Desktop audio on Linux is a mess. There are just too many distributions, and is likely to become the default many competing, incompatible sound systems around. sound system on Fedora and Ubuntu desktops in the Most current audio applications have to support every next releases of these distributions. sound system in parallel and thus ship with sound ab- straction layers with a more or less large number of The talk will mostly focus on the user-space side of back-end plug-ins. JACK clients are incompatible with Linux audio, specifically on the low-level interface be- ALSA clients, which in turn are incompatible with OSS tween hardware drivers and user-space applications. clients, which in turn are incompatible with ESD clients, and so on. “Incompatible” often means “exclusive;” e.g., if an OSS application gets access to the audio hard- 2 Current State of Linux Audio ware, all ALSA applications cannot access it. The current state of audio on Linux and other Free Soft- Apple MacOS X has CoreAudio, Microsoft Windows ware desktops is quite positive in some areas, but in XP has a new user-space audio layer; both manage to many other areas, it is unfortunately very poor. Several provide comprehensive APIs that make almost every competing audio systems and APIs are available. How- user happy, ranging from desktop users to pro audio ever, none of them is useful in all types of applications, people. Both systems provide fairly modern, easy-to- nor does any meet the goals of being easy-to-use, scal- use audio APIs, and a vast range of features including able, modern, clean, portable, and complete. Most of desktop audio “bling.” these APIs and systems conflict in one way or another. On Linux we should be able to provide the same: a com- mon solution that works on the desktop, in networked On the other hand, we have a few components and thin-client setups and in pro audio environments, scal- APIs for specific purposes that are well accepted and ing from mobile phones to desktop PCs and high-end cleanly designed (e.g., LADSPA, JACK). Also, Linux- audio hardware. based systems can offer a few features that are not avail- able on competing, proprietary systems. Among them 1 Fixing the Linux Audio Stack is network transparent audio and relatively low-latency scheduling. In my talk, I want to discuss what we can do to clean While competing, proprietary systems currently lack a up the mess that desktop audio on Linux is: why we few features the Linux audio stack can offer, they man- need a user-space sound system, what it should look aged to provide a single (specific to the respective OS) like, how we need to deal with the special requirements well-accepted API that avoids the balkanisation we cur- of networked audio and pro-audio stuff, and how we rently have on Free Software desktops. Most notably, should expose the sound system to applications for al- Apple MacOS X has CoreAudio which is useful for the lowing Compiz-style desktop “bling”—but for audio. I desktop as well as for professional audio applications. then will introduce the PulseAudio sound server as an Microsoft Windows Vista, on the other hand, now ships attempt to fix the Linux audio mess. a new user-space audio layer, which also fulfills many of PulseAudio already provides compatibility with 90% of the above requirements for modern audio systems and all current Linux audio software. It features low-latency APIs. • 145 • 146 • Cleaning up the Linux Desktop Audio Mess In the following sections, I will quickly introduce the • Hardly portable to non-Unix systems. systems that are currently available and used on Linux • ioctl()-based interface is not type-safe, not the desktop, their specific features, and their drawbacks. most user-friendly. 2.1 Advanced Linux Sound Architecture (ALSA) • Incompatible with everything else; every applica- tion gets exclusive access to the sound device, thus The ALSA system [2] has become the most widely ac- blocking all other applications from accessing it si- cepted audio layer for Linux. However, ALSA, both as multaneously. audio system and as API, has its share of problems: • Almost impossible to virtualize correctly and comprehensively. Hacks like esddsp, aoss, • The ALSA user-space API is relatively complicated. artsdsp have proven to not work. • ALSA is not available on anything but Linux. • Applications silently assume the availability of cer- • The ALSA API makes certain assumptions about tain driver functionality that is not necessarily avail- sound devices that are only true for hardware de- able in all setups. Most prominently, the 3D game vices. Implementing an ALSA plug-in for virtual Quake doesn’t run with drivers that don’t support devices (“software” devices) is not doable without mmap()-based access to the DMA audio buffer. nasty hacks. • No network transparency, no support for desktop • Not “high-level” enough for many situations. “bling.” • dmix is bug-ridden and incomplete. The good things: • Resampling is very low quality. • Relatively easy to use; • You need different configurations for normal desk- top use (dmix) and pro audio use (no dmix). • Very well accepted, even beyond Linux; • Feels very Unix-ish. On the other hand, it also has some real advantages over other solutions: 2.3 JACK • It is available on virtually every modern Linux in- stallation. The JACK Audio Connection Kit [3] is a sound server • It is very powerful. for professional audio purposes. As such, it is well ac- cepted in the pro-audio world. Its emphasis, besides • It is (to a certain degree) extendable. playback of audio through a local sound card, is stream- ing audio data between applications. 2.2 Open Sound System (OSS) Plusses: OSS [7] has been the predecessor of ALSA in the Linux kernel. ALSA provides a certain degree of compatibility • Easy to use; with OSS. Besides that the API is available on several • Powerful functionality; other Unixes. OSS is a relatively “old” API, and thus • It is a real sound server; has a number of limitations: • It is very well accepted in the pro-audio world. • Doesn’t offer all the functionality that modern sound hardware provides which needs to be supported by Drawbacks: the software (such as no surround sound, no float samples). • Only floating point samples; • Not high-level enough for almost all situations, since • Fixed sampling rate; it doesn’t provide sample format or sample rate • Somewhat awkward semantics which makes it un- conversions. Most software silently assumes that usable as a desktop audio server (i.e., server doesn’t S16NE samples at 44100Hz are available on all sys- start playback automatically, needs a manual “start” tems, which is no longer the case today. command); 2007 Linux Symposium, Volume Two • 147 • Not useful on embedded machines; goal, for the most part. More precisely, a modern sound • No network transparency. API for Free Software desktops should fulfill the follow- ing requirements: 2.4 aRts • Completeness: an audio API should be a general- purpose interface; it should be suitable for simple The KDE sound server aRts [5] is no longer actively de- audio playback as well as professional audio pro- veloped and has been orphaned by its developer. Having duction. a full music synthesiser as desktop sound server might • Scalability: usable on all kinds of different systems, not be such a good idea, anyway. ranging from embedded systems to modern desktop PCs and pro audio workstations. 2.5 EsounD • Modernness: provide good integration into the Free Software desktop ecosystem. The Enlightened Sound Daemon (EsounD or ESD) [4] • Proper support for networked and “software” (vir- has been the audio daemon of choice of the GNOME tual) devices, besides traditional hardware devices. desktop environment since GNOME 1.0 times. Besides basic mixing and network transparency capabilities, it • Portability: the audio API should be portable across doesn’t offer much. Latency querying, low-latency be- different operating systems. haviour, and surround sound are not available at all. It • Easy-to-use for both the user, and for the program- is thus hardly useful for anything beyond basic music mer. This includes a certain degree of automatic playback or playing event sounds (“bing!”). fine-tuning, to provide optimal functionality with “zero configuration.” 2.6 PortAudio 3.2 Routing and Filtering Audio in Software The PortAudio API [6] is a cross-platform abstraction layer for audio hardware access. As such it sits on top Classic audio systems such as OSS are designed to pro- of other audio systems, like OSS, ALSA, ESD, the Win- vide an abstract API around hardware devices. A mod- dows audio stack, or MacOS X’s CoreAudio. PortAudio ern audio system should provide features beyond that: has not been designed with networked audio devices in mind, and also doesn’t provide the necessary function- • It needs to be possible to play back multiple audio ality for clean integration into a desktop sound server. streams simultaneously, so that they are mixed in PortAudio has never experienced wide adoption. real time. • Applications should be able to hook into what is cur- 3 What we Need rently being played back. • Before audio is written to an output device, it might As shown above, none of the currently available audio be transferred over the network to another machine. systems and APIs can provide all that is necessary on • Before audio is played back some kind of post- a modern desktop environment.
Recommended publications
  • Mdns/Dns-Sd Tutorial
    MDNS/DNS-SD TUTORIAL In this tutorial, we will describe how to use mDNS/DNS-SD on Raspberry Pi. mDNS/DNS-SD is a protocol for service discovery in a local area network. It is standardized under RFCs 6762 [1] and 6763[2]. The protocol is also known by the Bonjour trademark by Apple, or Zeroconf. On Linux, it is implemented in the avahi package. [1] http://tools.ietf.org/html/rfc6762 [2] http://tools.ietf.org/html/rfc6763 About mDNS/DNS-SD There are several freely available implementations of mDNS/DNS-SD: 1. avahi – Linux implementation (http://www.avahi.org/) 2. jmDNS – Java implementation (http://jmdns.sourceforge.net/) 3. Bonjour – MAC OS (installed by default) 4. Bonjour – Windows (https://support.apple.com/kb/DL999?locale=en_US) During this course, we will use only avahi. However, any of the aforementioned implementations are compatible. Avahi installation avahi is available as a package for Raspbian. Install it with: sudo apt-get install avahi-deamon avahi-utils Avahi usage avahi-daemon is the main process that takes care of proper operation of the protocol. It takes care of any configuration of the interfaces and network messaging. A user can control the deamon with command line utilities, or via D-Bus. In this document, we will describe the former option. For the latter one, please see http://www.avahi.org/wiki/Bindings. Publishing services avahi-publish-service is the command for publishing services. The syntax is: avahi-publish-service SERVICE-NAME _APPLICATION- PROTOCOL._TRANPOSRT-PROTOCOL PORT “DESCRIPTION” --sub SUBPROTOCOL For instance, the command: avahi-publish-service light _coap._udp 5683 “/mylight” --sub _floor1._sub._coap._udp will publish a service named ‘light’, which uses the CoAP protocol over UDP on port 5683.
    [Show full text]
  • Adding Support for Jamendo and Magnatune to Rhythmbox on Linux
    Walking in Light with Christ - Faith, Computing, Diary Articles & tips and tricks on GNU/Linux, FreeBSD, Windows, mobile phone articles, religious related texts http://www.pc-freak.net/blog Adding support for Jamendo and Magnatune to Rhythmbox on Linux Author : admin I'm using rhythmbox to play music on my Debian Linux. Rhythmbox is a good substitute for both audacious and xmms. XMMS is already very obsolete and it often crashes because of some of it's plugins. On the other hand audacious is sometimes having problems on my notebook working with it's alsa plugin or pulseaudio especially if I play something in youtube. With audacious my songs sometimes got stucked for some weird reason. With rhythmbox I have never experienced this kind of issues. Considering the fact that I'm a GNOME user rhythmbox is even more attractive for me. During about 2 years ago I've heard about the Jamendo - community of free, legal and unlimited music published under the Creative Commons licenses. Just about 10 months ago I've also discovered magnatune which is also a radio which allows free listening online of it's whole online catalogue. That's why it was really interesting for me to have this two nice music streaming services directly into my rhythmbox. I was very happy to discover that already a plugin that embeds the Jamendo and Magnatune Support to the Rhytmbox program. To enable Rhythmbox to support Magnatune and Jamendo type in your root terminal: debian:~# apt-get install gmpc-plugins gmpc-plugins-dbg debian:~# apt-get rhythmbox-plugins It's very likely that the rhythmbox-plugins might be already installed on your Linux, anyways I put the command above just in case if for some reason it's not installed.
    [Show full text]
  • UKUI: a Lightweight Desktop Environment Based on Pluggable
    2016 International Conference on Artificial Intelligence and Computer Science (AICS 2016) ISBN: 978-1-60595-411-0 UKUI: A Lightweight Desktop Environment Based on Pluggable Framework for Linux Distribution Jie YU1, Lu SI1,*, Jun MA1, Lei LUO1, Xiao-dong LIU1, Ya-ting KUANG2, Huan PENG2, Rui LI1, Jin-zhu KONG2 and Qing-bo WU1 1College of Computer, National University of Defense Technology, Changsha, China 2Tianjin KYLIN Information Technology Co., Ltd, Tianjin, China *[email protected] *Corresponding author Keywords: Desktop environment, Ubuntu, User interface. Abstract. Ubuntu is an operating system with Linux kernel based on Debian and distributed as free and open-source software. It uses Unity as its default desktop environment, which results in more difficulties of usage for Microsoft Windows users. In this paper, we present a lightweight desktop environment named UKUI based on UbuntuKylin, the official Chinese version of Ubuntu, for Linux distribution. It is designed as a pluggable framework and provides better user experience during human-computer interaction. In order to evaluate the performance of UKUI, a set of testing bench suits were performed on a personal computer. Overall, the results showed that UKUI has better performance compared with Unity. Introduction Linux is a freely available operating system (OS) originated by Linux Torvalds and further developed by thousands of others. Typically, Linux is packaged in a form known as a Linux distribution for both desktop and server use. Some of the most popular mainstream Linux distributions are Red Hat [1], Ubuntu [2], Arch [3], openSUSY [4], Gentoo [5], etc. There are several desktop environments available for nowadays modern Linux distributions, such as XFCE [6], GNOME [7], KDE [8] and LXDE [9].
    [Show full text]
  • Release Notes for Debian GNU/Linux 5.0 (Lenny), Alpha
    Release Notes for Debian GNU/Linux 5.0 (lenny), Alpha The Debian Documentation Project (http://www.debian.org/doc/) November 11, 2010 Release Notes for Debian GNU/Linux 5.0 (lenny), Alpha Published 2009-02-14 This document is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- out even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. The license text can also be found at http://www.gnu.org/copyleft/gpl.html and /usr/ share/common-licenses/GPL-2 on Debian GNU/Linux. ii Contents 1 Introduction 3 1.1 Reporting bugs on this document . .3 1.2 Contributing upgrade reports . .3 1.3 Sources for this document . .4 2 What’s new in Debian GNU/Linux 5.05 2.1 What’s new in the distribution? . .5 2.1.1 Package management . .7 2.1.2 The proposed-updates section . .7 2.2 System improvements . .8 2.3 Major kernel-related changes . .8 2.3.1 Changes in kernel packaging . .8 2.4 Emdebian 1.0 (based on Debian GNU/Linux lenny 5.0) . .9 2.5 Netbook support .
    [Show full text]
  • JAM SE User Guide
    The Music Player Remote Control © 2006-2008 Winfried Klum V1.3 B E T A Overview JAM SE is a free mobile application for a range of Java enabled mobile phones that allows you to control your music collection from your phone, using Bluetooth. JAM SE requires a Server supporting the Bemused Protocol and a PC with a Bluetooth adapter. Browse or search your music collection on your phone, play most files supported by your music player including MP3s, CDs, etc. Control your music player. Pause, stop, rewind, forward your playlist, add songs to the playlist, use shuffle and repeat and control the volume of your player. Browse and select songs in your playlist, download songs to your phone, customize the look of your application with skins. JAM SE Installation Jam SE Server Installation The JAM SE Server Installer contains Server, Mobile Installer, and the jlGUI Music Player. There is no need to configure the setup. After installation you can deploy JAM SE to your phone using the Mobile Installer. Mobile Installer From the drop down box you can choose your phone manufacturer. If your manufacturer is not listed use the 'Other' option. IMPORTANT: If you have already installed an older version of JAM SE, please make sure that you delete the old version from your phone prior to installation. On the next wizard page you can choose your model. If you choose 'Other' you can choose a GENERIC version of JAM SE by screen size. You can choose between two deployment types. Bluetooth deployment is the easiest way to install JAM SE on your phone.
    [Show full text]
  • Linux Sound Subsystem Documentation Release 4.13.0-Rc4+
    Linux Sound Subsystem Documentation Release 4.13.0-rc4+ The kernel development community Sep 05, 2017 CONTENTS 1 ALSA Kernel API Documentation 1 1.1 The ALSA Driver API ............................................ 1 1.2 Writing an ALSA Driver ........................................... 89 2 Designs and Implementations 145 2.1 Standard ALSA Control Names ...................................... 145 2.2 ALSA PCM channel-mapping API ..................................... 147 2.3 ALSA Compress-Offload API ........................................ 149 2.4 ALSA PCM Timestamping ......................................... 152 2.5 ALSA Jack Controls ............................................. 155 2.6 Tracepoints in ALSA ............................................ 156 2.7 Proc Files of ALSA Drivers ......................................... 158 2.8 Notes on Power-Saving Mode ....................................... 161 2.9 Notes on Kernel OSS-Emulation ..................................... 161 2.10 OSS Sequencer Emulation on ALSA ................................... 165 3 ALSA SoC Layer 171 3.1 ALSA SoC Layer Overview ......................................... 171 3.2 ASoC Codec Class Driver ......................................... 172 3.3 ASoC Digital Audio Interface (DAI) .................................... 174 3.4 Dynamic Audio Power Management for Portable Devices ...................... 175 3.5 ASoC Platform Driver ............................................ 180 3.6 ASoC Machine Driver ............................................ 181 3.7 Audio Pops
    [Show full text]
  • The Interplay of Compile-Time and Run-Time Options for Performance Prediction Luc Lesoil, Mathieu Acher, Xhevahire Tërnava, Arnaud Blouin, Jean-Marc Jézéquel
    The Interplay of Compile-time and Run-time Options for Performance Prediction Luc Lesoil, Mathieu Acher, Xhevahire Tërnava, Arnaud Blouin, Jean-Marc Jézéquel To cite this version: Luc Lesoil, Mathieu Acher, Xhevahire Tërnava, Arnaud Blouin, Jean-Marc Jézéquel. The Interplay of Compile-time and Run-time Options for Performance Prediction. SPLC 2021 - 25th ACM Inter- national Systems and Software Product Line Conference - Volume A, Sep 2021, Leicester, United Kingdom. pp.1-12, 10.1145/3461001.3471149. hal-03286127 HAL Id: hal-03286127 https://hal.archives-ouvertes.fr/hal-03286127 Submitted on 15 Jul 2021 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. The Interplay of Compile-time and Run-time Options for Performance Prediction Luc Lesoil, Mathieu Acher, Xhevahire Tërnava, Arnaud Blouin, Jean-Marc Jézéquel Univ Rennes, INSA Rennes, CNRS, Inria, IRISA Rennes, France [email protected] ABSTRACT Both compile-time and run-time options can be configured to reach Many software projects are configurable through compile-time op- specific functional and performance goals. tions (e.g., using ./configure) and also through run-time options (e.g., Existing studies consider either compile-time or run-time op- command-line parameters, fed to the software at execution time).
    [Show full text]
  • Version 7.8-Systemd
    Linux From Scratch Version 7.8-systemd Created by Gerard Beekmans Edited by Douglas R. Reno Linux From Scratch: Version 7.8-systemd by Created by Gerard Beekmans and Edited by Douglas R. Reno Copyright © 1999-2015 Gerard Beekmans Copyright © 1999-2015, Gerard Beekmans All rights reserved. This book is licensed under a Creative Commons License. Computer instructions may be extracted from the book under the MIT License. Linux® is a registered trademark of Linus Torvalds. Linux From Scratch - Version 7.8-systemd Table of Contents Preface .......................................................................................................................................................................... vii i. Foreword ............................................................................................................................................................. vii ii. Audience ............................................................................................................................................................ vii iii. LFS Target Architectures ................................................................................................................................ viii iv. LFS and Standards ............................................................................................................................................ ix v. Rationale for Packages in the Book .................................................................................................................... x vi. Prerequisites
    [Show full text]
  • The GNOME Desktop Environment
    The GNOME desktop environment Miguel de Icaza ([email protected]) Instituto de Ciencias Nucleares, UNAM Elliot Lee ([email protected]) Federico Mena ([email protected]) Instituto de Ciencias Nucleares, UNAM Tom Tromey ([email protected]) April 27, 1998 Abstract We present an overview of the free GNU Network Object Model Environment (GNOME). GNOME is a suite of X11 GUI applications that provides joy to users and hackers alike. It has been designed for extensibility and automation by using CORBA and scripting languages throughout the code. GNOME is licensed under the terms of the GNU GPL and the GNU LGPL and has been developed on the Internet by a loosely-coupled team of programmers. 1 Motivation Free operating systems1 are excellent at providing server-class services, and so are often the ideal choice for a server machine. However, the lack of a consistent user interface and of consumer-targeted applications has prevented free operating systems from reaching the vast majority of users — the desktop users. As such, the benefits of free software have only been enjoyed by the technically savvy computer user community. Most users are still locked into proprietary solutions for their desktop environments. By using GNOME, free operating systems will have a complete, user-friendly desktop which will provide users with powerful and easy-to-use graphical applications. Many people have suggested that the cause for the lack of free user-oriented appli- cations is that these do not provide enough excitement to hackers, as opposed to system- level programming. Since most of the GNOME code had to be written by hackers, we kept them happy: the magic recipe here is to design GNOME around an adrenaline response by trying to use exciting models and ideas in the applications.
    [Show full text]
  • The GNOME Census: Who Writes GNOME?
    The GNOME Census: Who writes GNOME? Dave Neary & Vanessa David, Neary Consulting © Neary Consulting 2010: Some rights reserved Table of Contents Introduction.........................................................................................3 What is GNOME?.............................................................................3 Project governance...........................................................................3 Why survey GNOME?.......................................................................4 Scope and methodology...................................................................5 Tools and Observations on Data Quality..........................................7 Results and analysis...........................................................................10 GNOME Project size.......................................................................10 The Long Tail..................................................................................11 Effects of commercialisation..........................................................14 Who does the work?.......................................................................15 Who maintains GNOME?................................................................17 Conclusions........................................................................................22 References.........................................................................................24 Appendix 1: Modules included in survey...........................................25 2 Introduction What
    [Show full text]
  • State of Linux Audio in 2009 Linux Plumbers Conference 2009
    State of Linux Audio in 2009 Linux Plumbers Conference 2009 Lennart Poettering [email protected] September 2009 Lennart Poettering State of Linux Audio in 2009 Who Am I? Software Engineer at Red Hat, Inc. Developer of PulseAudio, Avahi and a few other Free Software projects http://0pointer.de/lennart/ [email protected] IRC: mezcalero Lennart Poettering State of Linux Audio in 2009 Perspective Lennart Poettering State of Linux Audio in 2009 So, what happened since last LPC? Lennart Poettering State of Linux Audio in 2009 RIP: EsounD is officially gone. Lennart Poettering State of Linux Audio in 2009 (at least on Fedora) RIP: OSS is officially gone. Lennart Poettering State of Linux Audio in 2009 RIP: OSS is officially gone. (at least on Fedora) Lennart Poettering State of Linux Audio in 2009 Audio API Guide http://0pointer.de/blog/projects/guide-to-sound-apis Lennart Poettering State of Linux Audio in 2009 We also make use of high-resolution timers on the desktop by default. We now use realtime scheduling on the desktop by default. Lennart Poettering State of Linux Audio in 2009 We now use realtime scheduling on the desktop by default. We also make use of high-resolution timers on the desktop by default. Lennart Poettering State of Linux Audio in 2009 2s Buffers Lennart Poettering State of Linux Audio in 2009 Mixer abstraction? Due to user-friendliness, i18n, meta data (icons, ...) We moved a couple of things into the audio server: Timer-based audio scheduling; mixing; flat volume/volume range and granularity extension; integration of volume sliders; mixer abstraction; monitoring Lennart Poettering State of Linux Audio in 2009 We moved a couple of things into the audio server: Timer-based audio scheduling; mixing; flat volume/volume range and granularity extension; integration of volume sliders; mixer abstraction; monitoring Mixer abstraction? Due to user-friendliness, i18n, meta data (icons, ...) Lennart Poettering State of Linux Audio in 2009 udev integration: meta data, by-path/by-id/..
    [Show full text]
  • Development of Cloud-Based Media Player Using Microsoft Azure Services
    eISSN:2600-7920 INTI JOURNAL Vol.1, 2018 (24) Development of Cloud-Based Media Player using Microsoft Azure Services Chong Fong Kim1, Chan Yong Kai 2 and Deshinta Arrova Dewi3 1,2,3 Faculty of Information Technology and Science, INTI International University, Nilai, Negeri Sembilan, Malaysia. Corresponding Author: [email protected] Abstract Playing songs offline consumes internal storage capacity of a device. Besides, playing songs, most of the time is an individual acting as a hobby and many song listeners do not have a common platform to share their hobby with others. By putting it on the cloud, the internal storage capacity can be reduced and the chance to share the common hobby with others is available. This paper aims to present the development of a Cloud-Based Media Player (CBMP) to ease the users in managing their song files and sharing with others. The CBMP utilizes a website as the main controller and connects to the Microsoft Azure Services to host the music database. Two separate sections are created for the user to upload and download their songs as private and share sections. Accordingly, users can choose the favored section they want to access. Not only features to upload and download songs are provided, but the CMBP also provides a search function that enables users to search songs in both different to make a search process faster. Due to latency in the cloud services, the suggested song format for CMBP is.MP3 files. The .MP3 files promote better compression rate than .MP4. Besides, .MP4 has higher latency that makes users waiting longer for processing the songs.
    [Show full text]