Downloading a Resource from Another Server, Looks for Keywords in the Document and Then Searches the Contents for Hyperlinks

Total Page:16

File Type:pdf, Size:1020Kb

Downloading a Resource from Another Server, Looks for Keywords in the Document and Then Searches the Contents for Hyperlinks Embedding intelligence in enhanced music mapping agents By MARNITZ CORNELL GRAY DISSERTATION submitted in fulfilment of the requirements for the degree MASTER OF SCIENCE In COMPUTER SCIENCE in the FACULTY OF SCIENCE at the UNIVERSITY OF JOHANNESBURG SUPERVISOR: PROF. E.M. EHLERS SEPTEMBER 2007 Abstract Keywords: Pluggable Intelligence, Intelligent Music Selection Artificial Intelligence has been an increasing focus of study over the past years. Agent technology has emerged as being the preferred model for simulating intelligence [Jen00a]. Focus is now turning to inter-agent communication [Jen00b] and agents that can adapt to changes in their environment. Digital music has been gaining in popularity over the past few years. Devices such as Apple’s iPod have sold millions. These devices have the capability of holding thousands of songs. Managing such a device and selecting a list of songs to play from so many can be a difficult task. This dissertation expands on agent types by creating a new agent type known as the Modifiable Agent. The Modifiable Agent type defines agents which have the ability to modify their intelligence depending on what data they need to analyse. This allows an agent to, for example, change from being a goal based to a learning based agent, or allows an agent to modify the way in which it processes data. Digital music is a growing field with devices such as the Apple iPod revolutionising the industry. These devices can store large amounts of songs and as such, make it very difficult to navigate as they usually don’t include devices such as a mouse or keyboard. Therefore, creating a play list of songs can be a tiresome process which can lead to the user playing the same songs over and over. The goal of the dissertation is to provide research into methods of automatically creating a play list from a user selected song, i.e. once a user selects a song, a list of similar music is automatically generated and added to the ii user’s playlist. This simplifies the task of selecting music and adds diversity to the songs which the user listens to. The dissertation introduces intelligent music selection, or selecting a play list of songs depending on music classification techniques and past human interaction. iii Table of Contents ABSTRACT .......................................................................................................... II TABLE OF CONTENTS ..................................................................................... IV LIST OF FIGURES ............................................................................................ XII LIST OF TABLES ............................................................................................. XIII LIST OF ABBREVIATIONS.............................................................................. XIII 1 INTRODUCTION ........................................................................................... 1 1.1 Introduction .............................................................................................. 1 1.2 Problem Statement................................................................................... 1 1.3 Chapter Outlay ......................................................................................... 3 1.3.1 Agent Technology ............................................................................... 3 1.3.2 Digital Music ........................................................................................ 3 1.3.3 Model Design ...................................................................................... 4 1.3.4 The Prototype ..................................................................................... 4 1.3.5 Conclusions and Future Research ...................................................... 4 1.4 Conclusion ................................................................................................ 5 2 INTELLIGENT AGENTS ............................................................................... 6 2.1 Introduction .............................................................................................. 6 2.2 What is an Agent? .................................................................................... 7 2.3 Agent Types .............................................................................................. 9 iv 2.4 Properties or characteristics of Agents ............................................... 13 2.4.1 General agent properties .................................................................. 13 2.4.2 Deliberate agent properties ............................................................... 14 2.4.3 More advanced agent properties ...................................................... 15 2.5 Classifying Agents ................................................................................. 16 2.6 Agent Languages ................................................................................... 17 2.7 Agent-Oriented Programming ............................................................... 18 2.8 Conclusion .............................................................................................. 20 3 INTELLIGENCE AS A PLUG-IN FOR AGENTS ......................................... 22 3.1 Introduction ............................................................................................ 22 3.2 Why Embed Intelligence? ...................................................................... 22 3.3 Methods of Embedding Intelligence ..................................................... 23 3.3.1 Compile Time .................................................................................... 23 3.3.2 Run Time .......................................................................................... 24 3.4 Conclusion .............................................................................................. 31 4 THE MODIFIABLE AGENT TYPE .............................................................. 33 4.1 Introduction ............................................................................................ 33 4.2 Why Create Agent Type Definitions? ................................................... 33 4.3 Description of a Modifiable Agent ........................................................ 34 4.4 Why create an agent that can modify itself? ....................................... 34 4.5 Disadvantages of the Modifiable Agent ............................................... 35 v 4.6 Self-Aware Agents ................................................................................. 36 4.7 The Self-Aware Modifiable Agent ......................................................... 37 4.8 Conclusion .............................................................................................. 38 5 BACKGROUND TO DIGITAL MUSIC ......................................................... 40 5.1 Introduction ............................................................................................ 40 5.2 History of Digital Music ......................................................................... 40 5.3 Growth of Digital Music ......................................................................... 41 5.4 The Impact of digital music ................................................................... 43 5.5 Current Digital Music Technologies ..................................................... 44 5.5.1 Introduction ....................................................................................... 44 5.5.2 Pulse Code Modulation (PCM) .......................................................... 44 5.5.3 MPEG 1 Audio Layer 3 (MP3) ........................................................... 45 5.5.4 Ogg Vorbis (Ogg) .............................................................................. 48 5.5.5 Microsoft Windows Audio (WMA) ...................................................... 49 5.5.6 MPEG-2 AAC .................................................................................... 50 5.6 Conclusion .............................................................................................. 51 6 CURRENT AGENTS IN DIGITAL MUSIC ................................................... 55 6.1 Introduction ............................................................................................ 55 6.2 MusicBrainz and Picard ......................................................................... 55 6.3 MoodLogic .............................................................................................. 57 6.4 FixTunes ................................................................................................. 57 6.5 Relatable ................................................................................................. 58 vi 6.6 MusicMagic and MusicIP ....................................................................... 58 6.7 Beat Tracking System ............................................................................ 61 6.8 Conclusion .............................................................................................. 61 7 AUDIO SIGNAL CLASSIFICATION ............................................................ 63 7.1 Introduction ............................................................................................ 63 7.2 Beat Tracking ......................................................................................... 63 7.3 Fourier analysis ...................................................................................... 64 7.4 Constant-Q analysis..............................................................................
Recommended publications
  • The Kid3 Handbook
    The Kid3 Handbook Software development: Urs Fleisch The Kid3 Handbook 2 Contents 1 Introduction 11 2 Using Kid3 12 2.1 Kid3 features . 12 2.2 Example Usage . 12 3 Command Reference 14 3.1 The GUI Elements . 14 3.1.1 File List . 14 3.1.2 Edit Playlist . 15 3.1.3 Folder List . 15 3.1.4 File . 16 3.1.5 Tag 1 . 17 3.1.6 Tag 2 . 18 3.1.7 Tag 3 . 18 3.1.8 Frame List . 18 3.1.9 Synchronized Lyrics and Event Timing Codes . 21 3.2 The File Menu . 22 3.3 The Edit Menu . 28 3.4 The Tools Menu . 29 3.5 The Settings Menu . 32 3.6 The Help Menu . 37 4 kid3-cli 38 4.1 Commands . 38 4.1.1 Help . 38 4.1.2 Timeout . 38 4.1.3 Quit application . 38 4.1.4 Change folder . 38 4.1.5 Print the filename of the current folder . 39 4.1.6 Folder list . 39 4.1.7 Save the changed files . 39 4.1.8 Select file . 39 4.1.9 Select tag . 40 The Kid3 Handbook 4.1.10 Get tag frame . 40 4.1.11 Set tag frame . 40 4.1.12 Revert . 41 4.1.13 Import from file . 41 4.1.14 Automatic import . 41 4.1.15 Download album cover artwork . 42 4.1.16 Export to file . 42 4.1.17 Create playlist . 42 4.1.18 Apply filename format . 42 4.1.19 Apply tag format .
    [Show full text]
  • Ardour Export Redesign
    Ardour Export Redesign Thorsten Wilms [email protected] Revision 2 2007-07-17 Table of Contents 1 Introduction 4 4.5 Endianness 8 2 Insights From a Survey 4 4.6 Channel Count 8 2.1 Export When? 4 4.7 Mapping Channels 8 2.2 Channel Count 4 4.8 CD Marker Files 9 2.3 Requested File Types 5 4.9 Trimming 9 2.4 Sample Formats and Rates in Use 5 4.10 Filename Conflicts 9 2.5 Wish List 5 4.11 Peaks 10 2.5.1 More than one format at once 5 4.12 Blocking JACK 10 2.5.2 Files per Track / Bus 5 4.13 Does it have to be a dialog? 10 2.5.3 Optionally store timestamps 5 5 Track Export 11 2.6 General Problems 6 6 MIDI 12 3 Feature Requests 6 7 Steps After Exporting 12 3.1 Multichannel 6 7.1 Normalize 12 3.2 Individual Files 6 7.2 Trim silence 13 3.3 Realtime Export 6 7.3 Encode 13 3.4 Range ad File Export History 7 7.4 Tag 13 3.5 Running a Script 7 7.5 Upload 13 3.6 Export Markers as Text 7 7.6 Burn CD / DVD 13 4 The Current Dialog 7 7.7 Backup / Archiving 14 4.1 Time Span Selection 7 7.8 Authoring 14 4.2 Ranges 7 8 Container Formats 14 4.3 File vs Directory Selection 8 8.1 libsndfile, currently offered for Export 14 4.4 Container Types 8 8.2 libsndfile, also interesting 14 8.3 libsndfile, rather exotic 15 12 Specification 18 8.4 Interesting 15 12.1 Core 18 8.4.1 BWF – Broadcast Wave Format 15 12.2 Layout 18 8.4.2 Matroska 15 12.3 Presets 18 8.5 Problematic 15 12.4 Speed 18 8.6 Not of further interest 15 12.5 Time span 19 8.7 Check (Todo) 15 12.6 CD Marker Files 19 9 Encodings 16 12.7 Mapping 19 9.1 Libsndfile supported 16 12.8 Processing 19 9.2 Interesting 16 12.9 Container and Encodings 19 9.3 Problematic 16 12.10 Target Folder 20 9.4 Not of further interest 16 12.11 Filenames 20 10 Container / Encoding Combinations 17 12.12 Multiplication 20 11 Elements 17 12.13 Left out 21 11.1 Input 17 13 Credits 21 11.2 Output 17 14 Todo 22 1 Introduction 4 1 Introduction 2 Insights From a Survey The basic purpose of Ardour's export functionality is I conducted a quick survey on the Linux Audio Users to create mixdowns of multitrack arrangements.
    [Show full text]
  • Rockbox User Manual
    The Rockbox Manual for Sansa Fuze+ rockbox.org October 1, 2013 2 Rockbox http://www.rockbox.org/ Open Source Jukebox Firmware Rockbox and this manual is the collaborative effort of the Rockbox team and its contributors. See the appendix for a complete list of contributors. c 2003-2013 The Rockbox Team and its contributors, c 2004 Christi Alice Scarborough, c 2003 José Maria Garcia-Valdecasas Bernal & Peter Schlenker. Version unknown-131001. Built using pdfLATEX. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sec- tions, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”. The Rockbox manual (version unknown-131001) Sansa Fuze+ Contents 3 Contents 1. Introduction 11 1.1. Welcome..................................... 11 1.2. Getting more help............................... 11 1.3. Naming conventions and marks........................ 12 2. Installation 13 2.1. Before Starting................................. 13 2.2. Installing Rockbox............................... 13 2.2.1. Automated Installation........................ 14 2.2.2. Manual Installation.......................... 15 2.2.3. Bootloader installation from Windows................ 16 2.2.4. Bootloader installation from Mac OS X and Linux......... 17 2.2.5. Finishing the install.......................... 17 2.2.6. Enabling Speech Support (optional)................. 17 2.3. Running Rockbox................................ 18 2.4. Updating Rockbox............................... 18 2.5. Uninstalling Rockbox............................. 18 2.5.1. Automatic Uninstallation....................... 18 2.5.2. Manual Uninstallation......................... 18 2.6. Troubleshooting................................. 18 3. Quick Start 20 3.1.
    [Show full text]
  • Beets Documentation Release 1.5.1
    beets Documentation Release 1.5.1 Adrian Sampson Oct 01, 2021 Contents 1 Contents 3 1.1 Guides..................................................3 1.2 Reference................................................. 14 1.3 Plugins.................................................. 44 1.4 FAQ.................................................... 120 1.5 Contributing............................................... 125 1.6 For Developers.............................................. 130 1.7 Changelog................................................ 145 Index 213 i ii beets Documentation, Release 1.5.1 Welcome to the documentation for beets, the media library management system for obsessive music geeks. If you’re new to beets, begin with the Getting Started guide. That guide walks you through installing beets, setting it up how you like it, and starting to build your music library. Then you can get a more detailed look at beets’ features in the Command-Line Interface and Configuration references. You might also be interested in exploring the plugins. If you still need help, your can drop by the #beets IRC channel on Libera.Chat, drop by the discussion board, send email to the mailing list, or file a bug in the issue tracker. Please let us know where you think this documentation can be improved. Contents 1 beets Documentation, Release 1.5.1 2 Contents CHAPTER 1 Contents 1.1 Guides This section contains a couple of walkthroughs that will help you get familiar with beets. If you’re new to beets, you’ll want to begin with the Getting Started guide. 1.1.1 Getting Started Welcome to beets! This guide will help you begin using it to make your music collection better. Installing You will need Python. Beets works on Python 3.6 or later. • macOS 11 (Big Sur) includes Python 3.8 out of the box.
    [Show full text]
  • Beets Documentation Release 1.3.3
    beets Documentation Release 1.3.3 Adrian Sampson February 27, 2014 Contents i ii beets Documentation, Release 1.3.3 Welcome to the documentation for beets, the media library management system for obsessive-compulsive music geeks. If you’re new to beets, begin with the Getting Started guide. That guide walks you through installing beets, setting it up how you like it, and starting to build your music library. Then you can get a more detailed look at beets’ features in the Command-Line Interface and Configuration references. You might also be interested in exploring the plugins. If you still need help, your can drop by the #beets IRC channel on Freenode, send email to the mailing list, or file a bug in the issue tracker. Please let us know where you think this documentation can be improved. Contents 1 beets Documentation, Release 1.3.3 2 Contents CHAPTER 1 Contents 1.1 Guides This section contains a couple of walkthroughs that will help you get familiar with beets. If you’re new to beets, you’ll want to begin with the Getting Started guide. 1.1.1 Getting Started Welcome to beets! This guide will help you begin using it to make your music collection better. Installing You will need Python. (Beets is written for Python 2.7, but it works with 2.6 as well. Python 3.x is not yet supported.) • Mac OS X v10.7 (Lion) and 10.8 (Mountain Lion) include Python 2.7 out of the box; Snow Leopard ships with Python 2.6.
    [Show full text]
  • 5. Controlling the Cocktail Audio Pro X100
    www.cocktailaudio.co.uk Contents Cocktail Audio PRO X100 ............................................................................................ 1 Safety Notice .................................................................................................................. 1 Caution: .......................................................................................................................... 1 Warranty & Disclaimer: ................................................................................................. 1 Lawful Usage & Digital Music Licensing: .................................................................... 2 1. Introduction ................................................................................................................ 2 2. Product ....................................................................................................................... 4 3. Hard drive (HDD) installation/setup:......................................................................... 5 4. Installation & connections: ........................................................................................ 5 5. Controlling the Cocktail Audio Pro X100 ................................................................. 5 6. Initial setup................................................................................................................. 5 7. Setting up the network ............................................................................................... 7 8. How to rip (encode) an audio CD: ............................................................................
    [Show full text]
  • Release V2.5.6
    MusicBrainz Picard Release v2.5.6 Feb 16, 2021 MusicBrainz Picard User Guide by Bob Swift is licensed under CC0 1.0. To view a copy of this license, visit https://creativecommons.org/publicdomain/zero/1.0 CONTENTS 1 Introduction 1 1.1 Picard Can. ...........................................2 1.2 Picard Cannot. .........................................2 1.3 Limitations...........................................2 2 Contributing to the Project3 3 Acknowledgements4 3.1 Editor and English Language Lead..............................4 3.2 Translation Teams.......................................4 3.3 Contributors..........................................4 4 Glossary of Terms 6 5 Getting Started 10 5.1 Download & Install Picard................................... 10 5.2 Main Screen.......................................... 12 5.3 Status Icons........................................... 18 6 Configuration 20 6.1 Screen Setup.......................................... 20 6.2 Action Options......................................... 21 6.3 Option Settings......................................... 21 7 Tags & Variables 66 7.1 Basic Tags........................................... 66 7.2 Advanced Tags......................................... 70 7.3 Basic Variables......................................... 72 7.4 File Variables.......................................... 73 7.5 Advanced Variables...................................... 74 7.6 Classical Music Tags...................................... 75 7.7 Tags from Plugins......................................
    [Show full text]
  • Exposing Vulnerabilities in Media Software
    Introduction Containers and Codecs Fuzzing Exposing Vulnerabilities in Media Software Fuzzing Techniques Fuzzing Tools Fuzzbox Case study: Ogg-Vorbis David Thiel, iSEC Partners Other formats and features Results Finding root causes March 31st, 2008 Collateral damage and future directions Summary Agenda 1 Introduction Introduction 2 Containers and Codecs Containers and Codecs 3 Fuzzing Fuzzing Fuzzing Fuzzing Techniques Techniques Fuzzing Tools Fuzzing Tools Fuzzbox Case study: Ogg-Vorbis Fuzzbox Other formats and features Case study: Ogg-Vorbis Results Other formats and features Finding root causes 4 Results Collateral damage and future 5 Finding root causes directions Summary 6 Collateral damage and future directions Introduction Hello Introduction I’m a consultant and researcher with iSEC Partners Containers Focus on application security and Codecs Audio hobbyist (definitely no expert) Fuzzing Fuzzing What’s this all about? Techniques Fuzzing Tools The attack surface and potential of media codecs, players Fuzzbox Case study: and related devices Ogg-Vorbis Other formats Focus here is slightly on audio, but that doesn’t matter and features Video works the same way, and uses the same container Results formats Finding root causes Takeaways Collateral damage and Understand attack surface and implications future Understand how to fuzz and design fuzzers for media directions Help developers understand how to improve code Summary Plant ideas for future research Why this matters Omnipresent and always on Introduction Promiscuously shared, played,
    [Show full text]
  • Freenas® 11.2-U3 User Guide
    FreeNAS® 11.2-U3 User Guide March 2019 Edition FreeNAS® is © 2011-2019 iXsystems FreeNAS® and the FreeNAS® logo are registered trademarks of iXsystems FreeBSD® is a registered trademark of the FreeBSD Foundation Written by users of the FreeNAS® network-attached storage operating system. Version 11.2 Copyright © 2011-2019 iXsystems (https://www.ixsystems.com/) CONTENTS Welcome .............................................................. 8 Typographic Conventions ..................................................... 10 1 Introduction 11 1.1 New Features in 11.2 .................................................... 11 1.1.1 RELEASE-U1 ..................................................... 14 1.1.2 U2 .......................................................... 14 1.1.3 U3 .......................................................... 15 1.2 Path and Name Lengths .................................................. 16 1.3 Hardware Recommendations ............................................... 17 1.3.1 RAM ......................................................... 17 1.3.2 The Operating System Device ........................................... 18 1.3.3 Storage Disks and Controllers ........................................... 18 1.3.4 Network Interfaces ................................................. 19 1.4 Getting Started with ZFS .................................................. 20 2 Installing and Upgrading 21 2.1 Getting FreeNAS® ...................................................... 21 2.2 Preparing the Media ...................................................
    [Show full text]
  • (IETF) T. Terriberry Request for Comments: 7845 Mozilla Corporation Updates: 5334 R
    Internet Engineering Task Force (IETF) T. Terriberry Request for Comments: 7845 Mozilla Corporation Updates: 5334 R. Lee Category: Standards Track Voicetronix ISSN: 2070-1721 R. Giles Mozilla Corporation April 2016 Ogg Encapsulation for the Opus Audio Codec Abstract This document defines the Ogg encapsulation for the Opus interactive speech and audio codec. This allows data encoded in the Opus format to be stored in an Ogg logical bitstream. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7845. Copyright Notice Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
    [Show full text]
  • Descriptive Metadata in the Music Industry 1
    DESCRIPTIVE METADATA IN THE MUSIC INDUSTRY 1 Descriptive Metadata In The Music Industry: Why It Is Broken And How To Fix It Tony Brooke December 2014 Author Note Tony Brooke is a media asset manager in San Francisco, California. He holds a Master’s degree in Library and Information Science (with a concentration in media asset management and audiovisual metadata) from San José State University, and has been an audio engineer in San Francisco since 1992. Correspondence regarding this should be made to Tony Brooke, Silent Way Media Asset Management, San Francisco, (415) 826-2888. http://www.silentway.com/research This is a corrected postprint of an article originally published in two parts, February- March 2014 in the Journal of Digital Media Management. Keywords: metadata, standards, music, descriptive, open, proprietary, database, identifier, credits, schema, persistent DESCRIPTIVE METADATA IN THE MUSIC INDUSTRY 2 Table Of Contents Abstract 3 Introduction 4 Descriptive Metadata: Now And Then 5 Terminology 8 Reasons for the Lack of Descriptive Metadata 17 The Silos 20 The DDEX Suite of Standards and CCD 30 Part Two 33 Why Hasn’t This Been Fixed Yet? 33 Toward A Globally Unique Abstracted Persistent Identifier (GUAPI) 40 Proposed Study: Quantifying Descriptive Metadata Value 49 Research Questions 49 Participants 50 Data Collection Instrument 50 Procedure 51 Conclusion And Recommendations 53 References 59 Appendix: Acronym Reference 67 Document Control Version history Version Date Version notes 1.0 June 19, 2013 Initial draft, circulated privately, APA citations. 1.1 July 14, 2013 Revised draft. 2.0 October 15, 2013 Significant rewrite, with different conclusion.
    [Show full text]
  • Managing File Names with Metadata
    A File By Any Other Name: Managing File Names with Metadata Name1 Name2 Name3 Name4 Affiliation1 Affiliation2 Affiliation3 Email1 Email2 Email3/4 Abstract it or recognize it when we look at it later. In order to help File names are an ancient abstraction, a string of characters users to find and remember files, they often contain a bounty to uniquely identify a file and help users remember the con- of useful metadata about the file. tents of a file when they look for it later. However, they are However current approaches to file names have flaws: not an ideal solution for these tasks. Names often contain • They are unstructured semantic metadata which is opaque useful semantic metadata providedby the user, but this meta- to the system data is opaque to the rest of the system. The formatting of • Formatting is up to the user, and is error prone and incon- the file name is up to the user, and as a result, metadata in sistent, making it hard to find files later file names is often error-prone, inconsistently formatted, and • hard to search for later. File names need to be more mean- Changing a file name destroys information ingful and reliable, while simplifying application design and Consider the following file name drawn from the experi- encouraging users and applications to provide more meta- ments for this paper: data for search. createfiles_HDD_truenames_100000files_1threads. We describe our prototype file system, TrueNames, a data POSIX compliant file system which demonstrates an al- Looked at in one light, this is a long, arbitrary, error prone ternate approach to naming and metadata, by providing string of characters.
    [Show full text]