WO2015055888A1 - Network server for audio tracks - Google Patents

Network server for audio tracks Download PDF

Info

Publication number
WO2015055888A1
WO2015055888A1 PCT/FI2014/000023 FI2014000023W WO2015055888A1 WO 2015055888 A1 WO2015055888 A1 WO 2015055888A1 FI 2014000023 W FI2014000023 W FI 2014000023W WO 2015055888 A1 WO2015055888 A1 WO 2015055888A1
Authority
WO
WIPO (PCT)
Prior art keywords
audio
data
server system
audio track
client computer
Prior art date
Application number
PCT/FI2014/000023
Other languages
French (fr)
Inventor
Mika Haapea
Jarkko IMMONEN
Jyrki SCHRODERUS
Antti OLLILAINEN
Petri Hyyppä
Original Assignee
Netsono Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netsono Oy filed Critical Netsono Oy
Publication of WO2015055888A1 publication Critical patent/WO2015055888A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • G10H7/004Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof with one or more auxiliary processor in addition to the main processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B15/00Teaching music
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B15/00Teaching music
    • G09B15/001Boards or like means for providing an indication of chords
    • G09B15/002Electrically operated systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/095Identification code, e.g. ISWC for musical works; Identification dataset
    • G10H2240/101User identification
    • G10H2240/105User profile, i.e. data about the user, e.g. for user settings or user preferences
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/121Musical libraries, i.e. musical databases indexed by musical parameters, wavetables, indexing schemes using musical parameters, musical rule bases or knowledge bases, e.g. for automatic composing methods
    • G10H2240/125Library distribution, i.e. distributing musical pieces from a central or master library
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/175Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments for jam sessions or musical collaboration through a network, e.g. for composition, ensemble playing or repeating; Compensation of network or internet delays therefor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/295Packet switched network, e.g. token ring
    • G10H2240/305Internet or TCP/IP protocol use for any electrophonic musical instrument data or musical parameter transmission purposes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/036Insert-editing

Definitions

  • the invention relates to a network server and a web service associated with musician activities. Especially, the invention relates to social activities between musicians.
  • Music as a hobby is often associated with social aspects, such as playing together and forming social connections between musicians.
  • social connections are very strong, thus making it difficult to outsiders get into the community. This case is especially relevant to a person seeking for a band without knowing people from the musician society.
  • the invention relates to a network server system comprising: at least one processor; and at least one memory including a computer program code, wherein the at least one memory and the computer program code are configured, with the at least one processor, to cause the network server system to transfer coded instructions to a client computer over a public data network, wherein the coded instructions cause the client computer to: decode a first audio track with an audio decoder into a first audio data stream to be played back in the client computer and simultaneously encode a second audio data stream into a second audio track with an audio encoder; upload the second audio track to the network server system; and associate the second audio track with the first audio track and a user identification; wherein the audio encoder and the audio decoder are integrated into an installation package of a web browser software executable in the client computer.
  • the invention in another aspect, relates to computer program product embodied on a distribution medium readable by network server system comprising program instructions for the network server system which, when loaded into a client computer, cause the client computer to decode a first audio track with an audio decoder into a first audio data stream to be played back in the client computer and simultaneously encode a second audio data stream into a second audio track with an audio encoder; upload the second audio track to the network server system; and associate the second audio track with the first audio track and a user identification; wherein the audio encoder and the audio decoder are integrated into an installation package of a web browser software executable in the client computer.
  • the coded instructions cause the client computer to download the second audio track to the client computer from the network server system; decode the second audio track simultaneously with the first audio track; and simultaneously encode a third audio data stream into a third audio track with the audio encoder.
  • the at least one memory and the computer program code cause the network server system to associate the second audio track with at least one of the following data: music instrument data, music project data, virtual band data, evaluation data, location data, rating data.
  • the at least one memory and the computer program code are configured to cause the network server system to associate the user identification with at least the following data: user music preference data, user location data, virtual band data, evaluation data, rating data.
  • the network server system further comprises adaptive content database comprising a plurality of content records, each content record comprising at least adaptive content data and content preference data associated with the adaptive content data; and wherein the at least one memory and the computer program code are configured to cause the network server system to select adaptive content data based on a comparison between the content preference data and the user music preference data.
  • the coded instructions cause the client computer to upload the second audio track to the network server system and simultaneously display the adaptive content data to the user.
  • the coded instructions further cause the client computer to associate the second audio track with user authorization data for a defining at least one of audio modification rights, file management rights.
  • the coded instructions further cause the client computer to decode a reference rhythm audio track with the audio decoder into a reference rhythm audio data stream to be played back in the client computer and simultaneously encode a test audio data stream into a test audio track with the audio decoder; upload the test audio track to the network server system; and to determine a delay parameter characterizing system latency by applying the reference rhythm audio track and the test audio track.
  • the browser software is Google Chrome browser. List of drawings
  • FIG. 1 illustrates a system according to an embodiment of the invention
  • Figure 2 shows a structure of browser software
  • Figure 3 shows an embodiment of a server system
  • Figure 4- shows-an embodiment of-a-storage-server
  • Figure 5 shown an embodiment of a web server
  • Figure 6 illustrates an example of an application server
  • Figure 7 shown an example of a user database
  • Figure 8 illustrates an embodiment of a track database
  • Figure 9 shows an example of an adaptive content database
  • Figure 10 illustrates an example of user interface. Description of embodiments
  • the system comprises a client computer 102, a server system 112 and a public network 20.
  • the client computer 102 comprises computer hardware, such as processor, memory and required electronic circuitry and software. Especially, the client computer 102 comprises communication hardware and software module 110 enabling the client computer 102 to bi-directionally communicate with the public network 120.
  • the communication hardware and software module 10 may implement a wired or wireless network interface, such as LAN (Local Access Network), WLAN (Wireless LAN) or a telecommunication interface, such as one based on 3G, 4G or more advanced technology, to the public network 120.
  • the client computer 102 may also be referred to as a remote computer from the server system 112 perspective.
  • the client computer 102 is a remote computer from the server system 112 perspective whenever the public network 120 connects the two.
  • the physical distance may be anything as long as the client computer 102 and the server system 112 are connected y the public network 120.
  • the client computer 102 further comprises a user interface module 104 for enabling the user to interact with the client computer 102.
  • the user interface module 102 comprises a visual interaction component, such as a screen, display or a touch screen.
  • the user interface module 104 further includes input device, such as a keyboard or touch screen input functionality, for enabling the user to provide with user input to the client computer 102.
  • the client computer 102 further comprises an audio hardware and software input/output module 108.
  • the audio hardware and software input/output module 108 provides the user with capability to input audio signal into the client computer 102 and to transform the audio signal into audio data.
  • the audio hardware and software input/output module 108 further provides the user with capability to transform audio data into audible form.
  • the audio hardware and software input/output module 108 comprises an audio processing circuitry including analog-to-digital converters for transforming analog audio signal into digital audio signal.
  • the audio processing circuitry comprises digital-to-analog converters for converting digital audio data into analog audio signal.
  • the audio processing circuitry comprises audio signal amplifying circuits.
  • the audio processing circuitry comprises audio manipulation modules, such as of audio channels mixers and audio effects circuits.
  • the client computer 102 is a personal computer. In an embodiment, the client computer 102 is a tablet computer. In an embodiment, the client computer 102 is a mobile computer. In an embodiment, the client computer 102 is an Internet television set.
  • the client computer 102 is a laptop computer.
  • the audio hardware and software input/output module 108 comprises two basic signal processing chains.
  • One signal processing chain is for transforming a digital audio stream into analogue signal and further into amplified signal to be further amplified or to be taken to audio playback device, such as loudspeakers or headphones.
  • Another signal processing chain implements an audio input functionality where a physical audio signal is transformed into a digital data stream for further processing in the audio hardware and software input/output module 108 and/or in the processor of the client computer 102.
  • Both signal processing chains may include a plurality of audio sub-channels, such as stereo channels.
  • the browser 106 is a software application which executed in a digital processor, retrieves and presents information resources on the World Wide Web.
  • the server system 112 comprises hardware resources, such as a memory 114, a digital processor 110, a communication circuitry 118, and software stored by the memory 1 4 and executed in the processor 116 and communication circuitry 118.
  • the server system 112 may comprise a single computer unit or a plurality of computer units connected to each other by local buses, local network or the public network 120.
  • the server system 112 responds with a response 124 to requests 126 arising from at least one client computer 102.
  • the requests 126 are generated by the client computer 102 and transferred to the server system 112 by the public network 120.
  • the response 124 is generated by the server system 112 and transferred to the client computer 102 by the public network 120.
  • a browser software 200 comprises coded instructions which, when downloaded to the client computer 102, stored in the memory of the client computer 102 and executed in the digital processor of the client computer 102, execute a computer process in the client computer 02.
  • the browser software 200 comprises software modules which are described by the technical function of each module when loaded from the memory and executed in the processor of the client computer 102. Modules implementing standard browser functionalities, such as those relating to retrieving data from the server system 112 and presenting information on the user interface 104 are not described.
  • the browser software 200 comprises an audio recorder module 202 and an audio player module 204.
  • the audio recorder module 202 and the audio player module 204 are integrated into the installation package of the browser software 200.
  • the _ integration ⁇ of ⁇ the ⁇ aOdio ⁇ player module- 20 and ⁇ the audio recorder module 202 into the installation package of the browser software has important technical benefits.
  • the technical benefits comprise independence of a third party technology providers which may alternatively provide recording modules and which may have deficiencies when coupled with the browser software.
  • Another benefit arises from architectural structure of the browser software 200, into which the audio player module 204 and the audio recorder module 202 belong seamlessly.
  • An installation package of the browser software 200 is a computer file, which is transferred to the client computer in one data file or in several data files.
  • the installation package comprises a setup command which defines a target location for the executable browser software data files.
  • the installation package comprises a decompression command to decompress installation files from the installation package.
  • the installation package comprises retrieve command to retrieve installation files from a remote location.
  • the installation package comprises an installation command to install installation data to the client to the computer system.
  • the audio recorder module 202 comprises an audio encoder for encoding an input audio data stream 210 into output audio track data 212.
  • the audio player module 204 comprises an audio decoder module for decoding input audio track data 214 into an output audio data stream 216.
  • the browser software 200 further comprises a controller module 206.
  • the browser software 200 comprises an adaptive data content (ADC) engine 208.
  • ADC adaptive data content
  • the audio player module 204 receives the input audio track data 214 and decodes the input audio track data 214 with the audio decoder module into the output audio data stream 216.
  • the output audio data stream 216 is inputted into the audio hardware and software input/output module 108.
  • the audio hardware and software input/output module 108 form an audible waveform from the output audio data stream 212 to be fed to various amplifying stages and ⁇ finally ⁇ to ⁇ the audio user interface, such as loudspeakers or earphones.
  • the audio recorder module 202 receives the input audio data stream 210 from the audio hardware and software input/output module 108 and encodes the input audio data stream 210 with the audio encoder into an output audio track data 212.
  • the audio recorder module 202 encodes the input audio stream into a standard audio format.
  • the standard audio format is an MP3 (MPEG Audio Layer III) format.
  • the standard audio format is the OGG (Ogg Vorbis) format.
  • the standard audio format is WAV (wave form audio) format.
  • the controller module 206 generates recorder commands 218 for the audio recorder module 202 and feeds the recorder commands 218 to the audio recorder module 202.
  • the controller module 206 generates player commands 220 for the audio player module 204 and feeds the player commands 220 to the audio player module 204.
  • the controller module 206 receives coded instructions 228 and system commands 230 for generating the player commands 220 and recorder commands 218.
  • the coded instructions 228 further define the interaction between user interface 104 and the browser software.
  • the coded instructions 228 are downloaded from the server system
  • the coded instructions 228 cause a computer process to be executed in the client computer on the basis of the system commands 230.
  • the system commands 230 are generated by the user interface 104 or by the computer system of the client computer 102.
  • the coded instructions 228 cause selecting an audio input audio track file comprising the input audio track data 214 for the audio player module 204.
  • the input audio track data 214 comprises a baeking-track-for-a band's try-out-candidates:
  • the input audio track data 214 comprises audio data from a music streaming service such Youtube®.
  • the coded instructions 228 cause an audio track data 214 to be played by the audio player module 204. This enables the user to play back an audio track.
  • the coded instructions 228 cause a plurality of input audio track data tracks to be played simultaneously by a plurality of audio player modules 204. This enables the user to play back several audio tracks simultaneously.
  • Each track may comprise a recording of an instrument, and the outcome is a compilation of the audio tracks.
  • the coded instructions 228 cause establishing a new audio output audio track file comprising the output audio track data 212 to
  • the output audio track data 212 comprises a recording of an instrument or singing.
  • the coded instructions 228 cause input audio track data 214 to be played and an input audio data stream 210 to be encoded0 into an output audio track data 212 simultaneously.
  • the input audio track data 214 may comprise a backing track or several backing tracks, such as a band recording with one missing instrument.
  • the input audio data stream 210 may include the missing instrument to be played on the top of the backing track.
  • the coded instructions 228 cause the client computer 102 to upload recorded output audio track data 212 to the server system 112.
  • the output audio track data 212 may be stored into an audio track database 800 in the form of audio track 816.
  • the coded instructions 228 cause the client computer to download an audio track 816 to the client computer 102 to be played on the audio player module 204.
  • the coded instructions 228 cause playing a reference rhythm pattern with the audio player module 204.
  • the reference5 rhythm pattern may be a metronome.
  • the user may record a new audio track by using the reference rhythm pattern.
  • the coded instructions 228 cause the client computer 102 to play a reference rhythm from a reference rhythm audio track.
  • the reference audio track data are comprised by the server0 system 112 and downloaded automatically from the server system 112 to the audio player module 204.
  • the coded instructions 228 further comprise recording a test audio track that has a common time stamp with the reference rhythm audio track.
  • the coded instructions 228 further comprise playing the reference rhythm audio track and test audio track based on the common time5 stamp and to adjust a time delay parameter between the reference rhythm audio track and the test audio track.
  • the time delay parameter may be used to compensate for latency occurring in the audio hardware and software input/output module 108.
  • the user provides a command to adjust the time delay parameter based on the simultaneous play back of the reference rhythm audio track and the test audio track.
  • the test audio track is uploaded to the server system 112. and the server system runs a computer process to make the reference rhythm audio track and the test audio track to correlate with each other. A best correlation provides with an optimum time delay parameter.
  • the time delay parameter may be stored to the user's user account in the server system 112 and be applied on audio tracks when player with the audio player module 204.
  • the coded instructions 228 cause playing a reference frequency with the audio player module 204.
  • the reference frequency may be a tuning voice for tuning an instrument.
  • the adaptive content engine 208 is a module which receives input adaptive content data 226 from the server system 112 and outputs output adaptive content data 224 to be displayed on the user interface 104 of the client computer 102 according to commands 222 provided by the controller 206.
  • the server system 112 may comprise a server arrangement comprising a web server 302, an application server 304, a user database server 306 and a storage server 308.
  • the storage server 308 comprises audio database 402.
  • the audio database 402 comprises an audio track database.
  • the storage server 308 comprises adaptive content database 404.
  • WitlTfefeTeTic ⁇ to FigT ⁇ web server 302 is illustrated.
  • the web server 302 comprises a browser controller 502 and an application server controller 504.
  • the browser controller 502 comprises coded instructions which, when downloaded into the memory of the client computer
  • the coded instruction relate to the audio encoding and decoding functionality, synchronization of audio track data and audio track data download and upload between the client computer 102 and the server system 112.
  • the coded instructions 506 may be expressed in a markup language, such as HTML5 markup language and Java scripts.
  • the application server controller 504 transmits application server requests to the application server 304 and receives application server responses from the application server 304.
  • the application server 304 comprises coded instructions, which when executed in the digital processor of the application server 304, cause the application server 304 to execute an application server process.
  • the application server process may be initiated, requested and/or controlled by the application server controller 504.
  • the application server 304 comprises a data access controller 602.
  • the data access controller 602 causes retrieving user data from the user database server 306 and transferring the user data to the web server 302 and/or to the client computer 102.
  • the data access controller 602 causes retrieving user data from the web server 302 and/or the client computer 102 and transferring the user data to the user database server 306.
  • the data access controller 602 causes retrieving audio data from the storage server 308 and transferring the audio data to the web server 302 and/or to the client computer 102.
  • the data access controller 602 causes retrieving audio data from the web server 302 or the client computer 102 and transferring the audio data to the storage server 308.
  • the user database server 306 and the storage server 308 may change the requests 124 and responses 126 with the client computer 102.
  • the user database 700 comprises user records 702 to 722.
  • the user record 702 comprises user identification data 704 and at least one of the following data associated with the user identification data 704:
  • the user identification data 704 comprises data for authentication the user and may comprise user name, user identification number or user authentication data, such as email address or telephone number.
  • the user authentication data 706 may comprise user password and usernames.
  • the user's project data 708 comprises data that associates the user with the relevant audio data stored in the server system 112.
  • the user project data comprises user's virtual band data.
  • a virtual band is a collection of user's that have been accepted to the band by the super user of the band.
  • a super user of a band is a user that has created a record for a virtual band.
  • the user's project data comprises data on the user's audio project.
  • An audio project is a combination of audio tracks.
  • the user's project data comprises a user-specific audio control file.
  • the user specific audio control file comprises a list of audio tracks to be uploaded to the client computer 102 and played back simultaneously.
  • the audio control file may comprise audio control settings, such as volume setting and audio manipulation data the audio tracks in an audio project.
  • the audio manipulation data controls audio effects, such asndelay effects, revertreffects, compressor effects and equalization effects?
  • the user demographics data 710 comprises user's age, gender, nationality, cultural background, and music experience.
  • the user's location data may comprise user's geographical location.
  • the user's geographical location may user's as country, city and street address.
  • the user's location data comprises satellite position data or Internet address data (IP address).
  • the user's music instrument data comprises the instrument (guitar, ukulele ), the instrument type (Stratocaster, Telecaster) or instrument brand (Gibson, Hyundai).
  • the instrument data comprises more detailed data on the instrument, such as information on strings or pickups.
  • the user's music preference data 716 may comprise at least of the following: genre characterization (blues, rock, dance music), playing style characterization (picking), lead player or accompanying player.
  • the user's music preference data may comprise a music genre, a music group and/or a musician, for example.
  • the music evaluation data may comprise assessment of the user by other users. For example, if the user's audio tracks were published by the server system, other users or audience may evaluate the user.
  • the user's contact information data may comprise an email address, street address and/or telephone number.
  • the audio track database 800 comprises at least one audio track record 802.
  • the audio track record 802 comprises an audio track identification 804.
  • the audio track record 802 comprises instrument data 810 of the audio track.
  • the audio track record 802 comprises track evaluation data 812.
  • the track evaluation data 812 may be based on predefined scales, such as a scale between poor and excellent, or it can be in textual form.
  • the predetermined scaling refers to at least one of the following capability and suitability categories: speed, accuracy, sound, timing, improvisation skills, rhythmic playing, band playing, playing dynamics.
  • the audio track record 802 comprises access right ⁇ dafa ⁇ 8T2rThe access righf3 ⁇ 4ata ⁇ 81213efine access rig ⁇ oHhe user'slo an audio track.
  • the access rights may be selected from a group comprising: no access right, right to listen, right to copy, rights to delete, right to manipulate, or all rights.
  • the audio track record 802 comprises an audio track data 816.
  • the adaptive content database 900 is exemplified.
  • the adaptive content database 900 comprises at least one adaptive content record 902-916.
  • the adaptive content record 902 comprises adaptive content data 91 .
  • the adaptive content data 404 comprises graphical content data.
  • the adaptive content data 404 comprises a web template, such as an HTML5 template.
  • the adaptive content data 404 comprises a video file or a link to a video file.
  • the adaptive content record 902 comprises a content identification 904 to separate adaptive content records 902 from each other.
  • the adaptive content record 902 comprises demographics data 906.
  • the demographics data 906 may characterize a virtual person to whom, when provided with the user interface 104, the adaptive content would be relevant.
  • the demographics data 906 comprises user's age, gender, nationality, cultural background, music experience.
  • the adaptive content record 902 comprises location data 908.
  • the location data 908 may define a territory or area, in which the adaptive content data 914 would be relevant when provided with the user interface 104.
  • the adaptive content record 902 comprise instrument data 910.
  • the instrument data 910 may characterize the relevance of the adaptive content data 914 to a certain instrument, instrument type or instrument context.
  • the adaptive content record 902 comprises content- preference data- 9T2 ⁇ The content preference data ⁇ 9T2 may characterize the association between the adaptive context data 914 and music preferences.
  • the server system comprises coded instructions to display a data input template on the web browser of the client computer 112.
  • the data input template comprises input sections for an adaptive content record 902.
  • the data inputted into the input sections is uploaded to the adaptive content database 900 in the form of adaptive content record 902.
  • the data input template comprises input sections for user record 702.
  • the data inputted into the input sections is uploaded to the user database 700 in the form of user record 702.
  • the server system 112 comprises coded instructions to compare the user record 702 of the user with a plurality of content records 902 and to select a content record 902 accordingly.
  • the server system 112 may have a coded algorithm, which performs a comparison between at least one of the following
  • the comparison results in a selection of a content record 902 which best matches the user record 702.
  • the content data 914 of the selected content record 902 may be sent to the client computer 102 and displayed to the user.
  • the content data 914 may comprise commercial messages, for example.
  • the content record comprises an advertisement relating to a match making between a musician and a band.
  • the server system comprises coded instructions to display a data input template on the web browser of the client computer 112.
  • the data input template comprises input sections for an adaptive content record 902.
  • the data inputted into the input sections is uploaded to the adaptive content database 900 in the form of adaptive content record 902.
  • the data input template comprises input sections for user record 702.
  • the data inputted into the input sections is uploaded to the user database 700 in the form of user record 702.
  • an example of an audio mixing console 1000 displayed on the user interface 104 of the client computer 102 is shown.
  • the audio mixing console 1000 is implemented with the web browser software 200 and the coded instruction downloaded from the server system 112.
  • the audio mixing console 1000 shows a plurality of audio player interfaces 1002 to 1004 and an audio recorder interface 1006. Furthermore, the audio mixing console shows an adaptive content interface 1008.
  • Figures 1 to 10 describe a system and software which enable the user to download audio tracks from the server system 112 to the client computer 102 and play the audio tracks with the browser software 200. Furthermore, the system and software enable the user to record his/her audio tracks with the browser software and upload the audio tracks to the server system 112. As the browser software comprises both audio player and recorder, no other software modules expect for the browser software 200 are required to be installed.
  • the independence of the system platform provided that the browser software is available to that specific system, and the independence of specific client software, the invention provides with a great number of degrees of freedom to the user.
  • the user may listen to his projects and tracks anywhere as long as the public network is available.
  • the invention provides with a musician match making tool enabling introducing audio backing tracks on which candidate musicians can perform their samples with the client computer.
  • both backing track and the candidate's playing sample can be played synchronously.
  • the authorization data 706 and/or the project data 708 define the user rights to a specific user group, such as those having project in common, to listen to project including both the backing track and candidate's playing sample playing. In this manner, other band member can review the candidate's skills and comment them.
  • the invention enables any kind of musician interaction involving audio samples.
  • the server system 112 is used for choir try-outs. In an embodiment, the server system 112 is user for music pedagogy. It is common practice to provide a music student with a music book with backing tracks. The server system enables the teachers to post music homework to the student, and the student can provide a proof of having the homework done. The teacher can have user access to the student's recording and can follow the student's progress and provide him/her with instructions.
  • circuitry refers to all of the following: (a) hardware-only circuit implementations such as implementations in only analog and/or digital circuitry; (b) combinations of circuits and software and/or firmware, such as (as applicable): (i) a combination of processor(s) or processor cores; or (ii) portions of processor(s)/software including digital signal processor(s), software, and at least one memory that work together to cause an apparatus to perform specific functions; and (c) circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present.
  • circuitry would also cover an implementation of merely a processor (or multiple processors) or portion of a processor, e.g. one core of a multi-core processor, and its (or their) accompanying software and/or firmware.
  • circuitry would also cover, for example and if applicable to the particular element, a baseband integrated circuit, an application-specific integrated circuit (ASIC), and/or a field-programmable grid array (FPGA) circuit for the apparatus according to an embodiment of the invention.
  • ASIC application-specific integrated circuit
  • FPGA field-programmable grid array
  • the processes or methods described in Figures 2 to 10 may also be carried out in the form of a computer process defined by a computer program.
  • the computer program may be in source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, which may be any entity or device capable of carrying the program.
  • Such carriers include transitory and/or non-transitory computer media, e.g. a record medium, computer memory, read-only memory, electrical carrier signal, telecommunications signal, and software distribution package.
  • a record medium e.g. a record medium, computer memory, read-only memory, electrical carrier signal, telecommunications signal, and software distribution package.
  • the present invention is applicable to training processing systems defined above but also to other suitable systems. Any development of the systems may require extra changes to the described embodiments. Therefore, all words and expressions should be interpreted broadly and they are intended to illustrate, not to restrict, the embodiment. It will be obvious to a person skilled in the art that, as technology advances, the inventive concept can be implemented in various ways. The invention and its embodiments are not limited to the examples described above but may vary within the scope of the claims.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Telephonic Communication Services (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Abstract

The invention relates to a network server system providing coded instructions to a client computer over a public data network. The coded instructions cause the client computer to: decode a first audio track with an audio decoder into a first audio data stream to be played back in the client computer and simultaneously encode a second audio data stream into a second audio track with an audio encoder; upload the second audio track to the network server system. The network server system enables musicians and bands to find each other based on music recording capability over a public network.

Description

Network Server
Field
The invention relates to a network server and a web service associated with musician activities. Especially, the invention relates to social activities between musicians.
Background
Music as a hobby is often associated with social aspects, such as playing together and forming social connections between musicians. In some music genre societies, such as rock music societies, social connections are very strong, thus making it difficult to outsiders get into the community. This case is especially relevant to a person seeking for a band without knowing people from the musician society.
Setting up a band involves a plenty of personal parameters that shall match between the band members in order to obtain a successful collaboration and understanding in the band. Furthermore, and important factor involves the playing skills and playing style.
There are public forums, such as web services, where musicians and bands are able to post advertisements on vacant musicians or vacancies in bands. The musicians and band can exchange their contact information and in the case of mutual agreement, organize a test playing session where the match between the musicians is tested. However, in many cases, it may take several try-out sessions and a plenty of time to find the best match between the band and the candidate musician. In most of the try-out sessions, the result is negative: the band does not accept the candidate musician or the musician does not accept the candidate band. Therefore, it is useful to consider how _te_chnology_would_help_musicians-and-bands-to-avoid-frustration-and-waste-of- time when setting up bands.
Brief description
In an aspect the invention relates to a network server system comprising: at least one processor; and at least one memory including a computer program code, wherein the at least one memory and the computer program code are configured, with the at least one processor, to cause the network server system to transfer coded instructions to a client computer over a public data network, wherein the coded instructions cause the client computer to: decode a first audio track with an audio decoder into a first audio data stream to be played back in the client computer and simultaneously encode a second audio data stream into a second audio track with an audio encoder; upload the second audio track to the network server system; and associate the second audio track with the first audio track and a user identification; wherein the audio encoder and the audio decoder are integrated into an installation package of a web browser software executable in the client computer.
In another aspect, the invention relates to computer program product embodied on a distribution medium readable by network server system comprising program instructions for the network server system which, when loaded into a client computer, cause the client computer to decode a first audio track with an audio decoder into a first audio data stream to be played back in the client computer and simultaneously encode a second audio data stream into a second audio track with an audio encoder; upload the second audio track to the network server system; and associate the second audio track with the first audio track and a user identification; wherein the audio encoder and the audio decoder are integrated into an installation package of a web browser software executable in the client computer.
In an embodiment, the coded instructions cause the client computer to download the second audio track to the client computer from the network server system; decode the second audio track simultaneously with the first audio track; and simultaneously encode a third audio data stream into a third audio track with the audio encoder.
In an embodiment, the at least one memory and the computer program code cause the network server system to associate the second audio track with at least one of the following data: music instrument data, music project data, virtual band data, evaluation data, location data, rating data.
In an embodiment, the at least one memory and the computer program code are configured to cause the network server system to associate the user identification with at least the following data: user music preference data, user location data, virtual band data, evaluation data, rating data.
In an embodiment, the network server system further comprises adaptive content database comprising a plurality of content records, each content record comprising at least adaptive content data and content preference data associated with the adaptive content data; and wherein the at least one memory and the computer program code are configured to cause the network server system to select adaptive content data based on a comparison between the content preference data and the user music preference data.
In an embodiment, the coded instructions cause the client computer to upload the second audio track to the network server system and simultaneously display the adaptive content data to the user.
In an embodiment, the coded instructions further cause the client computer to associate the second audio track with user authorization data for a defining at least one of audio modification rights, file management rights.
In an embodiment, the coded instructions further cause the client computer to decode a reference rhythm audio track with the audio decoder into a reference rhythm audio data stream to be played back in the client computer and simultaneously encode a test audio data stream into a test audio track with the audio decoder; upload the test audio track to the network server system; and to determine a delay parameter characterizing system latency by applying the reference rhythm audio track and the test audio track.
In an embodiment, the browser software is Google Chrome browser. List of drawings
Embodiments of the present invention are described below, by way of example only, with reference to the accompanying drawings, in which
Figure 1 illustrates a system according to an embodiment of the invention;
Figure 2 shows a structure of browser software;
Figure 3 shows an embodiment of a server system;
Figure 4-shows-an embodiment of-a-storage-server;
Figure 5 shown an embodiment of a web server;
Figure 6 illustrates an example of an application server; Figure 7 shown an example of a user database;
Figure 8 illustrates an embodiment of a track database;
Figure 9 shows an example of an adaptive content database; and
Figure 10 illustrates an example of user interface. Description of embodiments
The following embodiments are exemplary. Although the specification may refer to "an", "one", or "some" embodiment(s) in several locations, this does not necessarily mean that each such reference is to the same embodiment/s), or that the feature only applies to a single embodiment. Single features of different embodiments may also be combined to provide other embodiments. Furthermore, words "comprising" and "including" should be understood as not limiting the described embodiments to consist of only those features that have been mentioned and such embodiments may contain also features/structures that have not been specifically mentioned.
With reference to Figure 1 , the architecture of the system 100 according to an embodiment is illustrated.
The system comprises a client computer 102, a server system 112 and a public network 20.
The client computer 102 comprises computer hardware, such as processor, memory and required electronic circuitry and software. Especially, the client computer 102 comprises communication hardware and software module 110 enabling the client computer 102 to bi-directionally communicate with the public network 120. The communication hardware and software module 10 may implement a wired or wireless network interface, such as LAN (Local Access Network), WLAN (Wireless LAN) or a telecommunication interface, such as one based on 3G, 4G or more advanced technology, to the public network 120. The client computer 102 may also be referred to as a remote computer from the server system 112 perspective. The client computer 102 is a remote computer from the server system 112 perspective whenever the public network 120 connects the two. The physical distance may be anything as long as the client computer 102 and the server system 112 are connected y the public network 120.
In an embodiment, the client computer 102 further comprises a user interface module 104 for enabling the user to interact with the client computer 102. In an embodiment, the user interface module 102 comprises a visual interaction component, such as a screen, display or a touch screen. In an embodiment, the user interface module 104 further includes input device, such as a keyboard or touch screen input functionality, for enabling the user to provide with user input to the client computer 102. In an embodiment, the client computer 102 further comprises an audio hardware and software input/output module 108. The audio hardware and software input/output module 108 provides the user with capability to input audio signal into the client computer 102 and to transform the audio signal into audio data. The audio hardware and software input/output module 108 further provides the user with capability to transform audio data into audible form.
In an embodiment, the audio hardware and software input/output module 108 comprises an audio processing circuitry including analog-to-digital converters for transforming analog audio signal into digital audio signal. In an embodiment, the audio processing circuitry comprises digital-to-analog converters for converting digital audio data into analog audio signal.
In an embodiment, the audio processing circuitry comprises audio signal amplifying circuits.
In an embodiment, the audio processing circuitry comprises audio manipulation modules, such as of audio channels mixers and audio effects circuits.
In an embodiment, the client computer 102 is a personal computer. In an embodiment, the client computer 102 is a tablet computer. In an embodiment, the client computer 102 is a mobile computer. In an embodiment, the client computer 102 is an Internet television set.
In an embodiment, the client computer 102 is a laptop computer. The audio hardware and software input/output module 108 comprises two basic signal processing chains. One signal processing chain is for transforming a digital audio stream into analogue signal and further into amplified signal to be further amplified or to be taken to audio playback device, such as loudspeakers or headphones. Another signal processing chain implements an audio input functionality where a physical audio signal is transformed into a digital data stream for further processing in the audio hardware and software input/output module 108 and/or in the processor of the client computer 102. Both signal processing chains may include a plurality of audio sub-channels, such as stereo channels.
The browser 106 is a software application which executed in a digital processor, retrieves and presents information resources on the World Wide Web. The server system 112 comprises hardware resources, such as a memory 114, a digital processor 110, a communication circuitry 118, and software stored by the memory 1 4 and executed in the processor 116 and communication circuitry 118. The server system 112 may comprise a single computer unit or a plurality of computer units connected to each other by local buses, local network or the public network 120. The server system 112 responds with a response 124 to requests 126 arising from at least one client computer 102. The requests 126 are generated by the client computer 102 and transferred to the server system 112 by the public network 120. The response 124 is generated by the server system 112 and transferred to the client computer 102 by the public network 120.
With reference to Figure 2, an example of the architecture of browser software 200 is illustrated.
A browser software 200 comprises coded instructions which, when downloaded to the client computer 102, stored in the memory of the client computer 102 and executed in the digital processor of the client computer 102, execute a computer process in the client computer 02.
The browser software 200 comprises software modules which are described by the technical function of each module when loaded from the memory and executed in the processor of the client computer 102. Modules implementing standard browser functionalities, such as those relating to retrieving data from the server system 112 and presenting information on the user interface 104 are not described.
The browser software 200 comprises an audio recorder module 202 and an audio player module 204.
The audio recorder module 202 and the audio player module 204 are integrated into the installation package of the browser software 200.
The_integration~~of~the~ aOdio~player module- 20 and~~the audio recorder module 202 into the installation package of the browser software has important technical benefits. The technical benefits comprise independence of a third party technology providers which may alternatively provide recording modules and which may have deficiencies when coupled with the browser software. Another benefit arises from architectural structure of the browser software 200, into which the audio player module 204 and the audio recorder module 202 belong seamlessly. An installation package of the browser software 200 is a computer file, which is transferred to the client computer in one data file or in several data files. The installation package comprises a setup command which defines a target location for the executable browser software data files.
In an embodiment, the installation package comprises a decompression command to decompress installation files from the installation package.
In an embodiment, the installation package comprises retrieve command to retrieve installation files from a remote location.
In an embodiment, the installation package comprises an installation command to install installation data to the client to the computer system.
In an embodiment, the audio recorder module 202 comprises an audio encoder for encoding an input audio data stream 210 into output audio track data 212.
In an embodiment, the audio player module 204 comprises an audio decoder module for decoding input audio track data 214 into an output audio data stream 216.
In an embodiment, the browser software 200 further comprises a controller module 206.
In an embodiment, the browser software 200 comprises an adaptive data content (ADC) engine 208.
The audio player module 204 receives the input audio track data 214 and decodes the input audio track data 214 with the audio decoder module into the output audio data stream 216. The output audio data stream 216 is inputted into the audio hardware and software input/output module 108. The audio hardware and software input/output module 108 form an audible waveform from the output audio data stream 212 to be fed to various amplifying stages and~finally~to~the audio user interface, such as loudspeakers or earphones.
The audio recorder module 202 receives the input audio data stream 210 from the audio hardware and software input/output module 108 and encodes the input audio data stream 210 with the audio encoder into an output audio track data 212.
In an embodiment, the audio recorder module 202 encodes the input audio stream into a standard audio format. In an embodiment, the standard audio format is an MP3 (MPEG Audio Layer III) format.
In an embodiment, the standard audio format is the OGG (Ogg Vorbis) format.
In an embodiment, the standard audio format is WAV (wave form audio) format.
The controller module 206 generates recorder commands 218 for the audio recorder module 202 and feeds the recorder commands 218 to the audio recorder module 202.
The controller module 206 generates player commands 220 for the audio player module 204 and feeds the player commands 220 to the audio player module 204.
The controller module 206 receives coded instructions 228 and system commands 230 for generating the player commands 220 and recorder commands 218. The coded instructions 228 further define the interaction between user interface 104 and the browser software.
The coded instructions 228 are downloaded from the server system
112 and may be expressed in a markup language, such as HTML5 markup language and Java scripts. The coded instructions 228 cause a computer process to be executed in the client computer on the basis of the system commands 230.
The system commands 230 are generated by the user interface 104 or by the computer system of the client computer 102.
In an embodiment, the coded instructions 228 cause selecting an audio input audio track file comprising the input audio track data 214 for the audio player module 204.
In an embodiment, the input audio track data 214 comprises a baeking-track-for-a band's try-out-candidates:
In an embodiment, the input audio track data 214 comprises audio data from a music streaming service such Youtube®.
in an embodiment, the coded instructions 228 cause an audio track data 214 to be played by the audio player module 204. This enables the user to play back an audio track.
In an embodiment, the coded instructions 228 cause a plurality of input audio track data tracks to be played simultaneously by a plurality of audio player modules 204. This enables the user to play back several audio tracks simultaneously. Each track may comprise a recording of an instrument, and the outcome is a compilation of the audio tracks.
In an embodiment, the coded instructions 228 cause establishing a new audio output audio track file comprising the output audio track data 212 to
K hp an^O^orl frpp the inm rt oi iH!n Hqta ctropm Λ ( Thic onahloc th^ i ic<=r tr record his/her own audio track. In an embodiment, the output audio track data 212 comprises a recording of an instrument or singing.
In an embodiment, the coded instructions 228 cause input audio track data 214 to be played and an input audio data stream 210 to be encoded0 into an output audio track data 212 simultaneously. The input audio track data 214 may comprise a backing track or several backing tracks, such as a band recording with one missing instrument. The input audio data stream 210 may include the missing instrument to be played on the top of the backing track. As a result, there are audio tracks, each comprising an instrument. The tracks can5 later be player simultaneously or separately.
In an embodiment, the coded instructions 228 cause the client computer 102 to upload recorded output audio track data 212 to the server system 112. The output audio track data 212 may be stored into an audio track database 800 in the form of audio track 816.
0 In an embodiment, the coded instructions 228 cause the client computer to download an audio track 816 to the client computer 102 to be played on the audio player module 204.
In an embodiment, the coded instructions 228 cause playing a reference rhythm pattern with the audio player module 204. The reference5 rhythm pattern may be a metronome. The user may record a new audio track by using the reference rhythm pattern.
In an embodiment, the coded instructions 228 cause the client computer 102 to play a reference rhythm from a reference rhythm audio track. In an embodiment, the reference audio track data are comprised by the server0 system 112 and downloaded automatically from the server system 112 to the audio player module 204. The coded instructions 228 further comprise recording a test audio track that has a common time stamp with the reference rhythm audio track. The coded instructions 228 further comprise playing the reference rhythm audio track and test audio track based on the common time5 stamp and to adjust a time delay parameter between the reference rhythm audio track and the test audio track. The time delay parameter may be used to compensate for latency occurring in the audio hardware and software input/output module 108. In an embodiment, the user provides a command to adjust the time delay parameter based on the simultaneous play back of the reference rhythm audio track and the test audio track. In an embodiment, the test audio track is uploaded to the server system 112. and the server system runs a computer process to make the reference rhythm audio track and the test audio track to correlate with each other. A best correlation provides with an optimum time delay parameter. The time delay parameter may be stored to the user's user account in the server system 112 and be applied on audio tracks when player with the audio player module 204.
In an embodiment, the coded instructions 228 cause playing a reference frequency with the audio player module 204. The reference frequency may be a tuning voice for tuning an instrument.
The adaptive content engine 208 is a module which receives input adaptive content data 226 from the server system 112 and outputs output adaptive content data 224 to be displayed on the user interface 104 of the client computer 102 according to commands 222 provided by the controller 206.
With reference to Figure 3, the server system 112 may comprise a server arrangement comprising a web server 302, an application server 304, a user database server 306 and a storage server 308.
With reference to Figure 4, an embodiment of the storage server 308 is illustrated.
In an embodiment, the storage server 308 comprises audio database 402. The audio database 402 comprises an audio track database.
In an embodiment, the storage server 308 comprises adaptive content database 404.
WitlTfefeTeTic^to FigT^ web server 302 is illustrated.
The web server 302 comprises a browser controller 502 and an application server controller 504.
In an embodiment, the browser controller 502 comprises coded instructions which, when downloaded into the memory of the client computer
102 and executed in the digital processor of the client computer 102, cause the browser software 200 to provide functionality described above. Especially, the coded instruction relate to the audio encoding and decoding functionality, synchronization of audio track data and audio track data download and upload between the client computer 102 and the server system 112. The coded instructions 506 may be expressed in a markup language, such as HTML5 markup language and Java scripts.
In an embodiment, the application server controller 504 transmits application server requests to the application server 304 and receives application server responses from the application server 304.
With reference to Figure 6, an example of an application server 304 is illustrated. In an embodiment, the application server 304 comprises coded instructions, which when executed in the digital processor of the application server 304, cause the application server 304 to execute an application server process. The application server process may be initiated, requested and/or controlled by the application server controller 504.
In an embodiment, the application server 304 comprises a data access controller 602.
In an embodiment, the data access controller 602 causes retrieving user data from the user database server 306 and transferring the user data to the web server 302 and/or to the client computer 102.
In an embodiment, the data access controller 602 causes retrieving user data from the web server 302 and/or the client computer 102 and transferring the user data to the user database server 306.
In an embodiment, the data access controller 602 causes retrieving audio data from the storage server 308 and transferring the audio data to the web server 302 and/or to the client computer 102.
In an embodiment, the data access controller 602 causes retrieving audio data from the web server 302 or the client computer 102 and transferring the audio data to the storage server 308.
Figure imgf000012_0001
server 304, the user database server 306 and the storage server 308 may change the requests 124 and responses 126 with the client computer 102.
With reference to Figure 7, an example of a user database 700 is illustrated. In an embodiment, the user database 700 comprises user records 702 to 722.
The user record 702 comprises user identification data 704 and at least one of the following data associated with the user identification data 704:
- User authentication data 706 - User's music project data 708
- User demographics data 710
- User's location data 712
- User's music instrument data 714
- User's music preference data 716
- User's evaluation data 718
- User's rating data 720
- User's contact information data
The user identification data 704 comprises data for authentication the user and may comprise user name, user identification number or user authentication data, such as email address or telephone number.
The user authentication data 706 may comprise user password and usernames.
The user's project data 708 comprises data that associates the user with the relevant audio data stored in the server system 112.
In an embodiment, the user project data comprises user's virtual band data. A virtual band is a collection of user's that have been accepted to the band by the super user of the band. A super user of a band is a user that has created a record for a virtual band.
In an embodiment, the user's project data comprises data on the user's audio project. An audio project is a combination of audio tracks.
In an embodiment, the user's project data comprises a user-specific audio control file. The user specific audio control file comprises a list of audio tracks to be uploaded to the client computer 102 and played back simultaneously. Furthermore, the audio control file may comprise audio control settings, such as volume setting and audio manipulation data the audio tracks in an audio project. The audio manipulation data controls audio effects, such asndelay effects, revertreffects, compressor effects and equalization effects?
The user demographics data 710 comprises user's age, gender, nationality, cultural background, and music experience.
The user's location data may comprise user's geographical location. In an embodiment, the user's geographical location may user's as country, city and street address. In an embodiment, the user's location data comprises satellite position data or Internet address data (IP address).
The user's music instrument data comprises the instrument (guitar, ukulele ), the instrument type (Stratocaster, Telecaster) or instrument brand (Gibson, Yamaha). In an embodiment, the instrument data comprises more detailed data on the instrument, such as information on strings or pickups.
The user's music preference data 716 may comprise at least of the following: genre characterization (blues, rock, dance music), playing style characterization (picking), lead player or accompanying player.
The user's music preference data may comprise a music genre, a music group and/or a musician, for example.
The music evaluation data may comprise assessment of the user by other users. For example, if the user's audio tracks were published by the server system, other users or audience may evaluate the user.
The user's contact information data may comprise an email address, street address and/or telephone number.
With reference to Figure 8, an example of the audio track database 800 is illustrated. The audio track database 800 comprises at least one audio track record 802.
In an embodiment, the audio track record 802 comprises an audio track identification 804.
In an embodiment, the audio track record 802 comprises instrument data 810 of the audio track.
In an embodiment, the audio track record 802 comprises track evaluation data 812. The track evaluation data 812 may be based on predefined scales, such as a scale between poor and excellent, or it can be in textual form. In an embodiment, the predetermined scaling refers to at least one of the following capability and suitability categories: speed, accuracy, sound, timing, improvisation skills, rhythmic playing, band playing, playing dynamics.
In an embodiment, the audio track record 802 comprises access right~dafa~8T2rThe access righf¾ata~81213efine access rig ^oHhe user'slo an audio track. The access rights may be selected from a group comprising: no access right, right to listen, right to copy, rights to delete, right to manipulate, or all rights.
In an embodiment, the audio track record 802 comprises an audio track data 816.
With reference to Figure 9, the adaptive content database 900 is exemplified. The adaptive content database 900 comprises at least one adaptive content record 902-916.
In an embodiment, the adaptive content record 902 comprises adaptive content data 91 .
In an embodiment, the adaptive content data 404 comprises graphical content data.
In an embodiment, the adaptive content data 404 comprises a web template, such as an HTML5 template.
In an embodiment, the adaptive content data 404 comprises a video file or a link to a video file.
In an embodiment, the adaptive content record 902 comprises a content identification 904 to separate adaptive content records 902 from each other.
In an embodiment, the adaptive content record 902 comprises demographics data 906. The demographics data 906 may characterize a virtual person to whom, when provided with the user interface 104, the adaptive content would be relevant. The demographics data 906 comprises user's age, gender, nationality, cultural background, music experience.
In an embodiment, the adaptive content record 902 comprises location data 908. The location data 908 may define a territory or area, in which the adaptive content data 914 would be relevant when provided with the user interface 104.
In an embodiment, the adaptive content record 902 comprise instrument data 910. The instrument data 910 may characterize the relevance of the adaptive content data 914 to a certain instrument, instrument type or instrument context.
In an embodiment, the adaptive content record 902 comprises content- preference data- 9T2^The content preference data~9T2 may characterize the association between the adaptive context data 914 and music preferences.
In an embodiment, the server system comprises coded instructions to display a data input template on the web browser of the client computer 112.
In an embodiment, the data input template comprises input sections for an adaptive content record 902. The data inputted into the input sections is uploaded to the adaptive content database 900 in the form of adaptive content record 902. In an embodiment, the data input template comprises input sections for user record 702. The data inputted into the input sections is uploaded to the user database 700 in the form of user record 702.
In an embodiment, the server system 112 comprises coded instructions to compare the user record 702 of the user with a plurality of content records 902 and to select a content record 902 accordingly. The server system 112 may have a coded algorithm, which performs a comparison between at least one of the following
a) the user demographics data 710 and the demographics data 906 of the adaptive content records 902-916;
b) the user's location data 712 and the location data 908 of the adaptive content records 902-916;
c) the user's music instrument data 714 and the instrument data 910 of the content records 902-916;
d) the user's music preference data 716 and the content preference data 9912 of the adaptive content records 902-916. In an embodiment, the comparison results in a selection of a content record 902 which best matches the user record 702. The content data 914 of the selected content record 902 may be sent to the client computer 102 and displayed to the user. The content data 914 may comprise commercial messages, for example. In an embodiment, the content record comprises an advertisement relating to a match making between a musician and a band.
In an embodiment, the server system comprises coded instructions to display a data input template on the web browser of the client computer 112.
In an embodiment, the data input template comprises input sections for an adaptive content record 902. The data inputted into the input sections is uploaded to the adaptive content database 900 in the form of adaptive content record 902.
In an embodiment, the data input template comprises input sections for user record 702. The data inputted into the input sections is uploaded to the user database 700 in the form of user record 702.
With reference to Figure 10, an example of an audio mixing console 1000 displayed on the user interface 104 of the client computer 102 is shown. The audio mixing console 1000 is implemented with the web browser software 200 and the coded instruction downloaded from the server system 112. The audio mixing console 1000 shows a plurality of audio player interfaces 1002 to 1004 and an audio recorder interface 1006. Furthermore, the audio mixing console shows an adaptive content interface 1008.
Figures 1 to 10 describe a system and software which enable the user to download audio tracks from the server system 112 to the client computer 102 and play the audio tracks with the browser software 200. Furthermore, the system and software enable the user to record his/her audio tracks with the browser software and upload the audio tracks to the server system 112. As the browser software comprises both audio player and recorder, no other software modules expect for the browser software 200 are required to be installed.
It shall be noted that the independence of the system platform, provided that the browser software is available to that specific system, and the independence of specific client software, the invention provides with a great number of degrees of freedom to the user. The user may listen to his projects and tracks anywhere as long as the public network is available.
From the musicians' and bands' point of view, the invention provides with a musician match making tool enabling introducing audio backing tracks on which candidate musicians can perform their samples with the client computer. As the recording is uploaded to the server system 112, both backing track and the candidate's playing sample can be played synchronously. In an embodiment, the authorization data 706 and/or the project data 708 define the user rights to a specific user group, such as those having project in common, to listen to project including both the backing track and candidate's playing sample playing. In this manner, other band member can review the candidate's skills and comment them.
The invention enables any kind of musician interaction involving audio samples.
In an embodiment, the server system 112 is used for choir try-outs. In an embodiment, the server system 112 is user for music pedagogy. It is common practice to provide a music student with a music book with backing tracks. The server system enables the teachers to post music homework to the student, and the student can provide a proof of having the homework done. The teacher can have user access to the student's recording and can follow the student's progress and provide him/her with instructions. As used in this application, the term 'circuitry' refers to all of the following: (a) hardware-only circuit implementations such as implementations in only analog and/or digital circuitry; (b) combinations of circuits and software and/or firmware, such as (as applicable): (i) a combination of processor(s) or processor cores; or (ii) portions of processor(s)/software including digital signal processor(s), software, and at least one memory that work together to cause an apparatus to perform specific functions; and (c) circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present.
This definition of 'circuitry' applies to all uses of this term in this application. As a further example, as used in this application, the term "circuitry" would also cover an implementation of merely a processor (or multiple processors) or portion of a processor, e.g. one core of a multi-core processor, and its (or their) accompanying software and/or firmware. The term "circuitry" would also cover, for example and if applicable to the particular element, a baseband integrated circuit, an application-specific integrated circuit (ASIC), and/or a field-programmable grid array (FPGA) circuit for the apparatus according to an embodiment of the invention.
The processes or methods described in Figures 2 to 10 may also be carried out in the form of a computer process defined by a computer program. The computer program may be in source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, which may be any entity or device capable of carrying the program. Such carriers include transitory and/or non-transitory computer media, e.g. a record medium, computer memory, read-only memory, electrical carrier signal, telecommunications signal, and software distribution package. Depending on the processing-pOwer neededrthe corryputef
single electronic digital processing unit or it may be distributed amongst a number of processing units.
The present invention is applicable to training processing systems defined above but also to other suitable systems. Any development of the systems may require extra changes to the described embodiments. Therefore, all words and expressions should be interpreted broadly and they are intended to illustrate, not to restrict, the embodiment. It will be obvious to a person skilled in the art that, as technology advances, the inventive concept can be implemented in various ways. The invention and its embodiments are not limited to the examples described above but may vary within the scope of the claims.

Claims

Claims
1. A network server system comprising:
at least one processor; and
at least one memory including a computer program code, wherein the at least one memory and the computer program code are configured, with the at least one processor, to cause the network server system (112) to transfer coded instructions to a client computer (102) over a public data network (120), wherein the coded instructions cause the client computer (102) to decode a first audio track (214) with an audio decoder into a first audio data stream (216) to be played back in the client computer (102) characterized in that the coded instructions further cause the client computer (102) to:
simultaneously encode a second audio data stream (210) into a second audio track (212) with an audio encoder;
upload the second audio track (212) to the network server system (112); and
associate the second audio track (212) with the first audio track (210) and a user identification (704);
wherein the audio encoder and the audio decoder are integrated into an installation package of a web browser software (200) executable in the client computer (102).
2. A network server system of claim 1 , wherein the coded instructions cause the client computer (102) to
download the second audio track (212) to the client computer (102) from the network server system (1 12);
decode the second audio track (212) simultaneously with the first audio track-(2-10)÷ and-simultaneously
encode a third audio data stream into a third audio track with the audio encoder.
3. A network server system of claim 1 , wherein the at least one memory and the computer program code cause the network server system (112) to associate the second audio track (212) with at least one of the following data: music instrument data, music project data, virtual band data, evaluation data, location data, rating data.
4. A network server system of claim 1 , wherein the at least one memory and the computer program code are configured to cause the network server system (112) to associate the user identification (704) with at least the following data: user music preference data (716), user location data (712), virtual band data, evaluation data (718), rating data (720).
5. A network server system of claim 4, further comprising adaptive content database (900) comprising a plurality of content records (902), each content record (902) comprising at least adaptive content data (914) and content preference data (912) associated with the adaptive content data (914); and
wherein the at least one memory and the computer program code are configured to cause the network server system to (112) select adaptive content data (914) based on a comparison between the content preference data and the user music preference data (912).
6. A network server system of claim 5, wherein the coded instructions cause the client computer (102) to upload the second audio track (212) to the network server system and simultaneously display the adaptive content data (914) to the user.
7. A network server system of claim 1 , wherein the coded instructions further cause the client computer (102) to associate the second audio track (212) with user authorization data (812) for a defining at least one of audio modification rights, file management rights.
8. -A-network-seFver-system of-claim- -wherein-the coded instructions further cause the client computer (102) to
decode a reference rhythm audio track with the audio decoder into a reference rhythm audio data stream (216) to be played back in the client computer (102) and simultaneously to encode a test audio data stream (210) into a test audio track (212) with the audio encoder;
to upload the test audio track (212) to the network server system (112); and to determine a delay parameter characterizing system latency by applying the reference rhythm audio track and the test audio track.
9. A network server system of claim 1 , wherein the browser software is Google™ Chrome browser.
10. A computer program product embodied on a distribution medium readable by a computer and comprising program instructions which, when loaded into an apparatus, execute a method according to any preceding claim 1 to 9.
PCT/FI2014/000023 2013-10-03 2014-09-30 Network server for audio tracks WO2015055888A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20130282A FI20130282L (en) 2013-10-03 2013-10-03 Online service related to music
FI20130282 2013-10-03

Publications (1)

Publication Number Publication Date
WO2015055888A1 true WO2015055888A1 (en) 2015-04-23

Family

ID=52827706

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FI2014/000023 WO2015055888A1 (en) 2013-10-03 2014-09-30 Network server for audio tracks

Country Status (2)

Country Link
FI (1) FI20130282L (en)
WO (1) WO2015055888A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897072A (en) * 2017-02-28 2017-06-27 北京三快在线科技有限公司 Traffic engineered call method, device and electronic equipment
CN109933556A (en) * 2019-03-14 2019-06-25 北京字节跳动网络技术有限公司 Method and apparatus for handling information
CN112037609A (en) * 2020-08-26 2020-12-04 钮小静 Music teaching device based on thing networking

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090164034A1 (en) * 2007-12-19 2009-06-25 Dopetracks, Llc Web-based performance collaborations based on multimedia-content sharing
US20100319518A1 (en) * 2009-06-23 2010-12-23 Virendra Kumar Mehta Systems and methods for collaborative music generation
US20100326256A1 (en) * 2009-06-30 2010-12-30 Emmerson Parker M D Methods for Online Collaborative Music Composition
US20110061514A1 (en) * 2009-09-14 2011-03-17 Yamaha Corporation Storage system and storage device of music files
US20120096371A1 (en) * 2010-08-02 2012-04-19 Be In, Inc. System and method for online interactive recording studio

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090164034A1 (en) * 2007-12-19 2009-06-25 Dopetracks, Llc Web-based performance collaborations based on multimedia-content sharing
US20100319518A1 (en) * 2009-06-23 2010-12-23 Virendra Kumar Mehta Systems and methods for collaborative music generation
US20100326256A1 (en) * 2009-06-30 2010-12-30 Emmerson Parker M D Methods for Online Collaborative Music Composition
US20110061514A1 (en) * 2009-09-14 2011-03-17 Yamaha Corporation Storage system and storage device of music files
US20120096371A1 (en) * 2010-08-02 2012-04-19 Be In, Inc. System and method for online interactive recording studio

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897072A (en) * 2017-02-28 2017-06-27 北京三快在线科技有限公司 Traffic engineered call method, device and electronic equipment
CN109933556A (en) * 2019-03-14 2019-06-25 北京字节跳动网络技术有限公司 Method and apparatus for handling information
CN109933556B (en) * 2019-03-14 2021-08-13 北京字节跳动网络技术有限公司 Method and apparatus for processing information
CN112037609A (en) * 2020-08-26 2020-12-04 钮小静 Music teaching device based on thing networking

Also Published As

Publication number Publication date
FI20130282L (en) 2015-04-04

Similar Documents

Publication Publication Date Title
US11282486B2 (en) Real-time integration and review of musical performances streamed from remote locations
US11004434B2 (en) Systems and methods for visual image audio composition based on user input
US9779708B2 (en) Networks of portable electronic devices that collectively generate sound
CN101657816B (en) Web portal for distributed audio file editing
US11003708B2 (en) Interactive music feedback system
CN102867526A (en) Collaborative music creation
US20190130033A1 (en) Acquiring, maintaining, and processing a rich set of metadata for musical projects
US11423077B2 (en) Interactive music feedback system
Prockup et al. Orchestral performance companion: Using real-time audio to score alignment
US20220319350A1 (en) System and method of facilitating live jam session with song recommendation engine to recommend a song to be played
US11483361B2 (en) Audio stem access and delivery solution
WO2015055888A1 (en) Network server for audio tracks
US20190051272A1 (en) Audio editing and publication platform
US20200365047A1 (en) Virtual music lesson system and method of use
Kruge et al. MadPad: A Crowdsourcing System for Audiovisual Sampling.
US20160307551A1 (en) Multifunctional Media Players
Stolfi et al. Open band: A platform for collective sound dialogues
KR102597327B1 (en) System for providing soundtrack marketing platform service
US20240223951A1 (en) Systems, methods and computer program products for selecting audio filters
US20150135045A1 (en) Method and system for creation and/or publication of collaborative multi-source media presentations
Han Digitally Processed Music Creation (DPMC): Music composition approach utilizing music technology
Zlabinger Managing Telematic Pain: Migrating a Student Ensemble Online During COVID
TW202318362A (en) Education system and method of facilitating live jam session with song recommendation engine to recommend a song to be played
JP2023048141A (en) Method, device, and computer program for providing audio engagement service for collecting pronunciations by accent
Pitilli “We all lived in Boston. We made a demo tape and most of those songs ended up on the first Cars album”: An Interview with Greg Hawkes of the Cars

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14854799

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14854799

Country of ref document: EP

Kind code of ref document: A1