Creating digital media based on blockchain data
Patent Information
- Application Number
- DE112023002109
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-05-18
- Filing Date
- 2023-05-09
- Publication Date
- 2025-02-20
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
CROSS-REFERENCE TO A RELATED APPLICATION
[0001] This application claims priority to U.S. Patent Application No. 63 / 364,931, filed May 18, 2022, which is incorporated herein by reference in its entirety. AREA OF DISCLOSURE
[0002] The present disclosure relates to consumer products, and more particularly to methods, systems, products, features, services, and other elements related to media playback or any aspect thereof. BACKGROUND
[0003] The options for accessing and playing digital audio data outdoors were limited until SONOS, Inc. began developing a new type of playback system in 2002. Sonos filed one of its first patent applications in 2003, titled "Method for Synchronizing Audio Playback between Multiple Networked Devices," and began selling its first media playback systems in 2005. The Sonos Wireless Home Sound System allows people to experience music from many sources through one or more networked playback devices. Using a software control application installed on a controller (e.g., smartphone, tablet, computer, voice input device), you can play whatever you want in any room using a networked playback device. Media content (e.g.,Media content (e.g., songs, podcasts, video sound) can be streamed to the playback devices, allowing each room with a playback device to play different media content. Furthermore, rooms can be grouped for synchronous playback of the same media content, and / or the same media content can be played synchronously in all rooms. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The features, aspects, and advantages of the present technology may be better understood from the following description, the appended claims, and the accompanying drawings, as set forth below. Those skilled in the art will understand that the features shown in the drawings are for illustrative purposes only and that variations, including different and / or additional features and arrangements, are possible. Fig. 1A is a partial cross-sectional view of an environment including a media playback system configured in accordance with aspects of the disclosed technology. Fig. Figure 1B is a schematic diagram of the media playback system of Fig. 1A and one or more networks. Fig. 1C is a block diagram of a playback device. Fig. 1D is a block diagram of a playback device. Fig. Figure 1E is a block diagram of a bound playback device. Fig. 1F is a block diagram of a network microphone device. Fig. 1G is a block diagram of a playback device. Fig. Figure 1H is a partial schematic diagram of a control device. Fig. 1I to 1L show schematic representations of the corresponding zones of the media playback system. Fig. Figure 1M shows a schematic representation of the areas of the media playback system. Fig. 2 is a functional block diagram of a system for playing generative media content in accordance with examples of the present technology. Fig. 3 is a functional block diagram for a generative media module in accordance with aspects of the present technology. Fig. Figure 4 is an example of an architecture for storing and retrieving generative media content in accordance with aspects of the present technology. Fig. Figure 5 is a functional block diagram illustrating data exchange in a system for playing generative media content in accordance with aspects of the present technology. Fig. 6 is a schematic diagram of an example of a distributed generative media playback system in accordance with aspects of the present technology. Fig. 7 is a schematic diagram of another example of a distributed generative media playback system in accordance with aspects of the present technology. The Fig. 8 to 13 are flow diagrams of methods for playing generative media content in accordance with aspects of the present technology.
[0005] The drawings are intended to illustrate examples of the present technology, but those skilled in the art will understand that the technology disclosed herein is not limited to the arrangements and / or instrumentation shown in the drawings. DETAILED DESCRIPTION I. Overview
[0006] Generative media content is content that is dynamically synthesized, created, and / or modified based on an algorithm, whether implemented in software or a physical model. The generative media content may change over time based on the algorithm alone or in conjunction with contextual data (e.g., user sensor data, environmental sensor data, event data). In various examples, such generative media content may include generative audio data (e.g., music, ambient sounds, etc.), generative visual images (e.g., lighting, abstract visual designs that dynamically change shape, color, etc.), generative smells, generative tactile outputs (e.g., vibrations, haptic outputs, etc.), or other suitable media content, or combinations thereof.As explained elsewhere, generative media may be generated, at least in part, by an algorithm and / or a non-human system that uses rule-based computation to produce new media content.
[0007] Because generative media content can be dynamically altered in real time, it enables unique user experiences not possible with traditional media playback of pre-recorded content. For example, generative audio data can be continuous and / or dynamic, changing as the inputs (e.g., input parameters related to user input, sensor data, media source data, or other suitable input data) to the algorithm change. In some examples, generative audio can be used to guide a user's mood toward a desired emotional state, with one or more characteristics of the generative audio varying in response to real-time measurements reflecting the user's emotional state.As used in examples of the present technology, the system may provide generative audio signals based on a user's current and / or desired emotional state, based on a user's activity level, based on the number of users present in an environment, or based on other suitable input parameters.
[0008] Another example is that generative audio can be created and / or modified based on one or more input signals, such as a user's location or activity, the number of users present in a room, the time of day, or any other input signal (e.g., from one or more sensors or from user input). For example, if a single user is sitting at their desk in a quiet state, the media playback system can automatically generate generative audio content suitable for focused study or work, whereas if multiple users in a room are in an agitated state with a lot of movement, the same media playback system can automatically generate generative audio content suitable for a social gathering or dance party.In various examples, the audio properties that can be dynamically modified to create generative audio can include the selection of audio samples or clips, the tempo, the volume of the bass / treble / mid-range, spatial filtering of the audio output, or other suitable audio properties. The audio properties can be altered through the use of different tones or sounds, the timing of the tones or sounds, and / or audio samples that exhibit the desired qualities. In some cases, the properties can also be changed by filtering or modulating the playback of content, for example, through equalization, phase, or reverb / delay. During the listening experience, the audio properties of the generative music can be changed based on a number of inputs, such as time of day, geographic location, weather, or various user inputs, such as:determined mood, collective activity level or physiological inputs such as heart rate or similar.
[0009] In some cases, generative media content, such as a soundscape, can be connected to data stored in one or more blockchain databases and / or layers. A non-fungible token (NFT), for example, generally comprises a file stored on a blockchain that is associated with a digital or tangible asset (e.g., a song or album, a piece of visual art, or a literary work). For example, while the NFT may reference a piece of digital art, the NFT itself generally does not contain the digital artwork because the required file sizes can be unwieldy (or too costly) for storage on a blockchain layer. Instead, the NFT may contain metadata (e.g., a URL or other locator) indicating where the digital artwork is located and / or how to access the artwork.In various examples, an NFT or other data stored via a blockchain or other distributed ledger technology can be used to create media content. For example, in some examples, an NFT serves as input to a generative media engine, such that the resulting generative media content has properties that depend, at least in part, on the respective NFT or other blockchain data.
[0010] Some of the examples described here may refer to functions performed by specific actors such as "users," "listeners," and / or other entities, but this is for illustrative purposes only. The claims should not be construed to require action by such an example actor unless explicitly required by the language of the claims themselves.
[0011] In the figures, identical reference numbers generally indicate similar and / or identical elements. To facilitate discussion of a particular element, the most significant digit(s) of a reference number refers to the figure in which that element is first introduced. For example, element 110a will first be described with reference to the Fig. 1A. Many of the details, dimensions, angles, and other features shown in the figures are merely illustrative of particular examples of the disclosed technology. Accordingly, other examples may include different details, dimensions, angles, and features without departing from the spirit or scope of the disclosure. Furthermore, those skilled in the art will recognize that other examples of the various disclosed technologies may be practiced without some of the details described below. II. Suitable operating environment
[0012] Fig. 1A is a partial cross-sectional view of a media playback system 100 distributed in an environment 101 (e.g., a home). The media playback system 100 includes one or more playback devices 110 (individually referred to as playback devices 110a-n), one or more network microphone devices ("NMDs") 120 (individually referred to as NMDs 120a-c), and one or more control devices 130 (individually referred to as control devices 130a and 130b).
[0013] As used herein, the term "playback device" may generally refer to a network device configured to receive, process, and / or output data of a media playback system. For example, a playback device may be a network device that receives and processes audio content. In some examples, a playback device includes one or more transducers or speakers driven by one or more amplifiers. However, in other examples, a playback device includes only one (or neither) of the speakers and the amplifier. For example, a playback device may include one or more amplifiers configured to drive one or more speakers external to the playback device via a corresponding cable.
[0014] Furthermore, as used herein, the term NMD (i.e., a "network microphone device") may generally refer to a network device configured for audio detection. In some examples, an NMD is a standalone device configured primarily for audio detection. In other examples, an NMD is integrated into a playback device (or vice versa).
[0015] The term “control device” may generally refer to a network device configured to perform functions to facilitate user access, control, and / or configuration of the media playback system 100.
[0016] Each of the playback devices 110 is configured to receive audio signals or data from one or more media sources (e.g., one or more remote servers or one or more local devices) and play the received audio signals or data as sound. The one or more NMDs 120 are configured to receive spoken word commands, and the one or more control devices 130 are configured to receive user input. In response to the received spoken word commands and / or user input, the media playback system 100 can play audio signals via one or more of the playback devices 110. In certain examples, the playback devices 110 are configured to initiate playback of media content in response to a trigger.For example, one or more of the playback devices 110 may be configured to play a morning playlist upon detection of an associated trigger condition (e.g., presence of a user in a kitchen, detection of operation of a coffee maker). In some examples, for example, the media playback system 100 is configured to play audio from a first playback device (e.g., playback device 110a) in synchronization with a second playback device (e.g., playback device 110b). Interactions between the playback devices 110, NMDs 120, and / or controllers 130 of the media playback system 100 configured according to the various examples of the disclosure are described below with reference to FIG. Fig. 1B-1H are described in more detail.
[0017] In the example shown by Fig. 1A, the environment 101 comprises a household with multiple rooms, spaces, and / or playback zones, including (clockwise from top left) a master bathroom 101a, a master bedroom 101b, a second bedroom 101c, a family room or den 101d, an office 101e, a living room 101f, a dining room 101g, a kitchen 101h, and an outdoor patio 101i. While certain examples are described below in the context of a home environment, the technologies described herein may be implemented in other types of environments. In some examples, the media playback system 100 may be implemented in one or more commercial environments (e.g., a restaurant, a shopping mall, an airport, a hotel, a retail store, or other business), in one or more vehicles (e.g.,in a sports car, a bus, a car, a ship, a boat, or an aircraft), in multiple environments (e.g., a combination of home and vehicle environments), and / or in any other suitable environment where multi-zone audio may be desirable.
[0018] The media playback system 100 may comprise one or more playback zones, some of which may correspond to the rooms in the environment 101. The media playback system 100 may be configured with one or more playback zones, after which additional zones may be added or removed, for example, to Fig. 1A. Each zone can be given a name corresponding to a different room or space, such as the office 101e, the master bathroom 101a, the master bedroom 101b, the secondary bedroom 101c, the kitchen 101h, the dining room 101g, the living room 101f, and / or the outdoor patio 101i. In some aspects, a single playback zone can encompass multiple rooms or spaces. In certain aspects, a single room or space can encompass multiple playback zones.
[0019] In the example shown by Fig. 1A, the master bathroom 101a, the second bedroom 101c, the office 101e, the living room 101f, the dining room 101g, the kitchen 101h, and the outdoor terrace 101i each include a playback device 110, and the master bedroom 101b and the study 101d include a plurality of playback devices 110. For example, in the master bedroom 101b, the playback devices 110l and 110m may be configured to play audio content synchronously as individual playback devices 110, as a contiguous playback zone, as a consolidated playback device, and / or any combination thereof. Similarly, the playback devices 110h-j in the study room 101d may, for example, be configured to play audio content synchronously as individual ones of the playback devices 110, as one or more linked playback devices, and / or as one or more consolidated playback devices.Further details on connected and consolidated playback devices are provided below in relation to the . Fig. 1B and Fig. 1E described.
[0020] In some aspects, one or more of the playback zones in environment 101 may each play different audio content. For example, a user may be grilling on patio 101i and listening to hip-hop music played by playback device 110c, while another user may be preparing food in kitchen 101h and listening to classical music played by playback device 110b. In another example, one playback zone may play the same audio content in synchronization with another playback zone. For example, the user may be in office 101e and listening to playback device 110f playing the same hip-hop music played by playback device 110c on patio 101i.In some cases, playback devices 110c and 110f play the hip-hop music synchronously, so that the user has the impression that the audio content is playing seamlessly (or at least substantially seamlessly) as they move between different playback zones. Further details regarding the synchronization of audio playback between playback devices and / or zones can be found, for example, in U.S. Patent No. 8,234,395, entitled "System and method for synchronizing operations among a plurality of independently clocked digital data processing devices," which is incorporated herein by reference in its entirety. a. Suitable media playback system
[0021] Fig. 1B is a schematic diagram of the media playback system 100 and a cloud network 102. For clarity, certain devices of the media playback system 100 and the cloud network 102 are shown in Fig. 1B. One or more communication links 103 (hereinafter referred to as "the links 103") communicatively connect the media playback system 100 and the cloud network 102.
[0022] The connections 103 may include, for example, one or more wired networks, one or more wireless networks, one or more wide area networks (WANs), one or more local area networks (LANs), one or more personal area networks (PANs), one or more telecommunications networks (e.g., one or more Global System for Mobiles (GSM) networks, Code Division Multiple Access (CDMA) networks, Long-Term Evolution (LTE) networks, 5G communication networks, and / or other suitable data transmission protocol networks), etc. The cloud network 102 is configured to deliver media content (e.g., audio content, video content, photos, social media content) to the media playback system 100 in response to a request transmitted from the media playback system 100 over the connections 103. In some examples, the cloud network 102 is further configured to deliver data (e.g.,Voice input data) from the media playback system 100 and transmits commands and / or media content to the media playback system 100 accordingly.
[0023] The cloud network 102 includes computing devices 106 (separately referred to as a first computing device 106a, a second computing device 106b, and a third computing device 106c). The computing devices 106 may include individual computers or servers, such as a server for a media streaming service that stores audio and / or other media content, a voice service server, a social media server, a control server for a media playback system, etc. In some examples, one or more of the computing devices 106 are comprised of modules of a single computer or server. In certain examples, one or more of the computing devices 106 include one or more modules, computers, and / or servers. While the cloud network 102 was described above in the context of a single cloud network, in some examples, the cloud network 102 includes a plurality of cloud networks with communicatively coupled computing devices.While the cloud network 102 in . Fig. 1B with three computing devices 106, in some examples, the cloud network 102 also includes fewer (or more than) three computing devices 106.
[0024] Media playback system 100 is configured to receive media content from networks 102 via connections 103. The received media content may include, for example, a Uniform Resource Identifier (URI) and / or a Uniform Resource Locator (URL). In some examples, media playback system 100 may, for example, stream, download, or otherwise obtain data from a URI or URL corresponding to the received media content. A network 104 communicatively couples the connections 103 and at least a portion of the devices (e.g., one or more of the playback devices 110, NMDs 120, and / or control devices 130) of the media playback system 100. The network 104 may be, for example, a wireless network (e.g., a WiFi network, a Bluetooth network, a Z-Wave network, a ZigBee network, and / or another suitable wireless communication protocol network) and / or a wired network (e.g.,a network that includes Ethernet, Universal Serial Bus (USB), and / or other suitable wired communication). As those skilled in the art will appreciate, the term "WiFi" as used herein may refer to various communication protocols, such as Institute of Electrical and Electronics Modules (IEEE) 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 802.11ad, 802.11af, 802.11ah, 802.11ai, 802.11aj, 802.11aq, 802.11ax, 802.11ay, 802.15, etc., transmitting at 2.4 gigahertz (GHz), 5 GHz, and / or another suitable frequency.
[0025] In some examples, network 104 includes a dedicated communications network that media playback system 100 uses to transmit messages between individual devices and / or to transmit media content to and from media content sources (e.g., one or more of computing devices 106). In certain examples, network 104 is configured to be accessible only by devices of media playback system 100, thereby reducing interference and competition with other household devices. However, in other examples, network 104 includes an existing household communications network (e.g., a household Wi-Fi network). In some examples, connections 103 and network 104 include one or more of the same networks. In some aspects, connections 103 and network 104 include, for example, a telecommunications network (e.g., an LTE network, a 5G network).Moreover, in some examples, the media playback system 100 is implemented without the network 104, and devices comprising the media playback system 100 may communicate with each other, for example, via one or more direct connections, PANs, telecommunications networks, and / or other suitable communication links.
[0026] In some examples, audio content sources may be periodically added to or removed from media playback system 100. For example, in some examples, media playback system 100 performs indexing of media items when one or more media content sources are updated, added to, and / or removed from media playback system 100. Media playback system 100 may scan identifiable media items in some or all folders and / or directories accessible to playback devices 110 and create or update a media content database that includes metadata (e.g., title, artist, album, track length) and other related information (e.g., URIs, URLs) for each identifiable media item found. In some examples, the media content database is stored on one or more of playback devices 110, NMDs 120, and / or controller devices 130.
[0027] In dem in Fig. In the example illustrated in Figure 1B, playback devices 110l and 110m form a group 107a. Playback devices 110l and 110m may be positioned in different rooms within a home and may be temporarily or permanently grouped into group 107a based on user input received at control device 130a and / or another control device 130 in media playback system 100. When arranged in group 107a, playback devices 110l and 110m may be configured to synchronously play the same or similar audio content from one or more audio content sources. In certain examples, group 107a includes, for example, a bound zone in which playback devices 110l and 110m comprise left and right audio channels, respectively, of multi-channel audio content, thereby creating or enhancing a stereo effect of the audio content.In some examples, group 107a includes additional playback devices 110. However, in other examples, media playback system 100 omits group 107a and / or other grouped arrangements of playback devices 110.
[0028] The media playback system 100 includes the NMDs 120a and 120d, each including one or more microphones configured to receive speech utterances from a user. Fig. 1B, the NMD 120a is a standalone device, and the NMD 120d is integrated with the playback device 110n. For example, the NMD 120a is configured to receive voice input 121 from a user 123. In some examples, the NMD 120a transmits data associated with the received voice input 121 to a voice assistance service (VAS), which is configured to (i) process the received voice input data and (ii) transmit a corresponding command to the media playback system 100. In some aspects, the computing device 106c includes, for example, one or more modules and / or servers of a VAS (e.g., a VAS operated by one or more of the following vendors: SONOS®, AMAZON®, GOOGLE®, APPLE®, MICROSOFT®). The computing device 106c may receive the speech input data from the NMD 120a via the network 104 and the connections 103.In response to receiving the voice input data, computing device 106c processes the voice input data (e.g., "Play Hey Jude by The Beatles") and determines that the processed voice input includes a command to play a song (e.g., "Hey Jude"). Computing device 106c accordingly transmits commands to media playback system 100 to play "Hey Jude" by The Beatles from a suitable media service (e.g., via one or more of computing devices 106) on one or more of playback devices 110. b. Suitable playback devices
[0029] Fig. 1C is a block diagram of playback device 110a having an input / output 111. Input / output 111 may include an analog I / O 111a (e.g., one or more wires, cables, and / or other suitable communication connections configured to transmit analog signals) and / or a digital I / O 111b (e.g., one or more wires, cables, or other suitable communication connections configured to transmit digital signals). In some examples, analog I / O 111a is an audio line-in input connector, including, for example, an auto-sensing 3.5 mm audio line-in connector. In some examples, digital I / O 111b includes a Sony / Philips Digital Interface Format (S / PDIF) communication interface and / or a cable and / or a Toshiba Link (TOSLINK) cable. In some examples, the digital I / O 111b includes a High-Definition Multimedia Interface (HDMI) interface and / or a cable.In some examples, digital I / O 111b includes one or more wireless communication connections, such as radio frequency (RF), infrared, Wi-Fi, Bluetooth, or another suitable communication protocol. In certain examples, analog I / O 111a and digital I / O 111b include interfaces (e.g., ports, plugs, jacks) configured to accept connectors from cables that carry analog or digital signals, respectively, without necessarily including cables.
[0030] For example, playback device 110a may receive media content (e.g., audio content including music and / or other sounds) from a local audio source 105 via input / output 111 (e.g., a cable, a wire, a PAN, a Bluetooth connection, a wired or wireless ad hoc communications network, and / or another suitable communications connection). Local audio source 105 may include, for example, a mobile device (e.g., a smartphone, a tablet, a laptop) or other suitable audio component (e.g., a television, a desktop computer, an amplifier, a phonograph, a Blu-ray player, a digital media file storage device). In some aspects, local audio source 105 includes local music libraries on a smartphone, a computer, networked storage (NAS), and / or other suitable device configured to store media files.In certain examples, one or more of the playback devices 110, NMDs 120, and / or controllers 130 include the local audio source 105. However, in other examples, the media playback system omits the local audio source 105 entirely. In some examples, the playback device 110a does not include an input / output 111 and receives all audio content over the network 104.
[0031] The playback device 110a further includes electronics 112, a user interface 113 (e.g., one or more buttons, knobs, dials, touch-sensitive surfaces, displays, touchscreens), and one or more transducers 114 (hereinafter referred to as "the transducers 114"). The electronics 112 is configured to receive audio signals from an audio source (e.g., the local audio source 105) via the input / output 111, from one or more of the computing devices 106a-c via the network 104 ( Fig. 1B)), amplifies the received audio signals, and outputs the amplified audio signals for playback via one or more of the transducers 114. In some examples, the playback device 110a optionally includes one or more microphones 115 (e.g., a single microphone, a plurality of microphones, a microphone array) (hereinafter referred to as "the microphones 115"). In certain examples, the playback device 110a with one or more of the optional microphones 115 may operate, for example, as an NMD configured to receive voice input from a user and, accordingly, perform one or more operations based on the received voice input.
[0032] In the example shown by Fig. 1C, the electronics 112 includes one or more processors 112a (hereinafter referred to as "the processors 112a"), memory 112b, software components 112c, a network interface 112d, one or more audio processing components 112g (hereinafter referred to as "the audio components 112g"), one or more audio amplifiers 112h (hereinafter referred to as "the amplifiers 112h"), and power 112i (e.g., one or more power supplies, power cables, outlets, batteries, induction coils, Power over Ethernet (POE) interfaces, and / or other suitable sources of electrical energy). In some examples, the electronics 112 optionally includes one or more other components 112j (e.g., one or more sensors, video displays, touchscreens, battery charging stations).
[0033] The processors 112a may include clock-driven computing components configured to process data, and the memory 112b may include a computer-readable medium (e.g., a tangible, non-transitory computer-readable medium, a data store loaded with one or more of the software components 112c) configured to store instructions for performing various operations and / or functions. The processors 112a are configured to execute the instructions stored in the memory 112b to perform one or more of the operations. The operations may include, for example, causing the playback device 110a to play audio data from an audio source (e.g., one or more of the computing devices 106a-c ( Fig. 1B)) and / or another of the playback devices 110. In some examples, the operations further include causing the playback device 110a to send audio data to another of the playback devices 110a and / or another device (e.g., one of the NMDs 120). Certain examples include operations that cause the playback device 110a to pair with another of the one or more playback devices 110 to enable a multi-channel audio environment (e.g., a stereo pair, a bound zone).
[0034] The processors 112a may be further configured to perform operations that cause the playback device 110a to synchronize the playback of audio content with another of the one or more playback devices 110. As those skilled in the art will appreciate, during synchronous playback of audio content on a plurality of playback devices, a listener is preferably not perceptible any time delay differences between the playback of the audio content by the playback device 110a and the other one or more playback devices 110. Further details regarding synchronization of audio playback between the playback devices can be found, for example, in U.S. Patent No. 8,234,395, referenced above.
[0035] In some examples, memory 112b is further configured to store data associated with playback device 110a, such as one or more zones and / or zone groups to which playback device 110a belongs, audio sources accessible to playback device 110a, and / or a playback queue to which playback device 110a (and / or another of the one or more playback devices) may be associated. The stored data may include one or more state variables that are periodically updated and used to describe a state of playback device 110a. Memory 112b may also contain data associated with a state of one or more other devices (e.g., playback devices 110, NMDs 120, controller devices 130) of media playback system 100.For example, in some aspects, the state data is exchanged between at least a portion of the devices of the media playback system 100 during predetermined time intervals (e.g., every 5 seconds, every 10 seconds, every 60 seconds) such that one or more of the devices have the most recent data associated with the media playback system 100.
[0036] The network interface 112d is configured to facilitate the transmission of data between the playback device 110a and one or more other devices in a data network, such as the connections 103 and / or the network 104 ( Fig. 1B). Network interface 112d is configured to transmit and receive data corresponding to media content (e.g., audio content, video content, text, photos) and other signals (e.g., non-transitory signals) comprising digital packet data including an Internet Protocol (IP)-based source address and / or an IP-based destination address. Network interface 112d can analyze the digital packet data such that electronics 112 properly receives and processes the data intended for playback device 110a.
[0037] In the Fig. 1C, the network interface 112d includes one or more wireless interfaces 112e (hereinafter referred to as "the wireless interface 112e"). The wireless interface 112e (e.g., a suitable interface with one or more antennas) may be configured to wirelessly communicate with one or more other devices (e.g., one or more of the other playback devices 110, NMDs 120, and / or control devices 130) connected to the network 104 ( Fig. 1B). In some examples, the network interface 112d optionally includes a wired interface 112f (e.g., an interface or receptacle configured to receive a network cable such as an Ethernet, USB-A, USB-C, and / or Thunderbolt cable) configured to communicate with other devices via a wired connection in accordance with a suitable wired communication protocol. In certain examples, the network interface 112d includes the wired interface 112f and excludes the wireless interface 112e. In some examples, the electronics 112 excludes the network interface 112d entirely and sends and receives media content and / or other data via another communication path (e.g., the input / output 111).
[0038] The audio components 112g are configured to process and / or filter data including media content received from the electronics 112 (e.g., via the input / output 111 and / or the network interface 112d) to generate output audio signals. In some examples, the audio processing components 112g include, for example, one or more digital-to-analog converters (DACs), audio preprocessing components, audio enhancement components, a digital signal processor (DSP), and / or other suitable audio processing components, modules, circuits, etc. In certain examples, one or more of the audio processing components 112g may include one or more subcomponents of the processors 112a. In some examples, the electronics 112 omits the audio processing components 112g.For example, in some aspects, processors 112a execute instructions stored in memory 112b to perform audio processing operations to generate the output audio signals.
[0039] The amplifiers 112h are configured to receive and amplify the audio output signals generated by the audio processing components 112g and / or the processors 112a. The amplifiers 112h may include electronic devices and / or components configured to amplify audio signals to levels sufficient to drive one or more of the converters 114. In some examples, the amplifiers 112h include, for example, one or more switching or Class D power amplifiers. However, in other examples, the amplifiers include one or more other types of power amplifiers (e.g., linear gain power amplifiers, Class A amplifiers, Class B amplifiers, Class AB amplifiers, Class C amplifiers, Class D amplifiers, Class E amplifiers, Class F amplifiers, Class G and / or Class H amplifiers, and / or another suitable type of power amplifier).In certain examples, amplifiers 112h comprise a suitable combination of two or more of the aforementioned types of power amplifiers. Furthermore, in some examples, individual amplifiers 112h correspond to individual converters 114. However, in other examples, electronics 112 comprises a single amplifier 112h configured to output amplified audio signals to a plurality of converters 114. In some other examples, electronics 112 omits amplifiers 112h.
[0040] Transducers 114 (e.g., one or more speakers and / or speaker drivers) receive the amplified audio signals from amplifier 112h and reproduce the amplified audio signals as sound (e.g., audible sound waves having a frequency between approximately 20 hertz (Hz) and 20 kilohertz (kHz)). In some examples, transducers 114 may consist of a single transducer. However, in other examples, transducers 114 include a plurality of transducers. In some examples, transducers 114 include more than one type of transducer. For example, transducers 114 may include one or more low-frequency transducers (e.g., subwoofers, woofers), medium-frequency transducers (e.g., mid-range transducers, mid-bass drivers), and one or more high-frequency transducers (e.g., one or more tweeters).As used herein, "low frequency" may generally refer to audible frequencies below about 500 Hz, "mid frequency" may generally refer to audible frequencies between about 500 Hz and about 2 kHz, and "high frequency" may generally refer to audible frequencies above 2 kHz. However, in certain examples, one or more of the transducers 114 include transducers that do not adhere to the aforementioned frequency ranges. For example, one of the transducers 114 may include a mid-bass transducer configured to output sound at frequencies between about 200 Hz and about 5 kHz.
[0041] For illustrative purposes, SONOS, Inc. currently offers (or has offered) certain playback devices for sale, including, for example, "SONOS ONE," "PLAY:1," "PLAY:3," "PLAY:5," "PLAYBAR," "PLAYBASE," "CONNECT:AMP," "CONNECT," and "SUB." Other suitable playback devices may be used additionally or alternatively to implement the playback devices of the examples disclosed herein. Furthermore, one of ordinary skill in the art will understand that a playback device is not limited to the examples described herein or to SONOS product offerings. In some examples, one or more playback devices 110 include wired or wireless headphones (e.g., over-the-ear headphones, on-ear headphones, in-ear earbuds).In other examples, one or more of the playback devices 110 include a docking station and / or an interface configured to interact with a docking station for personal mobile media playback devices. In certain examples, a playback device may be integrated with another device or component, such as a television, a lighting device, or other device for indoor or outdoor use. In some examples, a playback device omits a user interface and / or one or more transducers. Fig. For example, Figure 1D is a block diagram of a playback device 110p including input / output 111 and electronics 112 without user interface 113 or converters 114.
[0042] Fig. 1E is a block diagram of a coupled playback device 110q that includes the playback device 110a ( Fig. 1C) which is connected to the playback device 110i (e.g. a subwoofer) ( Fig. 1A) is acoustically coupled. In the example shown, playback devices 110a and 110i are separate playback devices 110 housed in separate enclosures. However, in some examples, coupled playback device 110q comprises a single enclosure in which both playback devices 110a and 110i are housed. Coupled playback device 110q may be configured to process and reproduce sound differently than a non-coupled playback device (e.g., playback device 110a of Fig. 1C) and / or paired or coupled playback devices (e.g. playback devices 110l and 110m of Fig. 1B). For example, in some examples, playback device 110a is a full-range playback device configured to play low-frequency, mid-frequency, and high-frequency audio content, and playback device 110i is a subwoofer configured to play low-frequency audio content. In some aspects, when connected to the first playback device, playback device 110a is configured to play only the mid-frequency and high-frequency components of a particular audio content, while playback device 110i plays the low-frequency component of the particular audio content. In some examples, connected playback device 110q includes additional playback devices and / or another connected playback device. c. Suitable network microphone devices (NMDs)
[0043] Fig. 1F is a block diagram of the NMD 120a ( Fig. 1A and Fig. 1B). The NMD 120a includes one or more speech processing components 124 (hereinafter "the speech components 124") and several components that are operative with respect to the playback device 110a ( Fig. 1C), including the processors 112a, the memory 112b and the microphones 115. The NMD 120a optionally includes further components that are also included in the playback device 110a ( Fig. 1C), such as the user interface 113 and / or the transducers 114. In some examples, the NMD 120a is configured as a media playback device (e.g., one or more of the playback devices 110) and further includes, for example, one or more of the audio components 112g ( Fig. 1C), the amplifiers 114 and / or other playback device components. In certain examples, the NMD 120a includes an Internet of Things (IoT) device, such as a thermostat, an alarm panel, a fire and / or smoke detector, etc. In some examples, the NMD 120a includes the microphones 115, the speech processing 124, and only a portion of the components described above with respect to Fig. 1B. In some examples, the NMD 120a includes, for example, the processor 112a and the memory 112b ( Fig. 1B), while one or more other components of the electronics 112 are omitted. In some examples, the NMD 120a includes additional components (e.g., one or more sensors, cameras, thermometers, barometers, hygrometers).
[0044] In some examples, an NMD may be integrated into a playback device. Fig. 1G is a block diagram of a playback device 110r with an NMD 120d. The playback device 110r may include many or all of the components of the playback device 110a and may also include the microphones 115 and speech processing 124 ( Fig. 1F). The playback device 110r optionally comprises an integrated control device 130c. The control device 130c may, for example, comprise a user interface (e.g., the user interface 113 of Fig. 1B) configured to receive user inputs (e.g., touch inputs, voice inputs) without a separate control device. However, in other examples, the playback device 110r receives commands from another control device (e.g., the control device 130a of Fig. 1B).
[0045] As in Fig. 1F, the microphones 115 are configured to capture sound from an environment (e.g., the environment 101 of Fig. 1A) and / or a room in which the NMD 120a is positioned. The received sound may include, for example, speech utterances, audio signals played by the NMD 120a and / or another playback device, background voices, ambient noise, etc. The microphones 115 convert the received sound into electrical signals to generate microphone data. The speech processing 124 receives and analyzes the microphone data to determine if speech input is present in the microphone data. The speech input may include, for example, a wake word followed by an utterance containing a user request. As those skilled in the art will appreciate, a wake word is a word or other audio feature that indicates user voice input. For example, when querying the AMAZON® VAS, a user might speak the wake word "Alexa."Other examples are “Ok, Google” to call up the GOOGLE® FAS and “Hey, Siri” to call up the APPLE® FAS.
[0046] After detecting the wake word, speech processing 124 monitors the microphone data for an accompanying user request in the voice input. The user request may, for example, include a command to control a third-party device, such as a thermostat (e.g., a NEST® thermostat), a lighting device (e.g., a PHILIPS HUE® lighting device), or a media player (e.g., a Sonos® player). For example, a user could speak the wake word "Alexa" followed by the utterance "set the thermostat to 68 degrees" to control the temperature in a house (e.g., in the vicinity 101 of Fig. 1A). The user can speak the same wake word followed by the utterance "Turn on the living room" to turn on the lights in a living room area of the home. Similarly, the user can speak a wake word followed by a request to play a specific song, album, or playlist of music on a playback device in the home. d. Suitable control devices
[0047] Fig. Figure 1H is a partial schematic diagram of the control device 130a ( Fig. 1A and Fig. 1B). As used herein, the term "control device" may be used interchangeably with "controller" or "control system." Among other features, the control device 130a is configured to receive user input related to the media playback system 100 and, in response, to cause one or more devices in the media playback system 100 to perform one or more actions or operations corresponding to the user input. In the example shown, the control device 130a includes a smartphone (e.g., an iPhone™, an Android phone) on which the media playback system application software is installed. In some examples, the control device 130a includes, for example, a tablet (e.g., an iPad™), a computer (e.g., a laptop computer, a desktop computer), and / or other suitable device (e.g., a television, a car audio head unit, an IoT device).In certain examples, the control device 130a includes a dedicated controller for the media playback system 100. In other examples, as discussed above with respect to . Fig. 1G, the control device 130a is integrated with another device in the media playback system 100 (e.g., one of the plurality of playback devices 110, NMDs 120, and / or other suitable devices configured to communicate over a network).
[0048] The control device 130a includes electronics 132, a user interface 133, one or more speakers 134, and one or more microphones 135. The electronics 132 includes one or more processors 132a (hereinafter referred to as "the processors 132a"), a memory 132b, software components 132c, and a network interface 132d. The processor 132a may be configured to perform functions relevant to facilitating user access, control, and configuration of the media playback system 100. The memory 132b may include a data store that can be loaded with one or more of the software components that can be executed by the processor 132a to perform these functions. The software components 132c may include applications and / or other executable software configured to facilitate control of the media playback system 100.The memory 112b may be configured to store, for example, the software components 132c, the application software of the media playback system controller, and / or other data associated with the media playback system 100 and the user.
[0049] The network interface 132d is configured to facilitate network communication between the control device 130a and one or more other devices in the media playback system 100 and / or one or more remote devices. In some examples, the network interface 132d is configured to operate according to one or more suitable communications industry standards (e.g., infrared, radio, wired standards including IEEE 802.3, wireless standards including IEEE 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 802.15, 4G, LTE). For example, the network interface 132d may be configured to transmit data to the playback devices 110, the NMDs 120, other of the control devices 130, one of the computing devices 106 of the Fig. 1B, devices with one or more other media playback systems, etc. The transmitted and / or received data may include, for example, control commands for playback devices, state variables, configurations of playback zones and / or zone groups. For example, based on user inputs received at user interface 133, network interface 132d may transmit a control command for the playback device (e.g., volume control, audio playback control, audio content selection) from control device 130 to one or more of playback devices 110. Network interface 132d may also transmit and / or receive configuration changes, such asAdding / removing one or more playback devices 110 to / from a zone; adding / removing one or more zones to / from a zone group; forming a linked or consolidated player; disconnecting one or more playback devices from a linked or consolidated player, to name a few. Further descriptions of zones and groups can be found below in relation to the . Fig. 1I to 1M.
[0050] The user interface 133 is configured to receive user input and can facilitate control of the media playback system 100. The user interface 133 includes media content graphics 133a (e.g., album art, lyrics, videos), a playback status indicator 133b (e.g., an elapsed and / or remaining time indicator), a media content information area 133c, a playback control area 133d, and a zone indicator 133e. The media content information area 133c can include a display of relevant information (e.g., title, artist, album, genre, release year) about the currently playing media content and / or the media content in a queue or playlist. The playback control area 133d can include selectable (e.g.,via touch input and / or via a cursor or other suitable selector) to cause one or more playback devices in a selected playback zone or zone group to perform playback actions such as play or pause, fast forward, rewind, skip to next, skip to previous, enter / exit shuffle mode, enter / exit repeat mode, enter / exit cross-fade mode, etc. The playback control area 133d may also include selectable icons to change equalization settings, playback volume, and / or other suitable playback actions. In the example shown, the user interface 133 consists of a display presented on a touchscreen interface of a smartphone (e.g., an iPhone™, or an Android phone).However, in some examples, user interfaces of different formats, styles, and interactive sequences may alternatively be implemented on one or more network devices to provide comparable control access to a media playback system.
[0051] The one or more speakers 134 (e.g., one or more transducers) may be configured to output sound to the user of the control device 130a. In some examples, the one or more speakers include individual transducers configured to output low frequencies, mid frequencies, and / or high frequencies, respectively. In some aspects, the control device 130a is configured, for example, as a playback device (e.g., one of the playback devices 110). Similarly, in some examples, the control device 130a is configured as an NMD (e.g., one of the NMDs 120) that receives voice commands and other sounds via the one or more microphones 135.
[0052] The one or more microphones 135 may, for example, be one or more condenser microphones, electret condenser microphones, dynamic microphones, and / or other suitable microphone or transducer types. In some examples, two or more of the microphones 135 are arranged to capture location information of an audio source (e.g., voice, audible sound) and / or are configured to facilitate filtering of background noise. Furthermore, in certain examples, the controller 130a is configured to operate as a playback device and as an NMD. However, in other examples, the controller 130a omits the one or more speakers 134 and / or the one or more microphones 135. For example, the controller 130a may include a device (e.g.,a thermostat, an IoT device, a network device) that includes a portion of the electronics 132 and the user interface 133 (e.g., a touchscreen) without speakers or microphones. Suitable configurations of playback devices
[0053] The Fig. Figures 1I to 1M show example configurations of playback devices in zones and zone groups. See first Fig. 1M. In one example, a single playback device may belong to a zone. For example, the playback device 110g may be in the second bedroom 101c ( Fig. 1A) belong to Zone C. In some implementations described below, multiple playback devices may be "linked" to form a "linked pair" that together form a single zone. For example, playback device 110l (e.g., a left playback device) may be connected to playback device 110l (e.g., a left playback device) to form Zone A. Linked playback devices may have different playback responsibilities (e.g., channel responsibilities). In another implementation described further below, multiple playback devices may be combined into a single zone. For example, playback device 110h (e.g., a front playback device) may be combined with playback device 110i (e.g., a subwoofer) and playback devices 110j and 110k (e.g., left and right surround speakers, respectively) to form a single Zone D.In another example, playback devices 110g and 110h may be combined to form a combined group or zone group 108b. The combined playback devices 110g and 110h may not be assigned different playback tasks. That is, the combined playback devices 110h and 110i may each play audio content as they would if they were not combined, except for synchronously playing audio content.
[0054] Each zone in media playback system 100 can be provided as a single user interface (UI) unit for control. For example, Zone A can be provided as a single unit named "Master Bathroom." Zone B can be provided as a single unit named "Master Bedroom." Zone C can be provided as a single unit named "Second Bedroom."
[0055] Connected playback devices can have different playback responsibilities, such as responsibilities for specific audio channels. As described in Fig. For example, as shown in Figure 1-I, playback devices 110l and 110m may be connected to each other to create or enhance a stereo effect of audio content. In this example, playback device 110l may be configured to play a left-channel audio component, while playback device 110k may be configured to play a right-channel audio component. In some implementations, such a stereo connection may be referred to as "pairing."
[0056] In addition, connected playback devices may have additional and / or different speaker drivers. As described in Fig. 1J, the playback device 110h labeled Front may be connected to the playback device 110i labeled SUB. The front device 110h may be configured to play back a range of mid-to-high frequencies, and the SUB device 110i may be configured to play back low frequencies. However, when unconnected, the front device 110h may be configured to play back the entire frequency range. As another example, Fig. 1K, the front and subwoofer devices 110h and 110i, which are connected to the left and right playback devices 110j and 110k, respectively. In some implementations, the right and left devices 110j and 110k can be configured to form surround or "satellite" channels of a home theater system. The interconnected playback devices 110h, 110i, 110j, and 110k can form a single Zone D ( Fig. 1M).
[0057] Collaborated playback devices may not have assigned playback responsibilities and may each play the full range of audio content of which the respective playback device is capable. However, collocated devices may be represented as a single UI entity (i.e., a zone, as described above). For example, the master bathroom playback devices 110a and 110n have the single UI entity of Zone A. In one example, the playback devices 110a and 110n may each synchronously output the full range of audio content of which the respective playback devices 110a and 110n are capable.
[0058] In some examples, an NMD is connected or merged with another device to form a zone. For example, NMD 120b may be connected to playback device 110e, which together form Zone F, called the living room. In other examples, a standalone network microphone may be located in its own zone. However, in other examples, an individual network microphone may not be assigned to any zone. Further details regarding the assignment of network microphones and playback devices as designated or standard devices can be found, for example, in the aforementioned U.S. patent application Ser. No. 15 / 438,749.
[0059] Zones of individual, connected and / or combined devices can be combined into a zone group. Fig. 1M, for example, Zone A may be grouped with Zone B to form a zone group 108a encompassing the two zones. Similarly, Zone G may be grouped with Zone H to form zone group 108b. As another example, Zone A may be grouped with one or more other Zones CI. Zones AI may be grouped and ungrouped in a variety of ways. For example, three, four, five, or more (e.g., all) of Zones AI may be grouped. When grouped, the zones of individual and / or connected playback devices may play audio in synchronization with each other, as described in the aforementioned U.S. Patent No. 8,234,395. Playback devices may be dynamically grouped and ungrouped to form new or different groups that play audio content synchronously.
[0060] In various implementations, the zones in an environment may be the default name of a zone within the group or a combination of the names of the zones within a zone group. For example, zone group 108b may be assigned a name such as "Dining + Kitchen," as shown in Fig. 1M. In some examples, a zone group can be given a unique name selected by a user.
[0061] Certain data may be stored in a memory of a playback device (e.g., memory 112b in Fig. 1C) stored as one or more state variables that are periodically updated and used to describe the state of a playback zone, the playback device(s), and / or an associated zone group. The memory may also contain the data associated with the state of the other devices of the media system, which is exchanged between the devices from time to time so that one or more of the devices has the most recent data associated with the system.
[0062] In some examples, the memory may store instances of different variable types associated with the states. The variable instances may be stored with identifiers (e.g., tags) corresponding to the type. For example, certain identifiers may be a first type "a1" to identify a zone's playback device(s), a second type "b1" to identify the playback device(s) that can be bound to the zone, and a third type "c1" to identify a zone group to which the zone may belong. As a related example, identifiers associated with the second bedroom 101c may indicate that the playback device is the only playback device of zone C and does not belong to a zone group. Identifiers associated with the home office may indicate that the home office is not grouped with other zones but contains bound playback devices 110h-110k.Identifiers associated with the dining room may indicate that the dining room is part of zone group 108b Dining Room + Kitchen and that devices 110b and 110d are grouped ( . Fig. 1L). Identifiers assigned to the kitchen can display the same or similar information because the kitchen is part of zone group 108b "Dining + Kitchen." Additional example zone variables and identifiers are described below.
[0063] In another example, the media playback system 100 may use variables or identifiers that represent other mappings of zones and zone groups, such as identifiers associated with areas, as in Fig. 1M. An area may include a collection of zone groups and / or zones outside a zone group. Fig. For example, Figure 1M shows an upper region 109a with zones AD and a lower region 109b with zones EI. In one aspect, a region may be used to invoke a cluster of zone groups and / or zones that share one or more zones and / or zone groups of another cluster. In another aspect, this is distinct from a zone group that does not share a zone with another zone group. Further examples of techniques for implementing regions can be found, for example, in U.S. Application No. 15 / 682,506, entitled "Room Association Based on Name," filed August 21, 2017, and U.S. Patent No. 8,483,853, filed September 11, 2007, entitled "Controlling and manipulating groupings in a multi-zone media system." Each of these applications is incorporated herein by reference in its entirety.In some examples, the media playback system 100 may not implement scopes; in this case, the system may not store variables associated with scopes. III. Playback of generative media content across multiple devices
[0064] Fig. Figure 2 is a functional block diagram of a system 200 for playing generative media content. As previously mentioned, generative media content may include any media content (e.g., audio, video, audiovisual, tactile, or other media content) that is dynamically created, synthesized, and / or modified by a non-human, rule-based process such as an algorithm or model. This creation or modification may occur in real-time or near-real-time for playback. Additionally or alternatively, generative media content may be created or modified asynchronously (e.g., in advance, before playback is requested), and the particular item of generative media content may then be selected for playback at a later time.As used herein, a "generative media module" includes any system, whether implemented in software, a physical model, or a combination thereof, that can generate generative media content based on one or more inputs. In some examples, such generative media content includes novel media content that can be created entirely from scratch or can be created by mixing, combining, manipulating, or otherwise modifying one or more pre-existing media content pieces. As used herein, a "generative media content model" includes any algorithm, schema, or set of rules that can be used to generate novel generative media content using one or more inputs (e.g., sensor data, artist-provided parameters, media segments such as audio clips or samples, etc.).For example, a generative media module may use a plurality of different generative media content models to generate different generative media content. In some cases, artists or other collaborators may interact with, author, and / or update generative media content models to generate specific generative media content. Although several examples in this discussion refer to audio content, the principles disclosed herein may also be applied to other types of media content, such as video, audiovisual, tactile, or others.
[0065] As in Fig. 2, the system 200 includes a generative media group coordination device 210 that communicates with the generative media group members 250a and 250b, as well as with sensor data source(s) 218, media content source(s) 220, and a controller 130. This communication may occur over one or more networks 102, which, as noted above, may include any suitable wired or wireless network connection or combinations thereof (e.g., a Wi-Fi network, a Bluetooth network, a Z-Wave network, a ZigBee network, an Ethernet connection, a USB (Universal Serial Bus) connection, etc.).
[0066] One or more remote computing devices 106 may also be in communication with the group coordination device 210 and / or the group members 250a and 250b via the network(s) 102. In various examples, the remote computing device(s) 106 may be cloud-based servers associated with a device manufacturer, a media content provider, a voice assistance service, or other suitable entity. As shown in Fig. 2, the remote computing device(s) 106 may include a generative media module 214. As described in more detail elsewhere, the remote computing device(s) 106 may generate generative media content remotely from the local devices (e.g., the coordinating device 210 and members 250a and 250b). The generative media content may then be transmitted to one or more of the local devices for playback. Additionally or alternatively, the generative media content may be generated in whole or in part via the local devices (e.g., the group coordinating device 210 and / or the group members 250a and 250b). In some examples, the group coordination device 210 may itself be a remote computing device such that it is communicatively coupled to the group members 250a and 250b via a wide area network and the devices are not in the same environment (e.g.,household, place of business, etc.). a. Example of operating a generative media group
[0067] In the example shown, a generative media group includes a generative media group coordination device 210 (also referred to herein as "coordination device 210") and first and second generative media group members 250a and 250b (also referred to herein as "first member device 250a," "second member device 250b," and collectively as "member devices 250"). Optionally, one or more remote computing devices 106 may also be part of the generative media group. In operation, these devices may communicate with each other and / or with other components (e.g., sensor data source(s) 218, control device 130, media content source(s) 220, or other suitable data sources or components) to facilitate the production and playback of generative media content.
[0068] In various examples, some or all of devices 210 and / or 250 may be located in the same vicinity (e.g., in the same home, business, etc.). In some examples, at least some of devices 210 and / or 250 may be located far apart, e.g., in different homes, different cities, etc.
[0069] The coordination device 210 and / or the member devices 250 may include some or all of the components of the playback device 110 or the network microphone device 120 described above with respect to the Fig. 1A-1H. For example, the coordination device 210 and / or the member devices 250 may optionally include playback components 212 (e.g., transducers, amplifiers, audio processing components, etc.), or such components may be omitted in some cases.
[0070] In some examples, the coordination device 210 is itself a playback device and, as such, may also function as a member device 250. In other examples, the coordination device 210 may be connected to one or more member devices 250 (e.g., via a direct cable connection or via the network 102), but the coordination device 210 does not itself play generative media content. In various examples, the coordination device 210 may be implemented on a bridge-like device in a local area network, on a playback device that is not itself part of the generative media group (i.e., the playback device does not itself play the generative media content), and / or on a remote computing device (e.g., a cloud server).
[0071] In various examples, one or more of the devices may include a generative media module 214. Such generative media modules 214 may generate novel, synthetic media content based on one or more inputs, for example, using a suitable generative media content model. As in Fig. 2, in some examples, the coordination device 210 may include a generative media module 214 for generating generative media content, which may then be transmitted to the member devices 250a and 250b for simultaneous and / or synchronous playback. Additionally or alternatively, some or all of the member devices 250 (e.g., member device 250b as shown in Fig. 2) may include a generative media module 214 that may be used by member device 250 to locally generate generative media content based on one or more inputs. In various examples, the generative media content may be generated via remote computing device(s) 106, optionally using one or more input parameters received from local devices. This generative media content may then be transmitted to one or more of the local devices for coordination and / or playback.
[0072] In some examples, at least some of the member devices 250 do not include a generative media module 214. Alternatively, in some cases, each member device 250 may include a generative media module 214 and be configured to locally generate generative media content. At least in some examples, none of the member devices 250 includes a generative media module 214. In such cases, the generative media content may be generated by the coordination device 210. Such generative media content may then be transmitted to the member devices 250 for simultaneous and / or synchronous playback.
[0073] In the Fig. 2, the coordination device 210 additionally includes coordination components 216. As described in more detail herein, in some cases, the coordination device 210 may facilitate playback of generative media content across multiple different playback devices (which may or may not include the coordination device 210 itself). In operation, the coordination components 216 are configured to facilitate the synchronization of both the creation of generative media (e.g., using one or more generative media modules 214 that may be distributed among the various devices) and the playback of generative media. For example, the coordination device 210 may communicate timing data to the member devices 250 to facilitate synchronous playback.Additionally or alternatively, the coordinating device 210 may transmit inputs, generative media model parameters, or other data related to the generative media module 214 to one or more member devices 250 so that the member devices 250 can produce generative media locally (e.g., using a locally stored generative media module 214), and / or so that the member devices 250 can update or modify the generative media modules 214 based on the inputs received from the coordinating device 210.
[0074] As described in more detail elsewhere, the generative media modules 214 may be configured to generate generative media based on one or more inputs using a generative media content model. The inputs may include sensor data (e.g., from sensor data source(s) 218), user input (e.g., from the controller 130 or through direct user interaction with the coordinator 210 or member devices 250), and / or media content source(s) 220. For example, a generative media module 214 may generate and continuously modify generative audio data by adjusting various characteristics of the generative audio data based on one or more input parameters (e.g., sensor data relating to one or more users relative to the devices 210, 250). b. Example media content source(s)
[0075] The media content source(s) 220 may, in various examples, include one or more local and / or remote media content sources. The media content source(s) 220 may, for example, include one or more local audio sources 105 as described above (e.g., audio received via an input / output connection, such as from a mobile device (e.g., a smartphone, a tablet, a laptop) or other suitable audio component (e.g., a television, a desktop computer, an amplifier, a record player, a Blu-ray player, a storage device that stores digital media files)). Additionally or alternatively, the media content source(s) 220 may include one or more remote computing devices accessible via a network interface (e.g., by communicating over the network(s) 102). Such remote computing devices may be individual computers or servers, such as, for example,a media streaming service server that stores audio and / or other media content, etc.
[0076] In various examples, the media available via the media content source(s) 220 may include pre-recorded audio segments in the form of full sounds, songs, portions of songs (e.g., samples), or any audio components (e.g., pre-recorded audio of a particular instrument, synthetic beats or other audio segments, non-musical audio such as spoken words or nature sounds, etc.). In operation, such media may be used by the generative media modules 214 to generate generative media content, for example, by combining, mixing, overlapping, manipulating, or otherwise modifying the retrieved media content to generate new generative media content for playback via one or more devices. In some examples, the generative media content may take the form of a combination of pre-recorded audio segments (e.g., a pre-recorded song, a spoken word recording, etc.).) with novel, synthesized audio data created and overlaid with the pre-recorded audio data. The term "generative media content" or "generated media content" as used herein may encompass any such combination. c. Example of generative media modules
[0077] As previously mentioned, the generative media module 214 may include any system, whether in the form of software, a physical model, or a combination thereof, that can generate generative media content based on one or more inputs. In various examples, the generative media module 214 may utilize a generative media content model, which may include one or more algorithms or mathematical models that determine the manner in which media content is generated based on the relevant input parameters. In some cases, the algorithms and / or mathematical models themselves may be updated over time, for example, based on instructions received from one or more remote computing devices (e.g.,Cloud servers associated with a music service or other entity), or based on inputs received from other group member devices within the same or a different environment, or based on any other suitable input. In some examples, different devices within the group may have different generative media modules 214—for example, where a first member device has a different generative media module 214 than a second member device. In other cases, each device within the group that has a generative media module 214 may include substantially the same model or algorithm.
[0078] Any suitable algorithm or combination of algorithms may be used to generate generative media content. Examples of such algorithms include machine learning techniques (e.g., generative adversarial networks, neural networks, etc.), formal grammars, Markov models, finite-state automata, and / or algorithms implemented in currently available offerings such as OpenAI's JukeBox, Amazon's AWS DeepComposer, Google's Magenta, Amper Music's AmperAI, etc. In various examples, the generative media module(s) 214 may use any suitable generative algorithms currently existing or developed in the future.
[0079] Consistent with the discussion above, the production of generative media content (e.g., audio content) may involve modifying various properties of the media content in real time and / or algorithmically generating new media content in real time or near real time. In the context of audio content, this may be achieved by storing a number of audio samples in a database (e.g., within the media content source(s) 220) that may be remotely accessible by the coordination device 210 and / or the member devices 250 via the network(s) 102, or alternatively, the audio samples may be maintained locally on the devices 210, 250 themselves. The audio samples may be associated with one or more metadata tags corresponding to one or more audio properties of the samples.For example, a particular sample can be associated with metadata tags that indicate that the sample contains audio at a particular frequency or frequency range (e.g., bass / mid / treble), or a particular instrument, genre, tempo, key, release date, geographic region, timbre, reverb, distortion, tonal texture, or other audio characteristics that are obvious.
[0080] In operation, the generative media modules 214 (e.g., of the coordinating device 210 and / or the second member device 250b) may retrieve specific audio samples based on their associated tags and blend the audio samples together to generate the generative audio. The generative audio may evolve in real time as the generative media module(s) 214 retrieve audio samples with different tags and / or different audio samples with the same or similar tags. The audio samples that the generative media module(s) 214 retrieve may depend on one or more inputs, such as sensor data, time of day, geographic location, weather, or various user inputs, such as mood selection or physiological inputs such as heart rate or the like. As the inputs change, the generative audio also changes.For example, if a user selects a calming or relaxing mood, the generative media modules 214 may retrieve and mix audio samples with tags corresponding to audio content that the user might find calming or relaxing. Examples of such audio samples might include audio samples tagged as low tempo or low harmonic complexity, or audio samples that have been predetermined and tagged as calming or relaxing. In some examples, the audio samples may be identified as calming or relaxing based on an automated process that analyzes the temporal and spectral content of the signals. Other examples are also possible.In each of the examples mentioned herein, the generative media modules 214 may customize the characteristics of the generative audio data by retrieving and mixing audio samples associated with various metadata tags or other suitable identifiers.
[0081] Changing characteristics of the generative audio data may include manipulating one or more of the following: volume, balance, removing certain instruments or tones, changing the tempo, gain, reverb, spectral equalization, timbre, or tonal texture of the audio data, etc. In some examples, the generative audio data may be played back differently on different devices, such as by emphasizing certain features of the generative audio data on the playback device closest to the user. For example, the closest playback device may emphasize certain instruments, beats, tones, or other features, while the remaining playback devices may act as background audio sources.
[0082] As described elsewhere, the media content modules 214 can be configured to produce media that steers a user's mood and / or physiological state in a desired direction. In some examples, the user's current state (e.g., mood, emotional state, activity level, etc.) is continuously and / or iteratively monitored or measured (e.g., at predetermined intervals) to ensure that the user's current state is moving toward the desired state, or at least not in a direction opposite to the desired state. In such examples, the generative audio content can be varied to steer the user's current state toward the desired end state.
[0083] In each of the examples provided herein, the generative media modules may use hysteresis to avoid rapid adjustments to the generative audio that could negatively impact the listening experience. For example, if the generative media module modifies the media based on input of a user's location relative to a playback device, if a user quickly moves closer to and away from a playback device, the playback device could quickly change the generative audio in any of the ways described herein. Such rapid adjustments may be unpleasant for the user. To reduce these rapid adjustments, the generative media module 214 may be configured to apply hysteresis by delaying adjustments to the generative audio for a predetermined period of time when user movement or other activity triggers an adjustment.For example, if the playback device detects that the user has moved within the threshold distance from the playback device, instead of immediately making one of the adjustments described above, the playback device may wait a predetermined period of time (e.g., a few seconds) before making the adjustment. If the user remains within the threshold distance after the predetermined period of time, the playback device may proceed with adjusting the generative audio. However, if the user does not remain within the threshold distance after the predetermined period of time, the generative media module(s) 214 may refrain from adjusting the generative audio. The generative media module(s) 214 may similarly apply hysteresis to the other generative media settings described herein.
[0084] Fig. Figure 3 shows a flowchart of a process 300 for generating generative audio content using a plurality of input parameters. In various examples, one or more of these input parameters may be changed based on user input. For example, an artist may select the various parameters, constraints, or available audio segments to be included in Fig. 2, and this selection may, in turn, at least in part, determine the final output of generative audio content. As previously mentioned, such a generative media module may be stored and operated on one or more playback devices for local playback (e.g., via the same playback device and / or via other playback devices interconnected via a local area network). Additionally or alternatively, such a generative media module may be stored and operated on one or more remote computing devices, with the resulting output being transmitted over a wide area network to one or more remote devices for playback.
[0085] As shown in the figure, the process begins at block 302 and proceeds to the timer / metronome at block 304, where the inputs for tempo 306 and time signature 308 are received. Tempo 306 and time signature 308 may be selected by an artist, determined automatically, or generated using a model. The process proceeds to block 310, where a chord change may be triggered and which receives a chord change frequency parameter 312 as input. An artist may choose a higher chord change frequency in music intended for a high-energy experience (e.g., dance music, uplifting background music, etc.). Conversely, a lower chord change frequency may be associated with a lower energy output (e.g., calming music).
[0086] In block 314, a chord is selected from the available chord segments 316. A plurality of chord information parameters 318, 320, 322 may also be provided as input to the chord segments 316. These inputs may be used to determine the next chord to be played and output as block 324. In some examples, the performer may provide information for each chord, such as weights, how often that particular chord should be used, etc.
[0087] Next, at block 326, a chord variation is selected based at least in part on the harmonic complexity parameter provided as input. The harmonic complexity parameter 328 may be set or selected by an artist, or it may be determined automatically. In general, a higher harmonic complexity parameter may be associated with a higher-energy audio output, and a lower harmonic complexity parameter may be associated with a lower-energy audio output. In some cases, the harmonic complexity parameters may include inputs such as chord inversions, voicings, and harmonic density.
[0088] In block 330, the process receives the root note of the chord and, in block 332, selects the bass segment to be played from the available bass segments 334. These bass segments are then subjected to bus processing 336, where equalization, filtering, timing, and other processing may be performed.
[0089] After returning to the chord variation in block 326, the process continues separately in block 338 to play the harmony selected from the available harmony segments 340. This harmony segment is then subjected to bus processing 342. As with the bass bus processing, the harmony segment bus processing 342 may include equalization, filtering, timing, and other processing.
[0090] Returning to the selected chord 324, the process continues separately to filter melody notes in block 344, which uses an input of melody constraints 346. The output in block 348 is the available melody notes that can be played. The melody constraints 346 may be provided by the artist and may, for example, indicate which notes should or should not be played, restrict the melody range, or provide other such constraints that may depend on the particular selected chord 324.
[0091] In block 350, the process determines which melody note (from the available melody notes 348) should be played. This determination can be made automatically based on model values, input provided by the artist, a random effect, or any other suitable input. In the example shown, one input comes from the trigger melody note block 352, which in turn is based on the melody density parameter 354. The artist can provide the melody density parameter 354, which determines, in part, how complex and / or energetic the audio output is. Based on this parameter, a melody note can be triggered more or less frequently and at specific times, using block 352, which is input in block 350, to determine which melody note should be played.In various examples, the output of block 350 may be provided as an input to block 350 in the form of a feedback loop such that the next melody note selected in block 350 depends at least in part on the last melody note selected in block 350. The melody segment is then selected from the available melody segments 358 in block 356 and subsequently subjected to bus processing 360.
[0092] After returning to the start in block 302, the process proceeds separately to block 362 to play non-musical content. This may be, for example, nature sounds, spoken words, or other non-musical content. Various non-musical segments 364 may be stored and made available for playback. These non-musical content segments may also be subjected to bus processing in block 366.
[0093] The outputs of these various paths (e.g., the selected bass segment(s), harmony segment(s), melody segment(s), and / or non-musical segment(s)) may each be subjected to separate bus processing before being combined via mixing and mastering processing in block 368. Here, the combined levels may be adjusted, various filters applied, relative timing determined, and other suitable processing steps performed before the generative audio content is output in block 370. In various examples, some of the paths may be omitted entirely. For example, the generative media module may omit the option of playing non-musical content alongside the generative musical content. The Fig. 3 is merely exemplary, and one skilled in the art will understand that the process 300 shown herein may be appropriately modified, and furthermore, there are numerous suitable alternative processes that may be used for the creation of generative media content.
[0094] Fig. Figure 4 is an example architecture for storing and retrieving generative media content. In this example, the generative media content comprises a plurality of discrete tracks (each having multiple variations associated with energy level or another parameter) that can be selected and played in different orders and groupings depending on the respective input parameters.
[0095] As illustrated, the generative media content 404 may be stored as one or more audio files associated with global generative media content metadata 402. Such metadata may include, for example, the global tempo (e.g., beats per minute), the global trigger frequency (e.g., how often to check for a change in input parameters), and / or the global fade duration (e.g., the time to fade between the various selected energies).
[0096] The generative media content 404 includes a plurality of different tracks 406, 408, and 410. In operation, these tracks can be selected and played in various arrangements (e.g., random grouping with an overlay or playing in a predetermined order, etc.). In some examples, the generative media content 404, including tracks 406, 408, 410, can be stored locally via one or more playback devices, while one or more remote computing devices can periodically transmit updated versions of the tracks, the generative media content, and / or the global generative media content metadata.In some examples, the remote computing devices may be periodically polled by the playback device(s), and in response to the polls, the remote computing devices may provide updates to the generative media module stored on the local playback device(s).
[0097] For each track, there may be corresponding subsets of that track corresponding to different energy levels. For example, a first energy level (EL) of track 1 at 412, a second energy level of track 1 at 414, and an n-energy level of track 1 at 416. Each of these tracks may include both metadata (e.g., metadata 418, 420, 422) and specific media files (e.g., media files 424, 426, 428) corresponding to the respective energy level. In some examples, each track may include a plurality of media files (e.g., media file 424) arranged in a particular manner, where the arrangement and combination of these files may be desired by the corresponding metadata (e.g., metadata 418). The media file may, for example, be in any suitable format that can be played back via the playback device and / or streamed to a playback device for playback.In some examples, one or more of the media files 424, 426, 428 may be editions of the file encoded in . Fig. 3. The metadata can be, for example, tempo (if different from the global tempo), trigger frequency (if different from the global trigger frequency), sequence information (e.g., whether certain files should be played in order, randomly, or based on a percentage weighting), crossfade duration (if different from the global crossfade), spatial information (e.g., for the playback of audio content in space using multiple converters), polyphony information (e.g., the simultaneous playback of multiple audio files in this segment), and / or level (e.g., level adjustment in dB or randomly within a predefined range).
[0098] In operation, one or more input parameters (e.g., number of people present in a room, time of day, etc.) may be used to determine a target energy level. This determination may be made using a playback device and / or one or more remote computing devices. Based on this determination, certain media files may be selected that correspond to the determined energy level. The generative media module may then arrange and play these selected tracks according to the generative content model. This may mean playing the selected tracks in a certain predefined order, in a random or pseudo-random order, or in another suitable order. In some examples, the tracks may be played in an at least partially overlapping order.It may be useful to vary the degree of overlap between tracks so that casual listeners do not hear a repeating loop of audio content, but rather perceive the generative audio as an endless stream of audio without repetition.
[0099] Although in the Fig. While in the example shown in Figure 4 the energy level is used as a parameter to distinguish different generative audio content, in different examples the individual variations or permutations of generative audio content may vary along other dimensions (e.g., genre, time of day, associated user task, etc.). d. Example sensor data source(s) and other input parameters
[0100] As previously mentioned, the generative media module(s) 214 may generate generative media based at least in part on input parameters, which may include sensor data (e.g., from sensor data source(s) 218) and / or other suitable input parameters. With respect to sensor input parameters, the sensor data source(s) 218 may include data from any suitable sensor, regardless of where it is located relative to the generative media group and regardless of what values it measures. Examples of suitable sensor data include physiological sensor data, such as data obtained from biometric sensors, wearable sensors, etc. Such data may include physiological parameters such as heart rate, respiratory rate, blood pressure, brain waves, activity level, movement, body temperature, etc.
[0101] Suitable sensors include wearable sensors configured to be worn by a user, such as a headset, a watch, a mobile device, a brain-machine interface (e.g., Neuralink), a headphone, a microphone, or a similar device. In some examples, the sensor may be a non-wearable sensor or may be attached to a stationary structure. The sensor may provide the sensor data, which may include, for example, data related to brain activity, voice, location, movement, heart rate, pulse, body temperature, and / or perspiration. In some examples, the sensor may correspond to a plurality of sensors. As explained elsewhere, the sensor may correspond, for example, to a first sensor worn by a first user, a second sensor worn by a second user, and a third sensor not worn by a user (e.g.,attached to a stationary device or structure). In such examples, the sensor data may correspond to a plurality of signals received from each of the first, second, and third sensors.
[0102] The sensor can be configured to receive or generate information generally corresponding to the mood or emotional state of the user. In one example, the sensor is a wearable brain-sensing headband, which is one of many examples of the sensor described herein. Such a headband can be, for example, an electroencephalography (EEG) headband with a plurality of sensors. In some examples, the headband can correspond to one of the Muse™ headbands (InteraXon; Toronto, Canada). The sensors can be placed in different locations on the inside of the headband, for example, to correspond to the user's different brain anatomy (e.g., frontal, parietal, temporal, and sphenoid). Thus, each of the sensors can receive different data from the user.Each of the sensors may correspond to individual channels that may be transmitted from the headband to system devices 210 and / or 250. Such sensor data may be used to detect a user's mood, for example, by classifying the frequencies and intensities of various brainwaves or through other analyses. Further details regarding the use of a brain-sensing headband for generative audio content can be found in U.S. application Ser. No. 62 / 706,544, filed August 24, 2020, entitled "MOOD DETECTION AND / OR INFLUENCE VIA AUDIO PLAYBACK DEVICES," which is hereby incorporated by reference in its entirety.
[0103] In some examples, the sensor data source(s) 218 include data derived from sensor data from networked devices (e.g., Internet of Things (IoT) sensors such as networked lights, cameras, temperature sensors, thermostats, occupancy detectors, microphones, etc.). Additionally or alternatively, the sensor data source(s) 218 may include environmental sensors (e.g., for measuring or displaying weather, temperature, time / day / week / month, etc.).
[0104] In some examples, the generative media module 214 may use inputs in the form of capabilities of the playback device (e.g., number and type of transducers, output power, other system architecture) and the location of the device (e.g., either the location relative to other playback devices or relative to one or more users). Further examples of creating and modifying generative audio signals depending on the location of the user and the device are described in U.S. application Ser. No. 62 / 956,771, filed January 3, 2020, entitled GENERATIVE MUSIC BASED ON USER LOCATION, which is hereby incorporated by reference. Additional inputs may include a state of one or more devices within the group, such as a thermal state (e.g.,If a particular device is at risk of overheating, the generative content can be modified to reduce the temperature), battery level (e.g., the bass output can be reduced in a portable playback device with low battery), and connection state (e.g., whether a particular playback device is configured as part of a stereo pair, connected to a subwoofer, or as part of a home theater arrangement, etc.). Any other suitable device property or state can similarly be used as input for the production of generative media content.
[0105] Another example input parameter is user presence—for example, if a new user enters a room where generative audio is playing, the user's presence can be detected (e.g., via proximity sensors, a beacon, etc.) and the generative audio can be modified in response. This modification can be based on the number of users (e.g., with meditative ambient audio for one user, relaxation music for two to four users, and party or dance music for more than four users present). The modification can also be based on the identity of the present user(s) (e.g., a user profile based on the user's characteristics, listening history, or other such indicia).
[0106] In one example, a user may wear a biometric device that measures various biometric parameters, such as heart rate or blood pressure, of the user and may report these parameters to devices 210 and / or 250. The generative media modules 214 of these devices 210 and / or 250 may use these parameters to further customize the generative audio playback, e.g., by increasing the tempo of the music in response to detecting a high heart rate (as this may indicate that the user is engaging in a vigorous activity) or decreasing the tempo of the music in response to detecting high blood pressure (as this may indicate that the user is stressed and could benefit from calming music).
[0107] In another example, one or more microphones of a playback device (e.g., the microphones 115 in Fig. 1F) Capture a user's voice. The captured voice data can then be processed to, for example, determine a user's mood, age, or gender, identify a specific user among multiple users within a household, or determine another input parameter. Other examples are also possible. e. Example of coordination between group members
[0108] Fig. Figure 5 is a functional block diagram illustrating data exchange in a system for playing generative media content. For explanation: The Fig. The system 500 illustrated in Figure 5 includes interactions between a coordination device 210 and a member device 250b. However, the interactions and processes described herein may also be applied to interactions between a plurality of additional coordination devices 210 and / or member devices 250. As shown in Fig. 5, the coordination device 210 includes a generative media module 214a that receives inputs including input parameters 502 (e.g., sensor data, media content, model parameters for the generative media module 214a, or other such inputs) and clock and / or timing data 504. In various examples, the clock and / or timing data 504 may include synchronization signals to synchronize playback and / or to synchronize generative media produced by various devices within the group. In some examples, the clock and / or timing data 504 may be provided by an internal clock, processor, or other component within the coordination device 210 itself. In some examples, the clock and / or timing data 504 may be received from remote computing devices via a network interface.
[0109] Based on these inputs, the generative media module 214a can output generative media content 404a. Optionally, the output generative media content 404a can itself serve as an input to the generative media module 214a in the form of a feedback loop. For example, the generative media module 214a can produce subsequent content (e.g., audio frames) using a model or algorithm that depends at least in part on the previously generated content.
[0110] In the example shown, member device 250b also includes a generative media module 214b, which may be substantially the same as generative media module 214a of coordinating device 210 or may differ in one or more aspects. Generative media module 214b may also receive input parameters 502 and clock and / or timing data 504. These inputs may be received from coordinating device 210, from other member devices, from other devices in a local network (e.g., a locally networked smart thermostat providing temperature data), and / or from one or more remote computing devices (e.g., a cloud server providing clock and / or timing data 504 or weather data or other such input). Based on these inputs, generative media module 214b may output generative media content 404b.This produced generative media content 404b may optionally be fed back to the generative media module 214b as part of a feedback loop. In some examples, the generative media content 404b may include or consist of generative media content 404a (generated via the coordination device 210) that was transmitted over a network to the member device 250b. In other cases, the generative media content 404b may be produced independently and separately from the generative media content 404a produced via the coordination device 210.
[0111] The generative media content 404a and 404b may then be played back either via the devices 210 and 250b themselves and / or by other devices within the group. In various examples, the generative media content 404a and 404b may be configured to play back simultaneously and / or synchronously. In some cases, the generative media content 404a and 404b may be substantially identical or similar to each other, with each generative media module 214 using the same or similar algorithms and the same or similar inputs. In other cases, the generative media content 404a and 404b may differ from each other while still being configured for synchronous or simultaneous playback. f. Example of generative media with distributed architectures
[0112] As mentioned above, media content generation can be computationally intensive, and in some cases, it is impractical to perform it exclusively on local playback devices. In some examples, a generative media module of a local playback device may request generative media content from a generative media module stored on one or more remote computing devices (e.g., cloud servers). The request may include or be based on certain input parameters (e.g., sensor data, user input, contextual information, etc.). In response to the request, the remote generative media module may stream certain generative media content to the local device for playback.The particular generative media content provided to the local playback device may vary over time, with the variation depending on the particular input parameters, the configuration of the generative media module, or other such parameters. Additionally or alternatively, the playback device may store discrete tracks for playback (e.g., with different variations of tracks associated with different energy levels, as in . Fig. 4). The remote computing device(s) may then periodically deliver new files for updated titles to the local playback device for playback, or alternatively, provide an update to the generative media module that determines when and how the particular files stored locally on the playback device are to be played.
[0113] In this way, the tasks required for generating and playing generative audio are distributed among one or more remote computing devices and one or more local playback devices. By offloading at least some of the computationally intensive tasks associated with generating novel media content to the remote computing devices and optionally reducing the need for real-time computations, overall efficiency can be improved. By generating a discrete number of alternative tracks or track variations according to a given media content model prior to playback via remote computing devices, the local playback device can request and receive specific variations based on real-time or near-real-time input parameters (e.g., sensor data).For example, the remote computing devices can generate different versions of the media content, and the playback device can request specific versions in real time based on input parameters. The result is the playback of suitable generative media content based on real-time or near-real-time input parameters (e.g., sensor data) without the need to regenerate such media content in real time.
[0114] Fig. 6 is a schematic diagram of an example of a distributed generative media playback system 600. As illustrated, an artist 602 may provide a plurality of media segments 604 and one or more generative content models 606 to a generative media module 214 stored via one or more remote computing devices. For example, the media segments may correspond to specific audio segments or seeds (e.g., individual notes or chords, short n-bar tracks, non-musical content, etc.). In some examples, the generative content models 606 may also be provided by the artist 602. This may involve providing the entire model, or the artist 602 may provide input to the model 606, for example, by varying or tuning certain aspects (e.g., tempo, melody constraints, harmonic complexity parameters, chord change density parameters, etc.).
[0115] The generative media module 214 may receive both the media segments 604 and one or more input parameters 502 (as described elsewhere herein). Based on these inputs, the generative media module 214 may output generative media. As shown in Fig. 6, the artist 602 may optionally preview the generative media module 214, for example, by receiving example outputs based on the inputs provided by the artist 602 (e.g., the media segments 604 and / or generative content model(s) 606). In some cases, the preview may play variations of the generative media content to the artist 602 that depend on a plurality of different input parameters (e.g., one version corresponding to a high energy level to create an exciting or uplifting effect, another version corresponding to a low energy level to create a calming effect, etc.). Based on the results of this preview step, the artist 602 may dynamically update the media segments 604 and / or the settings of the generative content model(s) 606 until the desired results are achieved.
[0116] In the example shown, there may be an iteration in block 608 every n hours (or minutes, days, etc.), during which the generative media module 214 may generate a plurality of different versions of the generative media content. In the example shown, there are three versions: version A in block 610, version B in block 612, and version C in block 614. These outputs are then stored (e.g., via the remote computing device(s)) as generative media content 616. A particular version (in this example, version C as block 618) may be transmitted (e.g., streamed) to the local playback device 250 for playback. In some examples, the particular versions may correspond to the version specified in Fig. 4 correspond to tracks 406, 408 and 410 shown.
[0117] Although three versions are shown here as examples, in practice there may be many more versions of generative media content generated via the remote computing devices. The versions may differ along a number of different dimensions, such as being suitable for different energy levels, suitable for different intended tasks or activities (e.g., studying versus dancing), suitable for different times of day, or other suitable variations.
[0118] In the illustrated example, the playback device 250 may periodically request a specific version of the generative media content from the remote computing device(s). Such requests may be based, for example, on user input (e.g., user selection via a control device), sensor data (e.g., number of people present in a room, background noise level, etc.), or other suitable input parameters. As illustrated, the input parameter(s) 502 may optionally be provided to (or detected by) the playback device 250. Additionally or alternatively, the input parameter(s) 502 may be provided to (or detected by) the remote computing device(s) 106.In some examples, the rendering device 250 transmits the input parameters to the remote computing device(s) 106, which in turn provide an appropriate version to the rendering device 250 without the rendering device 250 explicitly requesting a particular version. g. Exemplary methods for generating digital content based on blockchain data
[0119] As mentioned above, a system for creating and playing generative media content may, in some cases, interact with blockchain data (or data stored via another distributed ledger technology). For example, as in Fig. 6, a blockchain layer 620 may be used to provide data as input to other components of the generative media playback system 600, such as the playback device 250, the input parameters 502, the media segments 604, the generative content model(s) 606, and / or the generative media module 214. In various cases, the blockchain layer 620 may store data that may be used as one or more input parameters 502, data that may contain particular media segments 604 or may be used to obtain or influence particular generative content model(s) 606, and / or data that may contain particular generative media modules 214 or may be used to obtain or influence them.Additionally, some or all of these components may communicate with the blockchain layer 620 to write data to the blockchain, record transactions, or otherwise interact with the blockchain layer 620. For example, the playback device 250 may record transactions reflecting the playback of certain tracks on the blockchain layer 620. Data stored via the blockchain layer 620 may include certain input parameters 502, or data stored via the blockchain layer 620 may be used to generate suitable input parameters 502. Similarly, certain media segments 604, generative content models 606, generative media modules 214, input parameters 502, or other suitable data may be written to the blockchain layer 620 to create an immutable record of such content, transactions, or other data.Further details on the use of blockchain technology (or other suitable distributed ledger technology) in the creation and playback of generative media content are described in more detail below.
[0120] Fig. 7 is a schematic diagram of another example of a distributed generative media playback system 700. As illustrated, the system 700 includes or communicates with a blockchain layer 620 to receive, generate, or store, for example, input parameters 502, generative content models 606, or other data or parameters used in the creation and playback of generative media content.
[0121] Examples of such blockchain layers 620 include public distributed ledgers such as Ethereum, Bitcoin, Solana, Avalanche, Polygon, and many others. Although a blockchain layer 620 is illustrated, any suitable distributed ledger technology may be used in various examples, including private or semi-private blockchains, as well as non-blockchain implementations such as directed acyclic graphs (DAGs) (e.g., Nano, IOTA, etc.). In various examples, participants using a blockchain layer 620 may transact with each other in a peer-to-peer manner, and the operation of the blockchain layer 620 may be distributed such that no central entity controls the operation of the network. Such distributed ledgers may be used to track the creation, exchange, and redemption of certain real-world assets, such as currency.This approach enables reliable auditing of asset transactions due to the virtual immutability of data stored on a blockchain. Currencies are only one of several assets that should be tracked on a distributed ledger. Other types of assets may differ from currencies with respect to one or more behaviors that govern the creation, exchange, and / or redemption of assets. Furthermore, different blockchain architectures may differ in terms of policies and protocols, as well as in the tools used to program asset behavior.
[0122] In general, a distributed ledger, in which each unit of an asset is represented by some form of digital token, can be programmed to endow that token with a set of behaviors appropriate to the asset it represents. For example, "fungible" behavior allows an asset to be exchanged for other assets of the same class. Each unit of a particular currency (e.g., a dollar) is fungible because it has the same value as any other unit of the same denomination. A title to property, on the other hand, is "non-fungible" because its value depends on the size, location, and other aspects of the specified ownership. For each asset represented by a token, the corresponding fungible or non-fungible behavior is programmed into the token class in the virtual ledger that tracks the asset.
[0123] According to some embodiments, tokens transacted via blockchain layer 620 may be non-fungible. Such non-fungible tokens (NFTs) may be unique and not interchangeable with other tokens. The NFT may include and / or be associated with a unique piece of digital art and / or music, a domain name, a digital collectible (e.g., CryptoKitties, memes), an event ticket, a portion of a virtual world, a digital object used in games, an avatar or character, an item with a utility (e.g., a specific function such as providing voting or management rights), etc. In various examples, the NFTs themselves may contain the relevant data (e.g., the raw audio data for a music NFT may be stored on-chain), or the NFT may contain a pointer (e.g., URL or URI) that points to data stored elsewhere (e.g.,Audio data stored on a server maintained by the publisher of the music NFT).
[0124] Such tokens, whether fungible or not, can be stored by users in a digital wallet. A digital wallet can be a device, a physical medium, a program, or a service that stores the public and / or private keys for blockchain transactions. In some cases, a digital wallet can store multiple public / private key pairs for different blockchains, allowing a user to store assets associated with different blockchains in a single wallet. Examples include MetaMask, Phantom, Coinbase Wallet, Ledger Nano, etc. In operation, a user can sign blockchain transactions through the wallet using the corresponding private key (or authorize the wallet to sign the transaction with the private key).The transaction is then confirmed if the transaction signature is valid and then added to a corresponding block in the blockchain. In some examples, a wallet identifier itself can be used as an input parameter for a generative model, regardless of the tokens held in the respective wallet.
[0125] In various implementations, the blockchain layer 620 may be configured to automatically execute transactions under one or more conditions. Such self-executing transactions may be referred to as "smart contracts." A smart contract may include computer code stored on the blockchain that is configured to execute only under certain circumstances and in a specific manner. For example, a smart contract may be configured to execute a specific transaction when a threshold is exceeded, at a specific time, based on one or more other transactions, or other suitable criteria.In some examples, a generative media module 214 and / or a generative content model 606 may be implemented in the form of a smart contract, such that interaction with the smart contract via the blockchain layer 620 causes the smart contract to output generative media content, a generative content model, or data or instructions that can be used to generate such generative media content or a generative content model.
[0126] An organizational structure unique to blockchains is a decentralized autonomous organization (DAO). A DAO is typically a community-governed entity without a central authority. Such DAOs can be completely autonomous and transparent, with smart contracts dictating the underlying rules and executing agreed-upon decisions. Community votes can be conducted by token holders using on-chain transactions. Based on the outcome of certain votes, smart contracts can execute specific transactions or other code to implement the DAO members' decisions. Typically, DAOs issue tokens to users, either in exchange for monetary investments or donations, or without compensation (e.g., via an "air drop"). Token holders then typically retain certain voting rights, which may be proportional to their holdings.In some cases, token holders also receive financial rewards, such as a share of the transaction fees charged by the DAO.
[0127] In the Fig. 7, the generative media module 214 may receive a variety of inputs and, in response, output one or more generative content versions 610. These content versions 610 are stored in the generative media content storage 616, from which a particular selected generative content version 618 may be selected for playback via the playback device 250 or another output device (e.g., a light component of the generative media content version 618 may cause the lighting device 702 to output light corresponding to the generative media content version 618, e.g., with a particular hue, color temperature, brightness, on / off or other pattern, etc.). The inputs to the generative media module 214 include the generative content model 606 and the input parameter(s) 502, similar to the example system 600 described previously in Fig. 6. As previously mentioned, in some cases, the generative content model 606 may be stored via the blockchain layer 620 or obtained from data stored via the blockchain layer 620. Similarly, one or more of the input parameters 502 may include or be based on data stored via the blockchain layer 620. For example, blockchain data may be used in the generative media module 214 to generate a suitable output, such as the "sound" of data streams (e.g., a real-time feed of cryptocurrency prices or other data may be converted into a corresponding sound output). In some cases, the blockchain data may include data provided by one or more "oracles," which are typically third-party services that provide smart contracts with external information (e.g.,Price feeds, weather data, election results, etc.). In some examples, the generative media module 606 and / or the generative media content 616 may be stored locally via the playback device 250. In this case, the input parameters 502 may be streamed to the playback device 250 to generate new versions 610 of the generative media content 616.
[0128] Additionally or alternatively, the generative media module 214 may receive as input the output of one or more smart contracts 706. In some cases, the generative media module 214 may itself take the form of a smart contract, such that the program code is stored on the blockchain and automatically executed under certain conditions (e.g., when a user 708 interacts with the smart contract 706 and, in response, certain generative media content is delivered to a specific destination). In some examples, the generative media module 214 may run locally or via remote servers (rather than as a smart contract on a blockchain), but may communicate with the smart contract 706 to either receive input parameters 502 from it or to provide appropriate output to the smart contract 706.For example, a particular piece of generative media content output by the generative media module 214 may be used to generate one or more NFTs via the smart contract 706. In some implementations, each particular version of the generative content generated by the generative media module 214 may have a corresponding NFT, such that each NFT generated by the smart contract 706 based on inputs from the generative media module 214 is unique. This is described in . Fig. 7 is graphically depicted with a plurality of discrete NFTs 710a-f, labeled NFT1-NFTn, that can be generated via the smart contract 706. These NFTs 710 can additionally be provided as inputs to the generative media module 214. For example, the generative media module 214 can dynamically produce different content based at least in part on the particular NFTs 710 with which it interacts. Additionally or alternatively, a user 708 can only access the respective generative media module 214 if the user has the corresponding NFT 710 in their digital wallet.
[0129] In some examples, one or more of the NFTs 710 are existing NFTs owned by individuals or third-party entities (e.g., individuals or entities unaffiliated with the user 708) that can be accessed, possibly temporarily, by the generative media module 214. In certain examples, one or more of the NFTs 710 do not include audio data, but rather other data types (e.g., video, image, or other data) that can be "sonified" or otherwise translated into a form that can be used to generate media content by the generative media module 214 (or another suitable component).
[0130] In the illustrated example, the smart contract 706 may also issue an NFT 712 labeled NFT0, which may be owned by the user 708. Furthermore, this NFT 712 may interact with or be generated through the artist DAO 714, which in turn may communicate with one or more smart contracts 706. As previously mentioned, DAOs are typically community-governed organizations in which members hold tokens (e.g., NFT 712) that denote membership, confer voting or other governance rights, and optionally entitle the token holders to economic benefits, such as proceeds from future DAO revenues. In some examples, the artist DAO 714 may hold certain music royalties, which, when collected, may be partially distributed to the holders of the corresponding NFTs or other tokens (e.g.,the user 708 may receive economic benefits from the artist DAO 714 based at least in part on the user's ownership of the NFT 712).
[0131] Optionally, the data corresponding to the NFT 712 can be stored or embedded on physical media. As described in Fig. For example, as shown in Figure 7, data corresponding to the NFT 712 may be embedded on a vinyl record 716 (e.g., via a unique QR code, a code embedded in the grooves of the vinyl record 716), or via another suitable technique for storing data via the physical medium (e.g., NFC or another RF tag). Although a vinyl record 716 is depicted, in various examples, the physical substrate may take any number of forms, e.g., a playback device, a physical card or ticket, a poster, etc.
[0132] The inclusion of blockchain layer 620, smart contract(s) 706, DAO 714, and / or NFTs 710 and 712 can provide several benefits to generative media playback system 700. For example, by associating certain NFTs with generative media content (e.g., soundscapes), user 708 can receive a personalized experience that is also potentially transferable via the distributed peer-to-peer transaction mechanism of blockchain layer 620. However, one issue with this approach is that the data contained in the NFT is typically static, which contrasts with the dynamic, contextual nature of a generative soundscape or other generative media content. Another problem associated with NFTs is link rot, where the data in the NFT becomes outdated because the locators in the NFT no longer point to the artwork associated with the NFT.One way to mitigate the possibility of link rot is to store generative media content or a generative media engine in a blockchain layer 620. Furthermore, in some cases, the artwork itself can be embedded within the NFT (e.g., the artwork data is stored on-chain rather than on a separate server). f.
[0133] In some cases, the NFTs 710 may contain the special seeds used by the generative media module 214. Examples of such seeds are the media segments 604 of Fig. 6, tracks, energy levels or metadata from Fig. 4 or one of the various in Fig. 3.) Optionally, the properties of a particular NFT (at least with respect to its use by the generative media module 14) may depend on its transaction history. Depending on when an NFT was last made or how many transactions it has undergone, for example, the seed associated with that NFT may change dynamically. Additionally or alternatively, different combinations of NFTs 710 connected to the generative media module 214 may result in different content versions 610 being produced, so that the respective generative media output depends on which NFTs 710 are used as inputs.
[0134] In some examples, additional data associated with the generative media playback system 700 may be stored via the blockchain layer 620. For example, the listening history of the user 708 may be stored in the blockchain layer 620 to provide an immutable record of the listening history. This may include listening history of generative media content or non-generative content (e.g., pre-recorded standard audio tracks or other content). In some cases, "followers" of a particular user 708 may subscribe to their listening history by accessing the data stored via the blockchain layer 620. Because blockchains are typically permissionless and transparent, followers can freely access the listening history (or other content data associated with a particular network address).In another example, a follower may subscribe to the generative media content of a particular user 708 such that while the generative media content for the user 708 is dynamically created based on the various inputs, the same media content is available to other followers.
[0135] For example, consider an artist who wishes to create a particular soundscape using a generative media module 214. The artist's fans can listen to the soundscape in real-time or near-real-time via blockchain data. In some cases, the followers may use their own local generative media modules 214 (or those running on other devices), which then utilize inputs, pointers, or other data from the artist's generative media module 214 to generate corresponding generative media content. In at least some examples, such local generative media modules 214 may also utilize additional local inputs (e.g., certain characteristics of the playback device, local sensor data, etc.).), such that the artist's generative media content is merged with that generated by the user's own local generative media module 214 to produce a slightly altered generative media content that still reflects the artist's intent. Optionally, an artist's followers may be required to own a specific NFT or other token to access the artist's generative media content. In another example, a specific curated playlist or radio station may be accessible only to users who own a specific NFT or token. h. Exemplary methods for generating and reproducing generative audio
[0136] The Fig. 8-13 are flowcharts of example methods for playing generative audio content across multiple discrete playback devices. Methods 800, 900, 1000, 1100, 1200, 1300 may be implemented by any of the devices or systems described herein or by other known or later developed devices or systems.
[0137] Various examples of methods 800, 900, 1000, 1100, 1200, 1300 include one or more operations, functions, or actions represented by blocks. Although the blocks are illustrated in sequential order, these blocks may also be executed in parallel and / or in a different order than that disclosed and described herein. Furthermore, the various blocks may be combined into fewer blocks, split into additional blocks, and / or removed depending on the desired implementation.
[0138] Additionally, the flowcharts for methods 800, 900, 1000, 1100, 1200, 1300, and for other processes and methods disclosed herein illustrate the functionality and operation of possible implementations of some examples. In this context, each block may represent a module, segment, or portion of program code containing one or more instructions that may be executed by one or more processors to implement particular logical functions or steps in the method. The program code may be stored on any type of computer-readable medium, such as a storage medium such as a floppy disk or hard disk. The computer-readable medium may include, for example, non-transitory computer-readable media, such as tangible, non-transitory computer-readable media that store data for short periods of time, such as register memory, processor cache, and random-access memory (RAM).Computer-readable media may also include non-transitory media, such as secondary or persistent long-term storage, e.g., read-only memory (ROM), optical or magnetic disks, and compact disc read-only memory (CD-ROM). Computer-readable media may also be any other volatile or non-volatile storage system. The computer-readable medium may, for example, be a computer-readable storage medium or a tangible storage device. Furthermore, each block in the . Fig. 8 to 13 for the methods and for other methods and processes disclosed herein illustrate circuitry wired to perform the specific logical functions in the method.
[0139] With reference to Fig. 8, the method 800 begins at block 802, which includes receiving a command to play generative media content across a group or contiguous area of playback devices. Such a command may be received, for example, via a controller 130 or other suitable user input.
[0140] At block 804, method 800 includes providing timing information by a group coordination device to generative group member devices. The timing information may include contextual timing data (e.g., timing data associated with sensor inputs or other user inputs), timing data for generative media playback (e.g., timestamps and synchronization data to facilitate synchronous playback of generative media), and / or timing data for media content streams based on a common clock.
[0141] In block 806, the method optionally includes determining generative media content models to be used to generate generative media. Such models may, for example, be implemented in the media content module(s) 214 described above with respect to the Fig. 2-6. In some examples, each of the member devices may use the same or substantially the same generative media content models, while in other cases, some or all of the member devices may use generative media content models that differ from one another. For example, a first generative media content model may generate rhythmic beats, while a second generative media content model generates nature sounds. When played simultaneously, the generative audio signals generated by these different generative media content models may create a pleasant listening experience for users. In some examples, the selection of a particular generative media content model may itself be based on another input parameter, such as device capabilities, device location, number of present users, user sensor data, etc.
[0142] At block 808, method 800 includes the coordinating device and the member device(s) receiving contextual and / or other input data. The input data may include, for example, sensor data, user input, context data, or other relevant data that may be used as input for a generative media content model.
[0143] The method 800 continues in block 810, where the coordinating device and the member devices synchronously generate and play generative media content.
[0144] Fig. 9 shows another method 900 for playing generative audio content across multiple playback devices. The method 900 begins in block 902 with receiving one or more input parameters at a group coordination device. As previously mentioned, the input parameters may include sensor data, user input, context data, or other inputs that can be used by a generative media module to generate generative audio for playback.
[0145] In block 904, the coordination device transmits the input parameters to one or more discrete playback devices equipped with generative media modules. For example, the coordination device may receive sensor data and other input parameters and transmit them to a plurality of discrete playback devices within an environment or even distributed across multiple environments. In some examples, these input parameters may include features of the generative content model(s) themselves, e.g., commands for updating the generative media modules stored locally by one or more of the discrete playback devices.
[0146] At block 906, the method includes transmitting timing data from the coordination device to the playback devices. The timing data may include, for example, clock data or other synchronization signals configured to facilitate the coordination of the production of generative media content and the synchronous playback of that generative media content across the individual playback devices.
[0147] The method 900 continues at block 908 with simultaneous playback of generative media content across the playback devices based at least in part on the input parameters. As previously mentioned, the various playback devices may play the same generative audio data, or each may play different generative audio data that, when played synchronously, creates a desired psychoacoustic effect for the present users.
[0148] In the example of Fig. 9, the generative media content can be generated locally by individual playback devices, each of which plays its own generative audio content in parallel. In an alternative method 1000, which is described in Fig. As shown in Figure 10, the generative media content is generated in the coordination device, which then transmits the generative media content along with timing data to the individual playback devices for synchronous playback.
[0149] At block 1002, method 1000 includes receiving one or more input parameters at a group coordination device. Examples of the input parameters are described elsewhere and include sensor data, user input, context data, or other inputs that can be used by a generative media module to generate generative audio for playback.
[0150] In block 1004, the coordinator generates first and second generative media streams based at least in part on the input parameters, and in block 1006, the first and second media streams are transmitted to first and second discrete playback devices, respectively. For example, the coordinator may generate two streams constituting different channels of generative audio signals, e.g., a left channel to be played by a first playback device and a corresponding right channel to be played by a second playback device. Additionally or alternatively, the two streams may be different audio tracks that can nevertheless be played back synchronously, e.g., rhythmic beats in one stream and nature sounds in the other stream. Numerous other variations are possible.Although this example describes two streams for two playback devices, in various other examples, there may be one stream or more than two streams that may be provided to any number of playback devices for synchronous playback. In at least some examples, one or more of the playback devices may be located in different, widely separated environments (e.g., in different homes, different cities, etc.).
[0151] In block 1008, the first playback device plays the first generative media stream, and the second playback device simultaneously plays the second generative media stream. In some examples, this simultaneous playback may be facilitated through the use of timing data received from the coordination device.
[0152] Fig. 11 shows another example of a method 1100 for generating and playing generative media content. As described above, it may be advantageous to perform at least some of the processing required to generate generative media content using one or more remote computing devices (e.g., cloud-based servers) to reduce the computational requirements on local playback devices and / or to perform operations that would not be feasible with the components of the local playback devices. The method 1100 begins in block 1102 by receiving one or more input parameters at a playback device. As previously mentioned, the input parameters may include sensor data, user input, context data, or other inputs that may be used by a generative media module to generate generative audio for playback.
[0153] At block 1104, method 1100 includes accessing a library containing a plurality of preexisting media segments. For example, a plurality of discrete media segments (e.g., audio tracks) may be stored on the playback device and arranged and / or shuffled for playback according to a generative content model. Additionally or alternatively, the library may be stored on one or more remote computing devices, with individual media segments being transferred from the remote computing device(s) to the playback device for playback.
[0154] The method 1100 proceeds, at block 1106, to generate media content by ordering a selection of the pre-existing media segments from the library for playback according to a generative media content model and based at least in part on the input parameters. As described elsewhere herein, a generative media content model may receive the one or more input parameters as input. Based on the input and using the generative media content model, certain generative media content may be output. Among other things, the generative media content may include an ordering of the pre-existing media segments, for example, arranging them in a particular order, with or without overlap between individual media segments, and / or with additional processing or blending steps performed to produce the desired output.
[0155] In block 1108, the playback device plays the generated media content. In various examples, this playback may occur simultaneously and / or synchronously with other playback devices.
[0156] Fig. 12 shows another example of a method 1200 for generating and playing generative media content. As described above, it may be advantageous to include or rely on blockchain data to generate generative media content. The method 1200 begins at block 1202 by accessing blockchain data stored on a distributed ledger via a playback device. The distributed ledger may be a public blockchain such as Ethereum, Bitcoin, Solana, etc., or optionally, a private or semi-private blockchain or a non-blockchain ledger. The blockchain data may include one or more pre-existing media segments or other seeds used in the creation of generative media content. In some examples, such data is stored directly on the blockchain itself, while in other cases, the blockchain may store a pointer (e.g.,A blockchain can store a URL (or URI) that points to the location of the media segments or other seed data. Optionally, the blockchain data can take the form of one or more non-fungible tokens (NFTs).
[0157] The method 1200 continues in block 1204 with the generation of media content via the playback device based at least in part on the blockchain data. In some examples, this generation may include accessing a library of pre-existing media segments stored on the playback device or another suitable storage location (e.g., a remote server, other devices on a local network, etc.). In some cases, these media segments may be retrieved from the blockchain or other remote location and stored via the playback device. The playback device may then select pre-existing media segments from the library for playback according to a generative media content model. This selection may be based at least in part on the blockchain data.As described elsewhere, the generative media content model may, for example, communicate with a smart contract or a decentralized autonomous organization (DAO) in a manner that affects the particular generative media content issued by the model. In some cases, certain NFTs or other tokens may influence the output of the generative media content model. Such NFTs or other tokens may, in some cases, be used in combination, such that the particular combination of NFTs or other tokens generates a unique output via the generative media content model. In at least some cases, two or more blockchains may be used concurrently in this manner (e.g., the generative media content model may vary the output based on a user owning both a first NFT on the Solana network and a second NFT on the Ethereum network).In block 1206, the method 1200 includes playing the generated media content via the playback device.
[0158] Fig. 13 shows another example of a method 1300 for generating and playing generative media content. As previously mentioned, smart contracts or other self-executing code may be used to generate, store, and play generative media content. The method 1300 begins at block 1302 with a playback device transferring data associated with a first token over a network to a network address of a distributed ledger. The address may be associated with a generative media smart contract configured to generate a generative media content model. In some examples, the first token may be an NFT, and optionally, a plurality of such tokens may be transferred to the smart contract address.
[0159] At block 1304, the method 1300 includes receiving the generative media content model via the playback device from the network address associated with the generative media smart contract. When executed, the smart contract may, for example, generate a particular generative media content model based at least in part on the data associated with the first token. This generative media content model may then be provided to a user for generating new media content tailored based on the first token data. In addition to the first token data, the smart contract may also generate various outputs based on other input parameters, as described elsewhere (e.g., sensor data, playback device characteristic data, playback device state, user listening history data, etc.).), provided such data is provided to the smart contract address. Additionally or alternatively, the generative media content model provided to the user may output different media content based on one or more of these other input parameters.
[0160] Next, in block 1306, the playback device generates media content based at least in part on the generative media content model. In some examples, this generation may include accessing a library of pre-existing media segments stored on the playback device or another suitable storage location (e.g., a remote server, other devices on a local network, etc.). The playback device may then arrange a selection of pre-existing media segments from the library for playback according to the generative media content model. In block 1308, the method 1300 includes playing the generated media content via the playback device.
[0161] Various examples of generative media rendering are described herein. One skilled in the art will appreciate that a variety of different generative media modules, algorithms, inputs, sensor data, and rendering device configurations are contemplated and may be used in accordance with the present technology. IV. Conclusion
[0162] The above discussion of playback devices, control devices, playback zone configurations, and media content sources represents only a few examples of operating environments in which the functions and methods described below may be implemented. Other operating environments and configurations of media playback systems, playback devices, and network devices not expressly described herein may also be applicable and suitable for implementing the functions and methods.
[0163] The above description describes, among other things, various example systems, methods, devices, and articles of manufacture that include, among other components, firmware and / or software executing on hardware. It is understood that these examples are for illustrative purposes only and should not be considered limiting. For example, it is contemplated that some or all of the firmware, hardware, and / or software aspects or components may be embodied solely in hardware, solely in software, solely in firmware, or in any combination of hardware, software, and / or firmware. Accordingly, the provided examples are not the only ways such systems, methods, devices, and / or articles of manufacture may be implemented.
[0164] When reference is made to "example" herein, it means that a particular feature, structure, or characteristic described in connection with the example may be included in at least one example or embodiment of an invention. The appearance of this term in various places in the specification does not necessarily refer to the same example, nor do separate or alternative examples mutually exclude other examples. Thus, the examples described herein may be combined with other examples, as expressly and implicitly understood by those skilled in the art.
[0165] The specification is presented largely in terms of illustrative environments, systems, methods, steps, logic blocks, processing, and other symbolic representations that directly or indirectly resemble the operations of network-connected data processing devices. These process descriptions and representations are typically used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art. Numerous specific details are set forth to provide a thorough understanding of the present disclosure. However, one skilled in the art will understand that certain examples of the present technology may be practiced without certain specific details. In other instances, well-known methods, processes, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the examples.Accordingly, the scope of the present disclosure is defined by the appended claims rather than by the foregoing description of the examples.
[0166] If any of the appended claims are read to cover a pure software and / or firmware implementation, at least one of the elements in at least one example is hereby expressly defined to include a tangible, non-transferable medium such as a memory, DVD, CD, Blu-ray, etc., on which the software and / or firmware is stored.
[0167] The disclosed technology is illustrated, for example, by various examples described below. For convenience, various examples of the disclosed technology are described as numbered examples (1, 2, 3, etc.). These examples are for illustrative purposes and do not limit the disclosed technology. It should be noted that each of the dependent examples may be combined in any combination and incorporated into a corresponding independent example. The other examples may be presented in a similar manner.
[0168] Example 1: A method comprising: receiving input parameters at a coordination device; transmitting the input parameters from the coordination device to a plurality of playback devices, each including a generative media module; transmitting timing data from the coordination device to the plurality of playback devices such that the playback devices concurrently play generative media content based at least in part on the input parameters.
[0169] Example 2: The method of any of the examples recited herein, wherein the first and second playback devices play different generative audio content, each based at least in part on the input parameters.
[0170] Example 3: The method of any of the examples described herein, wherein the input parameters comprise one or more of the following: physiological sensor data (e.g., biometric sensors, wearable sensors (heart rate, temperature, respiratory rate, brain waves)); sensor data from networked devices (e.g., cameras, lights, temperature sensors, thermostats, occupancy detectors, microphones); environmental data (e.g., weather, temperature, time / day / week / month); performance data of the playback device (e.g., number and type of transducers, output power); state of the playback device (e.g., device temperature, battery level, current audio playback, location of the playback device, whether the playback device is connected to another playback device); or user data (e.g.,User identity, number of users present, user location, user history data, user preference data, user biometric data (heart rate, temperature, respiratory rate, brain activity), user mood data).
[0171] Example 4: The method of any of the examples recited herein, wherein the timing data comprises at least one of the following: clock data or one or more synchronization signals.
[0172] Example 5: The method of any of the examples recited herein further comprises transmitting a signal from the coordination device to at least one of the plurality of playback devices that causes a change in the generative media module of the playback device.
[0173] Example 6: The method of any of the examples recited herein, wherein the generative media content comprises at least one of the following: generative audio content or generative visual content.
[0174] Example 7: The method of any of the examples recited herein, wherein the generative media modules comprise algorithms that automatically generate novel media outputs based on inputs that include at least the input parameters.
[0175] Example 8: A device comprising: a network interface; one or more processors; and a tangible, non-transferable computer-readable medium storing instructions that, when executed by the one or more processors, cause the device to perform operations comprising: receiving input parameters over the network interface; transmitting the input parameters over the network interface to a plurality of playback devices, each including a generative media module; transmitting timing data over the network interface to the plurality of playback devices such that the playback devices concurrently play generative media content based at least in part on the input parameters.
[0176] Example 9: The device of any of the examples recited herein, wherein the first and second playback devices play different generative audio content, each based at least in part on the input parameters.
[0177] Example 10: The device of any of the examples recited herein, wherein the input parameters comprise one or more of the following: physiological sensor data (e.g., biometric sensors, wearable sensors (heart rate, temperature, respiratory rate, brain waves)); sensor data from networked devices (e.g., cameras, lights, temperature sensors, thermostats, occupancy detectors, microphones); environmental data (e.g., weather, temperature, time / day / week / month); performance data of the playback device (e.g., number and type of transducers, output power); state of the playback device (e.g., device temperature, battery level, current audio playback, location of the playback device, whether the playback device is connected to another playback device); or user data (e.g.,User identity, number of users present, user location, user history data, user preference data, user biometric data (heart rate, temperature, respiratory rate, brain activity), user mood data).
[0178] Example 11: The apparatus of any of the examples recited herein, wherein the timing data comprises at least one of the following: clock data or one or more synchronization signals.
[0179] Example 12: The device of any of the examples recited herein, wherein the operations further comprise transmitting a signal from the coordination device over the network interface to at least one of the plurality of playback devices that causes a change in the generative media module of the playback device.
[0180] Example 13: The device of any of the examples recited herein, wherein the generative media content comprises at least one of the following: generative audio content or generative visual content.
[0181] Example 14: The apparatus of any of the examples recited herein, wherein the generative media modules comprise algorithms that automatically generate novel media outputs based on inputs that include at least the input parameters.
[0182] Example 15: A tangible, non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a device, cause the device to perform operations comprising: receiving input parameters at a coordination device; transmitting the input parameters from the coordination device to a plurality of playback devices, each including a generative media module; transmitting timing data from the coordination device to the plurality of playback devices such that the playback devices concurrently play generative media content based at least in part on the input parameters.
[0183] Example 16: The computer-readable medium of any of the examples described herein, wherein the first and second playback devices play different generative audio content, each based at least in part on the input parameters.
[0184] Example 17: The computer-readable medium of any of the examples recited herein, wherein the input parameters comprise one or more of the following: physiological sensor data (e.g., biometric sensors, wearable sensors (heart rate, temperature, respiratory rate, brain waves)); sensor data from networked devices (e.g., cameras, lights, temperature sensors, thermostats, occupancy detectors, microphones); environmental data (e.g., weather, temperature, time / day / week / month); data about the capabilities of the playback device (e.g., number and type of transducers, output power); state of the playback device (e.g., device temperature, battery level, current audio playback, location of the playback device, whether the playback device is connected to another playback device); or user data (e.g.,User identity, number of users present, user location, user history data, user preference data, user biometric data (heart rate, temperature, respiratory rate, brain activity), user mood data).
[0185] Example 18: The computer-readable medium of any of the examples described herein, wherein the timing data comprises at least one of the following: clock data or one or more synchronization signals.
[0186] Example 19: The computer-readable medium of any of the examples recited herein further comprises transmitting a signal from the coordination device to at least one of the plurality of playback devices that causes the generative media module of the playback device to be altered.
[0187] Example 20: The computer-readable medium of any of the examples listed here, wherein the generative media content comprises at least one of the following: generative audio content or generative visual content.
[0188] Example 21: The computer-readable medium of any of the examples recited herein, wherein the generative media modules comprise algorithms that automatically generate novel media outputs based on inputs that include at least the input parameters.
[0189] Example 22: A method comprising: receiving input parameters at a coordination device; generating a first and a second media content stream via a generative media module of the coordination device; transmitting the first media content stream via the coordination device to a first playback device; transmitting the second media content stream via the coordination device to a second playback device such that the first and second media content streams are simultaneously played via the first and second playback devices.
[0190] Example 23: The method of any of the examples recited herein, further comprising transmitting timing data from the coordinating device to each of the first and second playback devices.
[0191] Example 24: The method of any of the examples recited herein, wherein the timing data comprises at least one of the following: clock data or one or more synchronization signals.
[0192] Example 25: The method of any of the examples recited herein, wherein the first and second media content streams are different.
[0193] Example 26: The method of any of the examples described herein, wherein the input parameters comprise one or more of the following: physiological sensor data (e.g., biometric sensors, wearable sensors (heart rate, temperature, respiratory rate, brain waves)); sensor data from networked devices (e.g., cameras, lights, temperature sensors, thermostats, occupancy detectors); environmental data (e.g., weather, temperature, time / day / week / month); performance data of the playback device (e.g., number and type of transducers, output power); state of the playback device (e.g., device temperature, battery level, current audio playback, location of the playback device, whether the playback device is connected to another playback device); or user data (e.g.,User identity, number of users present, user location, user history data, user preference data, user biometric data (heart rate, temperature, respiratory rate, brain activity), user mood data).
[0194] Example 27: The method of any of the examples recited herein, further comprising modifying the generative media module of the coordination device.
[0195] Example 28: The method of any of the examples recited herein, wherein each of the first and second generative media content streams comprises at least one of the following: generative audio content or generative visual content.
[0196] Example 29: The method of any of the examples recited herein, wherein the generative media modules comprise an algorithm that automatically generates novel media outputs based on inputs that include at least the input parameters.
[0197] Example 30: A device comprising: a network interface; a generative media module; one or more processors; and tangible, non-transferable computer-readable media storing instructions that, when executed by the one or more processors, cause the device to perform operations comprising: receiving input parameters via the network interface; generating first and second media content streams via the generative media module; transmitting the first media content stream via the network interface to a first playback device; and transmitting the second media content stream via the network interface to a second playback device such that the first and second media content streams are simultaneously played back via the first and second playback devices.
[0198] Example 31: The apparatus of any of the examples recited herein, wherein the operations further comprise transmitting timing data to each of the first and second playback devices via the network interface.
[0199] Example 32: The apparatus of any of the examples recited herein, wherein the timing data comprises at least one of the following: clock data or one or more synchronization signals.
[0200] Example 33: The device of any of the examples recited herein, wherein the first and second media content streams are different.
[0201] Example 34: The device of any of the examples recited herein, wherein the input parameters comprise one or more of the following: physiological sensor data (e.g., biometric sensors, wearable sensors (heart rate, temperature, respiratory rate, brain waves)); sensor data from networked devices (e.g., cameras, lights, temperature sensors, thermostats, occupancy detectors); environmental data (e.g., weather, temperature, time / day / week / month); performance data of the playback device (e.g., number and type of transducers, output power); state of the playback device (e.g., device temperature, battery level, current audio playback, location of the playback device, whether the playback device is connected to another playback device); or user data (e.g.,User identity, number of users present, user location, user history data, user preference data, user biometric data (heart rate, temperature, respiratory rate, brain activity), user mood data).
[0202] Example 35: The apparatus of any of the examples recited herein, wherein the acts further comprise modifying the generative media module.
[0203] Example 36: The device of any of the examples recited herein, wherein each of the first and second generative media content streams comprises at least one of the following: generative audio content or generative visual content.
[0204] Example 37: The apparatus of any of the examples recited herein, wherein the generative media modules comprise an algorithm that automatically generates novel media outputs based on inputs that include at least the input parameters.
[0205] Example 38: A tangible, non-transferable computer-readable medium storing instructions that, when executed by one or more processors of a coordination device, cause the coordination device to perform operations comprising: receiving input parameters at the coordination device; generating, via a generative media module of the coordination device, first and second media content streams; transmitting, via the coordination device, the first media content stream to a first playback device; and transmitting, via the coordination device, the second media content stream to a second playback device such that the first and second media content streams are simultaneously played back via the first and second playback devices.
[0206] Example 39: The computer-readable medium of any of the examples herein, further comprising transmitting timing data from the coordination device to each of the first and second playback devices.
[0207] Example 40: The computer-readable medium of any of the examples recited herein, wherein the timing data comprises at least one of the following: clock data or one or more synchronization signals.
[0208] Example 41: The computer-readable medium of any of the examples recited herein, wherein the first and second media content streams are different.
[0209] Example 42: The computer-readable medium of any of the examples herein, wherein the input parameters comprise one or more of the following: physiological sensor data (e.g., biometric sensors, wearable sensors (heart rate, temperature, respiratory rate, brain waves)); sensor data from networked devices (e.g., cameras, lights, temperature sensors, thermostats, occupancy detectors); environmental data (e.g., weather, temperature, time / day / week / month); performance data of the playback device (e.g., number and type of transducers, output power); state of the playback device (e.g., device temperature, battery level, current audio playback, location of the playback device, whether the playback device is connected to another playback device); or user data (e.g.,User identity, number of users present, user location, user history data, user preference data, user biometric data (heart rate, temperature, respiratory rate, brain activity), user mood data).
[0210] Example 43: The computer-readable medium of any of the examples recited herein, wherein the operations further comprise modifying the generative media module of the coordination device.
[0211] Example 44: The computer-readable medium of any of the examples recited herein, wherein each of the first and second generative media content streams comprises at least one of the following: generative audio content or generative visual content.
[0212] Example 45: The computer-readable medium of any of the examples recited herein, wherein the generative media modules comprise an algorithm that automatically generates novel media outputs based on inputs that include at least the input parameters.
[0213] Example 46: A playback device comprising: one or more amplifiers configured to drive one or more transducers; one or more processors; and a data store having instructions thereon that, when executed by the one or more processors, cause the playback device to perform operations comprising: receiving one or more first input parameters at the playback device; generating first media content via the playback device based at least in part on the one or more first input parameters, wherein generating comprises: accessing a library stored on the playback device and including a plurality of pre-existing media segments;and arranging a first selection of pre-existing media segments from the library for playback according to a generative media content model and based at least in part on the one or more input parameters; and playing the first generated media content via the one or more amplifiers.
[0214] Example 47: The playback device of any of the examples herein, wherein the operations further comprise: receiving, at the playback device, one or more second input parameters different from the first; generating, via the playback device, second media content based at least in part on the one or more second input parameters, the second media content different from the first, wherein generating comprises: accessing the library; and arranging a second selection of pre-existing media segments from the library for playback according to the generative media content model and based at least in part on the one or more second input parameters; and playing the second generated media content via the one or more amplifiers.
[0215] Example 48: The playback device of claim 1, wherein arranging the first selection of pre-existing media segments from the library for playback comprises arranging two or more of the pre-existing media segments in an at least partially temporally offset manner.
[0216] Example 49: The playback device of any of the examples herein, wherein arranging the first selection of pre-existing media segments from the library for playback comprises arranging two or more of the pre-existing media segments in an at least partially temporally overlapping manner.
[0217] Example 50: The playback device of any of the examples herein, wherein arranging the first selection of pre-existing media segments from the library for playback comprises applying different equalization settings to different pre-existing media segments.
[0218] Example 51: The playback device of any of the examples herein, wherein ordering the first selection of pre-existing media segments from the library or playback comprises applying different gain levels over time to different pre-existing media segments.
[0219] Example 52: The playback device of any of the examples herein, wherein ordering the first selection of pre-existing media segments from the library or playback comprises randomly setting a starting point for playback of a particular pre-existing media segment.
[0220] Example 53: The playback device of any of the examples recited herein, wherein the first generated media content and the second generated media content each comprise novel media content.
[0221] Example 54: The playback device of any of the examples herein, wherein the first generated media content comprises audio content and the plurality of pre-existing media segments comprises a plurality of pre-existing audio segments.
[0222] Example 55: The playback device of any of the examples recited herein, wherein the first generated media content comprises audiovisual content and the plurality of pre-existing media segments comprises a plurality of pre-existing audio segments, pre-existing visual media segments, or pre-existing audiovisual media segments.
[0223] Example 56: The playback device of any of the examples recited herein, further comprising: receiving additional pre-existing media segments via a network interface; and updating the library to include at least the additional pre-existing media segments.
[0224] Example 57: The playback device of any of the examples herein, wherein the first and second input parameters comprise one or more of the following parameters: physiological sensor data (e.g., biometric sensors, wearable sensors (heart rate, temperature, respiratory rate, brain waves)); sensor data from networked devices (e.g., cameras, lights, temperature sensors, thermostats, occupancy detectors, microphones); environmental data (e.g., weather, temperature, time / day / week / month); performance data of the playback device (e.g., number and type of transducers, output power); state of the playback device (e.g., device temperature, battery level, current audio playback, location of the playback device, whether the playback device is connected to another playback device); or user data (e.g.,User identity, number of users present, user location, user history data, user preference data, user biometric data (heart rate, temperature, respiratory rate, brain activity, speech characteristics), user mood data).
[0225] Example 58: A method comprising: receiving one or more first input parameters at a playback device; generating first media content via the playback device based at least in part on the one or more first input parameters, wherein generating comprises: accessing a library stored on the playback device and including a plurality of pre-existing media segments; and arranging a first selection of pre-existing media segments from the library for playback according to a generative media content model and based at least in part on the one or more input parameters; and playing the first generated media content via the playback device.
[0226] Example 59: The method of any of the examples recited herein, further comprising: receiving, at the playback device, one or more second input parameters that are different from the first; generating, via the playback device, second media content based at least in part on the one or more second input parameters, the second media content being different from the first, wherein generating comprises: accessing the library; and arranging a second selection of pre-existing media segments from the library for playback according to the generative media content model and based at least in part on the one or more second input parameters; and playing, via the playback device, the second generated media content.
[0227] Example 60: The method of any of the examples recited herein, wherein arranging the first selection of pre-existing media segments from the library for playback comprises arranging two or more of the pre-existing media segments in an at least partially temporally offset manner.
[0228] Example 61: The method of any of the examples recited herein, wherein arranging the first selection of pre-existing media segments from the library for playback comprises arranging two or more of the pre-existing media segments in an at least partially temporally overlapping manner.
[0229] Example 62: The method of any of the examples described herein, wherein arranging the first selection of pre-existing media segments from the library for playback comprises applying different equalization settings to different pre-existing media segments.
[0230] Example 63: The method of any of the examples recited herein, wherein ordering the first selection of pre-existing media segments from the library or playback comprises applying different gain levels over time to different pre-existing media segments.
[0231] Example 64: The method of any of the examples recited herein, wherein ordering the first selection of pre-existing media segments from the library or playing comprises randomly setting a starting point for playing a particular pre-existing media segment.
[0232] Example 65: The method of any of the examples recited herein, wherein the first generated media content and the second generated media content each comprise novel media content.
[0233] Example 66: The method of any of the examples herein, wherein the first generated media content comprises audio content and the plurality of pre-existing media segments comprises a plurality of pre-existing audio segments.
[0234] Example 67: The method of any of the examples herein, wherein the first generated media content comprises audiovisual content and the plurality of pre-existing media segments comprises a plurality of pre-existing audio segments, pre-existing visual media segments, or pre-existing audiovisual media segments.
[0235] Example 68: The method of any of the examples recited herein, further comprising: receiving additional pre-existing media segments via a network interface; and updating the library to include at least the additional pre-existing media segments.
[0236] Example 69: The method of any of the examples herein, wherein the first and second input parameters comprise one or more of the following parameters: physiological sensor data (e.g., biometric sensors, wearable sensors (heart rate, temperature, respiratory rate, brain waves)); sensor data from networked devices (e.g., cameras, lights, temperature sensors, thermostats, occupancy detectors, microphones); environmental data (e.g., weather, temperature, time / day / week / month); performance data of the playback device (e.g., number and type of transducers, output power); state of the playback device (e.g., device temperature, battery level, current audio playback, location of the playback device, whether the playback device is connected to another playback device); or user data (e.g.,User identity, number of users present, user location, user history data, user preference data, user biometric data (heart rate, temperature, respiratory rate, brain activity, speech characteristics), user mood data).
[0237] Example 70: A tangible, non-transitory, computer-readable medium storing instructions that, when executed by one or more processors of a playback device, cause the playback device to perform operations comprising: receiving, at the playback device, one or more first input parameters; generating, via the playback device, first media content based at least in part on the one or more first input parameters, wherein generating comprises: accessing a library stored on the playback device and including a plurality of pre-existing media segments; and arranging a first selection of pre-existing media segments from the library for playback according to a generative media content model and based at least in part on the one or more input parameters;and playing the first generated media content via the playback device.;
[0238] Example 71: The computer-readable medium of any of the examples herein, wherein the operations further comprise: receiving, at the playback device, one or more second input parameters different from the first; generating, via the playback device, second media content based at least in part on the one or more second input parameters, the second media content different from the first, wherein generating comprises: accessing the library; and arranging a second selection of pre-existing media segments from the library for playback according to the generative media content model and based at least in part on the one or more second input parameters; and playing the second generated media content via the one or more amplifiers.
[0239] Example 72: The computer-readable medium of any of the examples described herein, wherein arranging the first selection of pre-existing media segments from the library for playback comprises arranging two or more of the pre-existing media segments in an at least partially temporally offset manner.
[0240] Example 73: The computer-readable medium of any of the examples recited herein, wherein arranging the first selection of pre-existing media segments from the library for playback comprises arranging two or more of the pre-existing media segments in an at least partially temporally overlapping manner.
[0241] Example 74: The computer-readable medium of any of the examples recited herein, wherein arranging the first selection of pre-existing media segments from the library for playback comprises applying different equalization settings to different pre-existing media segments.
[0242] Example 75: The computer-readable medium of any of the examples herein, wherein ordering the first selection of pre-existing media segments from the library or playback comprises applying different gain levels over time to different pre-existing media segments.
[0243] Example 76: The computer-readable medium of any of the examples recited herein, wherein ordering the first selection of pre-existing media segments from the library or playing comprises randomly setting a starting point for playing a particular pre-existing media segment.
[0244] Example 77: The computer-readable medium of any of the examples recited herein, wherein the first generated media content and the second generated media content each comprise novel media content.
[0245] Example 78: The computer-readable medium of any of the examples recited herein, wherein the first generated media content comprises audio content and the plurality of pre-existing media segments comprises a plurality of pre-existing audio segments.
[0246] Example 79: The computer-readable medium of any of the examples recited herein, wherein the first generated media content comprises audiovisual content and the plurality of pre-existing media segments comprises a plurality of pre-existing audio segments, pre-existing visual media segments, or pre-existing audiovisual media segments.
[0247] Example 80: The computer-readable medium of any of the examples recited herein, further comprising: receiving additional pre-existing media segments via a network interface; and updating the library to include at least the additional pre-existing media segments.
[0248] Example 81: The computer-readable medium of any of the examples herein, wherein the first and second input parameters comprise one or more of the following parameters: physiological sensor data (e.g., biometric sensors, wearable sensors (heart rate, temperature, respiratory rate, brain waves)); sensor data from networked devices (e.g., cameras, lights, temperature sensors, thermostats, occupancy detectors, microphones); environmental data (e.g., weather, temperature, time / day / week / month); performance data of the playback device (e.g., number and type of transducers, output power); state of the playback device (e.g., device temperature, battery level, current audio playback, location of the playback device, whether the playback device is connected to another playback device); or user data (e.g.,User identity, number of users present, user location, user history data, user preference data, user biometric data (heart rate, temperature, respiratory rate, brain activity, speech characteristics), user mood data).
[0249] Example 82: A system comprising a first playback device and a second playback device. The first playback device comprises: a first network interface; one or more first processors; and a data store having instructions thereon that, when executed by the one or more processors, cause the first playback device to perform operations comprising: receiving one or more input parameters; generating media content based at least in part on the one or more input parameters, the generated media content comprising a first portion and at least a second portion, wherein generating comprises: accessing a library stored on the playback device and including a plurality of pre-existing media segments;and arranging a selection of pre-existing media segments from the library for playback according to a generative media content model and based at least in part on the one or more input parameters; transmitting a signal comprising the second portion of the generated media content and corresponding timing information over the first network interface; and causing playback of the first portion of the generated media content. The second playback device comprises: a second network interface; one or more converters; one or more second processors; and a data store having instructions thereon that, when executed by the one or more second processors, cause the second playback device to perform operations comprising: receiving, over the second network interface, the signal transmitted from the first playback device;and playing the second portion of the generated media content via the one or more converters according to the timing information substantially synchronously with playing the first portion of the generated media content;
[0250] Example 83: The system of any of the examples recited herein, further comprising: a network device comprising: a third network interface; one or more processors; and a data store having instructions thereon that, when executed by the one or more processors, cause the third playback device to perform operations comprising: receiving a request from the first playback device over the third network interface on a data network; and in response to receiving the request, transmitting an updated library of pre-existing media segments over the third network interface to the first playback device over the data network.
[0251] Example 84: The system of any of the examples recited herein, wherein the network device comprises one or more of: a remote server, another playback device, a mobile computing device, a laptop, or a tablet.
[0252] Example 85: A system comprises a first playback device and a second playback device communicatively coupled via a local area network. The first playback device comprises: one or more first processors; one or more first converters; and a data store having instructions thereon that, when executed by the one or more first processors, cause the first playback device to perform operations comprising: receiving one or more input parameters; generating first media content based at least in part on the one or more input parameters, wherein generating comprises: accessing a first library stored on the first playback device and including a plurality of pre-existing media segments;and arranging a selection of pre-existing media segments from the first library for playback according to a first generative media content model and based at least in part on the one or more input parameters; and playing the first generative media content via the one or more first converters. The second playback device comprises: a second network interface; one or more second converters; one or more second processors; and a data store having instructions thereon that, when executed by the one or more second processors, cause the second playback device to perform operations comprising: generating second media content based at least in part on the one or more input parameters, wherein the second generated media content is substantially identical to the first generated media content, wherein generating comprises: accessing a second library stored on the second playback device and including a plurality of pre-existing media segments; and arranging a selection of pre-existing media segments from the second library for playback according to a second generative media content model and based at least in part on the one or more input parameters;and playing back the second generated media content via the one or more second converters synchronously with playing back the first generated media content via the first playback device;
[0253] Example 86: The system from one of the examples here, where the first generative media content model and the second generative media content model are essentially identical.
[0254] Example 87: The system according to any one of the examples given here, wherein the first library and the second library are substantially identical.
[0255] Example 88: A method comprising: accessing, via a playback device, blockchain data stored in a distributed ledger; generating, via the playback device, media content based at least in part on the blockchain data, wherein generating comprises: accessing a library stored in the playback device and including a plurality of pre-existing media segments; and arranging a selection of pre-existing media segments from the library for playback according to a generative media content model and based at least in part on the blockchain data; and playing the generated media content via the playback device.
[0256] Example 89: The method of any preceding example, wherein the NFT data comprises one or more pre-existing media segments, and wherein accessing the NFT data comprises storing the one or more pre-existing media segments in the library.
[0257] Example 90: The method of any of the preceding examples, wherein the blockchain data comprises first non-fungible token (NFT) data, wherein the distributed ledger is a first distributed ledger, the method further comprising accessing, via the playback device, data associated with a second NFT stored on a second distributed ledger, and wherein arranging the selection of pre-existing media segments from the library for playback according to the generative media content model is based at least in part on the first NFT data and the second NFT data.
[0258] Example 91: The method of any preceding example, wherein the first distributed ledger is connected to a first blockchain layer and wherein the second distributed ledger is connected to a second blockchain layer that is different from the first blockchain layer.
[0259] Example 92: The method of any preceding example, wherein the blockchain data is associated with a playlist.
[0260] Example 93: The method of any preceding example, wherein the blockchain data depends at least in part on transactions recorded in the distributed ledger involving a non-fungible token (NFT).
[0261] Example 94: The method of any preceding example, wherein the selection of pre-existing media segments from the library according to the generative media content model is based at least in part on one or more input parameters.
[0262] Example 95: The method of any preceding example, wherein the input parameters comprise one or more of the following: physiological sensor data; sensor data of the networked device; environmental data; characteristic data of the playback device; state of the playback device; user listening history data; oracle data stored via a distributed ledger, or user data.
[0263] Example 96: The method of any preceding example, wherein user listening history data is stored via a distributed ledger.
[0264] Example 97: The method of any preceding example, wherein accessing the blockchain data comprises connecting to a user wallet holding a non-fungible token (NFT).
[0265] Example 98: The method of any preceding example, wherein accessing the blockchain data comprises accessing a code associated with a physical media object via a control device (e.g., QR code or other code printed on custom vinyl or other media).
[0266] Example 99: The method of any preceding example, wherein arranging the selection of pre-existing media segments from the library for playback comprises arranging two or more of the pre-existing media segments in an at least partially temporally offset manner.
[0267] Example 100: The method of any preceding example, wherein arranging the selection of pre-existing media segments from the library for playback comprises arranging two or more of the pre-existing media segments in an at least partially temporally overlapping manner.
[0268] Example 101: A method comprising: transmitting, via a playback device, data associated with a first token over a network to a network address of a distributed ledger, the address associated with a generative media smart contract configured to generate a generative media content model; receiving, via the playback device, the generative media content model from the network address associated with the generative media smart contract; generating, via the playback device, media content based at least in part on the generative media content model, wherein generating comprises: accessing a library comprising a plurality of pre-existing media segments; and arranging a selection of pre-existing media segments from the library for playback according to the generative media content model; and playing, via the playback device, the generated media content.
[0269] Example 102: The method of any preceding example, wherein the token data comprises first non-fungible token (NFT) data, the method further comprising: transmitting, via the playback device, data associated with a second NFT stored in a distributed ledger to the network address associated with the generative media smart contract; receiving, via the playback device, a second generative media content model from the network address associated with the generative media smart contract, wherein the second generative media content model is different from the first; generating, via the playback device, second media content based at least in part on the second generative media content model; and playing, via the playback device, the second generated media content.
[0270] Example 103: The method of any preceding example, wherein the token data is associated with a curated playlist.
[0271] Example 104: The method of any preceding example, wherein the token data depends at least in part on transactions recorded in the distributed ledger involving the token.
[0272] Example 105: The method of any preceding example, wherein the selection of the pre-existing media segments from the library according to the generative media content model is based at least in part on one or more input parameters.
[0273] Example 106: The method of any preceding example, wherein the input parameters comprise one or more of the following: physiological sensor data, networked device sensor data, environmental data, playback device characteristic data, playback device state, user listening history data, oracle data stored via a distributed ledger, or user data.
[0274] Example 107: The method of any of the preceding examples, where user listening history data is stored via a distributed ledger.
[0275] Example 108: The method of any preceding example further comprises, prior to transmitting the token data, accessing the token data by establishing a connection to a user wallet in which the token data is stored.
[0276] Example 109: The method of any preceding example, comprising, prior to transmitting the token data, accessing the token data via a code associated with a physical media object via a control device (e.g., QR code or other code printed on an individual vinyl or other medium)
[0277] Example 110: The method of any preceding example, wherein arranging the selection of pre-existing media segments from the library for playback comprises arranging two or more of the pre-existing media segments in an at least partially temporally offset manner.
[0278] Example 111: The method of any preceding example, wherein arranging the selection of pre-existing media segments from the library for playback comprises arranging two or more of the pre-existing media segments in an at least partially temporally overlapping manner.
[0279] Example 112: The method of any preceding example, wherein the first generated media content and the second generated media content each comprise novel media content.
[0280] Example 113: One or more tangible, non-transferable computer-readable media storing instructions that, when executed by one or more processors, cause a media playback system or device to perform operations comprising: the method of any of the preceding examples.
[0281] Example 114: A media playback system comprising: one or more processors; and the computer-readable media of any preceding example.
[0282] Example 115: A playback device comprising: one or more processors; and the computer-readable medium of any of the preceding examples. QUOTES CONTAINED IN THE DESCRIPTION
[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature
[0000] US 63 / 364,931
[0001] US 8,234,395 [0020, 0034, 0059] US 15 / 438,749
[0058] US 15 / 682,506
[0063] US 8,483,853
[0063] US 62 / 706,544
[0102] US 62 / 956,771
[0104] Cited non-patent literature
[0000] Method for Synchronizing Audio Playback between Multiple Networked Devices” and began in 2005
[0003]
Claims
[1] Method comprising: Receiving input parameters at a coordination device; Transmitting the input parameters from the coordination device to a plurality of playback devices, each containing a generative media module; and Transmitting timing data from the coordination device to the plurality of playback devices such that the playback devices simultaneously play generative media content based at least in part on the input parameters. [2] The method of claim 1, wherein first and second playback devices play different generative audio content, each based at least in part on the input parameters. [3] Method comprising: Receiving input parameters at a coordination device; Generating a first and a second media content stream via a generative media module of the coordination device; transmitting the first media content stream via the coordination device to a first playback device; and Transmitting the second media content stream via the coordination device to a second playback device such that the first and second media content streams are played simultaneously via the first and second playback devices. [4] The method of claim 3, further comprising transmitting timing data from the coordinating device to each of the first and second playback devices. [5] The method of claim 3 or 4, wherein the first and second media content streams are different. [6] The method of claim 4, wherein the timing data comprises at least one of the following: clock data or one or more synchronization signals. [7] The method of any one of claims 3 to 6, wherein each of the first and second generative media content streams comprises at least one of the following: generative audio content or generative visual content. [8] The method of any one of claims 3 to 7, wherein the generative media modules comprise an algorithm that automatically generates novel media outputs based on inputs that include at least the input parameters. [9] Method comprising: Receiving one or more first input parameters at a playback device; Generating first media content via the playback device based at least in part on the one or more first input parameters, wherein generating comprises: Accessing a library stored on the playback device and containing a plurality of pre-existing media segments; and Arranging a first selection of pre-existing media segments from the library for playback according to a generative media content model and based at least in part on the one or more input parameters; and Playing the first generated media content via the playback device. [10] The method of claim 9, further comprising: Receiving one or more second input parameters different from the first at the playback device; Generating second media content via the playback device based at least in part on the one or more second input parameters, wherein the second media content differs from the first, wherein generating comprises: Access the library; and Arranging a second selection of pre-existing media segments from the library for playback according to the generative media content model and based at least in part on the one or more second input parameters; and Playing the second generated media content via the playback device. [11] The method of claim 10, wherein the first generated media content and the second generated media content each comprise novel media content. [12] The method of any one of claims 9 to 11, wherein the first generated media content comprises audio content and the plurality of pre-existing media segments comprises a plurality of pre-existing audio segments. [13] The method of any one of claims 9 to 12, wherein the first generated media content comprises audiovisual content and the plurality of pre-existing media segments comprises a plurality of pre-existing audio segments, pre-existing visual media segments, or pre-existing audiovisual media segments. [14] A method according to any one of claims 9 to 13, further comprising: Receiving, via a network interface, additional pre-existing media segments; and Update the library to include at least the additional media segments already present. [15] A playback device comprising: one or more amplifiers configured to drive one or more converters; one or more processors; and a data memory having instructions thereon which, when executed by the one or more processors, cause the playback device to perform the method according to any one of claims 9 to 14. [16] System comprising: a first playback device according to claim 15; and a second playback device comprising: a second network interface; one or more converters; one or more second processors configured to: Receiving, via the second network interface, a signal transmitted from the first playback device comprising a second portion of the generated media content and timing information; and Playing the second portion of the generated media content via the one or more converters according to the timing information substantially synchronously with playing a first portion of the generated media content via the first playback device. [17] The system of claim 16, further comprising: a network device comprising: a third network interface; one or more processors; and a data memory having instructions thereon that, when executed by the one or more processors, cause the third playback device to perform operations comprising: Receiving, via the third network interface of a data network, a request from the first playback device; and in response to receiving the request, transmitting, via the third network interface over the data network, an updated library of pre-existing media segments to the first playback device. [18] The system of claim 17, wherein the network device comprises one or more of the following: a remote server, another playback device, a mobile computing device, a laptop, or a tablet. [19] System comprising: a first playback device according to claim 15; and: a second playback device comprising: a second network interface; one or more second converters; one or more second processors; and a data memory having instructions thereon that, when executed by the one or more second processors, cause the second playback device to perform operations comprising: Generating second media content based at least in part on the one or more input parameters: Accessing a second library stored on the second playback device and containing a plurality of pre-existing media segments; and Arranging a selection of pre-existing media segments from the second library for playback according to a second generative media content model and based at least in part on the one or more input parameters; and Reproducing, via the one or more second converters, the second generated media content synchronously with the reproduction of the first generated media content via the first reproduction device. [20] The system of claim 19, wherein the first generative media content model and the second generative media content model are substantially identical. [21] The system of claim 19 or 20, wherein the first library and the second library are substantially identical. [22] The method of any of claims 1-14, wherein receiving one or more first input parameters comprises: Accessing, via a playback device, blockchain data stored in a distributed ledger, wherein the first parameter or parameters comprise the blockchain data. [23] The method of claim 22, wherein the blockchain data comprises one or more pre-existing media segments, and wherein accessing the blockchain data comprises storing the one or more pre-existing media segments in the library. [24] The method of claim 22 or 23, wherein the blockchain data comprises first non-fungible token (NFT) data, wherein the distributed ledger is a first distributed ledger, the method further comprising accessing, via the playback device, data associated with a second NFT stored on a second distributed ledger, and wherein arranging the selection of pre-existing media segments from the library for playback according to the generative media content model is based at least in part on the first NFT data and the second NFT data. [25] The method of any of claims 22-24, wherein the first distributed ledger is connected to a first blockchain layer and wherein the second distributed ledger is connected to a second blockchain layer that is different from the first blockchain layer. [26] The method of any of claims 22-25, wherein the blockchain data is associated with a playlist. [27] The method of any of claims 22-26, wherein the blockchain data depends at least in part on transactions recorded in the distributed ledger involving a non-fungible token (NFT). [28] The method of any one of claims 22 to 25, wherein ordering the selection of pre-existing media segments from the library according to the generative media content model is based at least in part on one or more additional input parameters. [29] The method of any of claims 22-28, wherein accessing the blockchain data comprises connecting to a user wallet containing a non-fungible token (NFT). [30] The method of any of claims 22 to 29, wherein accessing the blockchain data comprises accessing code associated with a physical media object via a control device. [31] Method comprising: transmitting, by a playback device, data associated with a first token over a network to a network address of a distributed ledger, the address associated with a generative media smart contract configured to generate a generative media content model; Receiving, by the playback device, the generative media content model from the network address associated with the generative media smart contract; Generating, by the playback device, media content based at least in part on the generative media content model, wherein generating comprises: Accessing a library that includes a plurality of existing media segments; and Arranging a selection of pre-existing media segments from the library for playback according to the generative media content model; and playing the generated media content via the playback device. [32] The method of claim 31, wherein the token data comprises first non-fungible token (NFT) data, the method further comprising: transmitting, via the playback device, data associated with a second NFT stored in a distributed ledger to the network address associated with the generative media smart contract; receiving, by the playback device, a second generative media content model from the network address associated with the generative media smart contract, the second generative media content model being different from the first; generating, by the playback device, second media content based at least in part on the second generative media content model; and playing the second generated media content via the playback device. [33] The method of claim 31 or 32, wherein the token data is associated with a curated playlist. [34] A method according to any one of claims 31 to 33, wherein the token data depends at least in part on transactions recorded in the distributed ledger relating to the token. [35] The method of any of claims 31 to 34, wherein ordering the selection of pre-existing media segments from the library according to the generative media content model is based at least in part on one or more input parameters. [36] The method of any one of claims 31 to 35, further comprising, prior to transmitting the token data, accessing the token data by establishing a connection to a user wallet in which the token data is stored. [37] The method of any one of claims 31 to 36, further comprising, prior to transmitting the token data, accessing the token data via code associated with a physical media object via a control device. [38] A method according to any one of claims 22 to 37, wherein the first and / or second input parameters comprise one or more of the following: physiological sensor data; Sensor data from networked devices; environmental data; Data on playback device capabilities; playback device state; User data; or Oracle data stored on a distributed ledger. [39] The method of any of claims 22-38, wherein arranging the first selection of pre-existing media segments from the library for playback comprises at least one of the following: Arranging two or more of the existing media segments in an at least partially temporally offset manner; Arranging two or more of the existing media segments in an at least partially temporally overlapping manner; Applying different equalization settings to different existing media segments; Applying different levels of amplification over time to different existing media segments; and Randomly select a starting point to play a specific, already existing media segment. [40] A method according to any one of claims 22 to 39, wherein user listening history data is stored via a distributed ledger. [41] The method of any one of claims 22 to 40, wherein the first generated media content and the second generated media content each comprise novel media content. [42] One or more tangible, non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause a media playback system or device to perform operations comprising: the method of any one of claims 1 to 14 or 22 to 41. [43] Media playback system, comprising: one or more processors; and the computer-readable media of claim 42. [44] Playback device comprising: one or more processors; and the computer-readable media of claim 42.
Citation Information
Patent Citations
Mood detection and / or influence via audio playback devices
US62706544P0
Generative Music Based on User Location
US62956771P0
Generating digital media based on blockchain data
US63364931P0
System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US8234395B2
Controlling and manipulating groupings in a multi-zone media system
US8483853B1
