SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Sound of Shopping
     Christoph Pickl
Roadmap
1 Idea
2 Architecture
3 JFugue
Idea
Team



Idea
                                 Sound Design
       Composition   Implementation
Idea

• Read in barcodes of bought products
• Generate individual song
• Customer downloads ringtone via website
• Music can be transformed back to data
Architecture
Basics

• Barcode to K-code transformation
• Use proper ruleset/instrumentset
• Save MIDI and record sampler output
SoS Net
• 2nd version using webinterface
    Remote server application
  ✦
  ✦ Database for communication

• Usersniffing instead barcodes
• Reused same core logic
Sound Samples
JFugue
Features

• No complex objects, just (Music-)Strings
• Specify notes, chords, instruments & tracks
• Play at runtime, save to MIDI file
• Music can be sent to/received from devices
Example #1
import org.jfugue.Player;

public class Jsug {

	   public static void main(String[] args) {
	   	 Player player = new Player();
	   	 String musicString = quot;C D E F G A Bquot;;
	   	 player.play(musicString);
	   }
	
}
Example #2
// quot;Frere Jacquesquot;
Pattern pattern1 = new Pattern(quot;C5q     D5q E5q C5qquot;);
// quot;Dormez-vous?quot;
Pattern pattern2 = new Pattern(quot;E5q     F5q G5hquot;);
// quot;Sonnez les matinesquot;
Pattern pattern3 = new Pattern(quot;G5i     A5i G5i F5i E5q C5qquot;);
// quot;Ding ding dongquot;
Pattern pattern4 = new Pattern(quot;C5q     G4q C5hquot;);

Pattern song = new   Pattern();
song.add(pattern1,   2); // Adds   'pattern1'   to   'song'   twice
song.add(pattern2,   2); // Adds   'pattern2'   to   'song'   twice
song.add(pattern3,   2); // Adds   'pattern3'   to   'song'   twice
song.add(pattern4,   2); // Adds   'pattern4'   to   'song'   twice

new Player().saveMidi(song, new File(quot;Frere Jacques.midquot;));
Sample Output
T91
V9 // percussion
  Rs_[35]sa20+Rs_[38]sa40+Ri+Ri
  Rs_[35]sa40+Rs_[38]sa60+[43]ia60+[46]ia40
  ...
  Rs_[35]sa60+Rs_[38]sa20+[43]ia20+[46]ia60
V2 // harmonics
  [61]s+[65]s+[66]s+[70]s Rs
  [61]i+[65]i+[66]i+[70]i
  ...
  [61]s+[65]s+[66]s+[70]s Rs
V1 I[ACOUSTIC_BASS] // bass
  Rs [39]s Rs [39]s Rs [39]s Rs [39]s
  ...
  Rs [45]s Rs [45]s Rs [45]s Rs [45]s
V4 I[CLARINET] // melody
  Ri [78]i [80]q [85]q [89]i Ri Ri [80]i [82]q
  [89]i Ri [98]i Ri [86]q [98]i Ri [86]i
SoS Net Demo
• http://soundofshopping.com
• http://jfugue.org
•   http://tv.rebell.tv//p2628.html

•   http://tv.rebell.tv/p2629.html

•   http://www.sil.at/aktuelles/magazin/magazin-nr-14/seite-13/
JSUG - The Sound of Shopping by Christoph Pickl

Mais conteúdo relacionado

Destaque (6)

JSUG - Filthy Flex by Christoph Pickl
JSUG - Filthy Flex by Christoph PicklJSUG - Filthy Flex by Christoph Pickl
JSUG - Filthy Flex by Christoph Pickl
 
JSUG - ActionScript 3 vs Java by Christoph Pickl
JSUG - ActionScript 3 vs Java by Christoph PicklJSUG - ActionScript 3 vs Java by Christoph Pickl
JSUG - ActionScript 3 vs Java by Christoph Pickl
 
JSUG - Tim aka EPROG2 by Martin Schuerrer
JSUG - Tim aka EPROG2 by Martin SchuerrerJSUG - Tim aka EPROG2 by Martin Schuerrer
JSUG - Tim aka EPROG2 by Martin Schuerrer
 
JSUG - OurMovies by Christoph Pickl
JSUG - OurMovies by Christoph PicklJSUG - OurMovies by Christoph Pickl
JSUG - OurMovies by Christoph Pickl
 
JSUG - Layouting TeX documents with the Memoir class
JSUG - Layouting TeX documents with the Memoir classJSUG - Layouting TeX documents with the Memoir class
JSUG - Layouting TeX documents with the Memoir class
 
JSUG - TeX Day by Christoph Pickl
JSUG - TeX Day by Christoph PicklJSUG - TeX Day by Christoph Pickl
JSUG - TeX Day by Christoph Pickl
 

Mais de Christoph Pickl

Mais de Christoph Pickl (20)

JSUG - AS3 vs Java by Christoph Pickl
JSUG - AS3 vs Java by Christoph PicklJSUG - AS3 vs Java by Christoph Pickl
JSUG - AS3 vs Java by Christoph Pickl
 
JSUG - TeX, LaTeX und der Rest by Norbert Preining
JSUG - TeX, LaTeX und der Rest by Norbert PreiningJSUG - TeX, LaTeX und der Rest by Norbert Preining
JSUG - TeX, LaTeX und der Rest by Norbert Preining
 
JSUG - Java Service Enabler by Andreas Hubmer
JSUG - Java Service Enabler by Andreas HubmerJSUG - Java Service Enabler by Andreas Hubmer
JSUG - Java Service Enabler by Andreas Hubmer
 
JSUG - Hoppla by Florian Motlik and Petar Petrov
JSUG - Hoppla by Florian Motlik and Petar PetrovJSUG - Hoppla by Florian Motlik and Petar Petrov
JSUG - Hoppla by Florian Motlik and Petar Petrov
 
JSUG - Google Web Toolkit by Hans Sowa
JSUG - Google Web Toolkit by Hans SowaJSUG - Google Web Toolkit by Hans Sowa
JSUG - Google Web Toolkit by Hans Sowa
 
JSUG - TU Wien Cocoon Project by Andreas Pieber
JSUG - TU Wien Cocoon Project by Andreas PieberJSUG - TU Wien Cocoon Project by Andreas Pieber
JSUG - TU Wien Cocoon Project by Andreas Pieber
 
JSUG - TU Wien Castor Project by Lukas Lang
JSUG - TU Wien Castor Project by Lukas LangJSUG - TU Wien Castor Project by Lukas Lang
JSUG - TU Wien Castor Project by Lukas Lang
 
JSUG - LaTeX Introduction by Christoph Pickl
JSUG - LaTeX Introduction by Christoph PicklJSUG - LaTeX Introduction by Christoph Pickl
JSUG - LaTeX Introduction by Christoph Pickl
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael Greifeneder
 
JSUG - Seam by Florian Motlik
JSUG - Seam by Florian MotlikJSUG - Seam by Florian Motlik
JSUG - Seam by Florian Motlik
 
JSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan ZarnikovJSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan Zarnikov
 
JSUG - Java FX by Christoph Pickl
JSUG - Java FX by Christoph PicklJSUG - Java FX by Christoph Pickl
JSUG - Java FX by Christoph Pickl
 
JSUG - Tech Tips1 by Christoph Pickl
JSUG - Tech Tips1 by Christoph PicklJSUG - Tech Tips1 by Christoph Pickl
JSUG - Tech Tips1 by Christoph Pickl
 
JSUG - Inversion Of Control by Florian Motlik
JSUG - Inversion Of Control by Florian MotlikJSUG - Inversion Of Control by Florian Motlik
JSUG - Inversion Of Control by Florian Motlik
 
JSUG - QTJambi by Jan Zarnikov
JSUG - QTJambi by Jan ZarnikovJSUG - QTJambi by Jan Zarnikov
JSUG - QTJambi by Jan Zarnikov
 
JSUG - Bazaar by Florian Motlik
JSUG - Bazaar by Florian MotlikJSUG - Bazaar by Florian Motlik
JSUG - Bazaar by Florian Motlik
 
JSUG - Effective Java Puzzlers by Christoph Pickl
JSUG - Effective Java Puzzlers by Christoph PicklJSUG - Effective Java Puzzlers by Christoph Pickl
JSUG - Effective Java Puzzlers by Christoph Pickl
 
JSUG - Maven by Michael Greifeneder
JSUG - Maven by Michael GreifenederJSUG - Maven by Michael Greifeneder
JSUG - Maven by Michael Greifeneder
 
JSUG - RESTful Web Services by Florian Motlik
JSUG - RESTful Web Services by Florian MotlikJSUG - RESTful Web Services by Florian Motlik
JSUG - RESTful Web Services by Florian Motlik
 
JSUG - Scala Lightning Talk by Michael Greifeneder
JSUG - Scala Lightning Talk by Michael GreifenederJSUG - Scala Lightning Talk by Michael Greifeneder
JSUG - Scala Lightning Talk by Michael Greifeneder
 

Último

Último (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

JSUG - The Sound of Shopping by Christoph Pickl

  • 1. Sound of Shopping Christoph Pickl
  • 4. Team Idea Sound Design Composition Implementation
  • 5. Idea • Read in barcodes of bought products • Generate individual song • Customer downloads ringtone via website • Music can be transformed back to data
  • 6.
  • 8. Basics • Barcode to K-code transformation • Use proper ruleset/instrumentset • Save MIDI and record sampler output
  • 9.
  • 10. SoS Net • 2nd version using webinterface Remote server application ✦ ✦ Database for communication • Usersniffing instead barcodes • Reused same core logic
  • 13. Features • No complex objects, just (Music-)Strings • Specify notes, chords, instruments & tracks • Play at runtime, save to MIDI file • Music can be sent to/received from devices
  • 14. Example #1 import org.jfugue.Player; public class Jsug { public static void main(String[] args) { Player player = new Player(); String musicString = quot;C D E F G A Bquot;; player.play(musicString); } }
  • 15. Example #2 // quot;Frere Jacquesquot; Pattern pattern1 = new Pattern(quot;C5q D5q E5q C5qquot;); // quot;Dormez-vous?quot; Pattern pattern2 = new Pattern(quot;E5q F5q G5hquot;); // quot;Sonnez les matinesquot; Pattern pattern3 = new Pattern(quot;G5i A5i G5i F5i E5q C5qquot;); // quot;Ding ding dongquot; Pattern pattern4 = new Pattern(quot;C5q G4q C5hquot;); Pattern song = new Pattern(); song.add(pattern1, 2); // Adds 'pattern1' to 'song' twice song.add(pattern2, 2); // Adds 'pattern2' to 'song' twice song.add(pattern3, 2); // Adds 'pattern3' to 'song' twice song.add(pattern4, 2); // Adds 'pattern4' to 'song' twice new Player().saveMidi(song, new File(quot;Frere Jacques.midquot;));
  • 16. Sample Output T91 V9 // percussion Rs_[35]sa20+Rs_[38]sa40+Ri+Ri Rs_[35]sa40+Rs_[38]sa60+[43]ia60+[46]ia40 ... Rs_[35]sa60+Rs_[38]sa20+[43]ia20+[46]ia60 V2 // harmonics [61]s+[65]s+[66]s+[70]s Rs [61]i+[65]i+[66]i+[70]i ... [61]s+[65]s+[66]s+[70]s Rs V1 I[ACOUSTIC_BASS] // bass Rs [39]s Rs [39]s Rs [39]s Rs [39]s ... Rs [45]s Rs [45]s Rs [45]s Rs [45]s V4 I[CLARINET] // melody Ri [78]i [80]q [85]q [89]i Ri Ri [80]i [82]q [89]i Ri [98]i Ri [86]q [98]i Ri [86]i
  • 18. • http://soundofshopping.com • http://jfugue.org • http://tv.rebell.tv//p2628.html • http://tv.rebell.tv/p2629.html • http://www.sil.at/aktuelles/magazin/magazin-nr-14/seite-13/