Your SlideShare is downloading. ×
JSUG - The Sound of Shopping by Christoph Pickl
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

JSUG - The Sound of Shopping by Christoph Pickl

584
views

Published on

visit www.jsug.at for more stuff

visit www.jsug.at for more stuff

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
584
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Sound of Shopping Christoph Pickl
  • 2. Roadmap 1 Idea 2 Architecture 3 JFugue
  • 3. Idea
  • 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. Architecture
  • 7. Basics • Barcode to K-code transformation • Use proper ruleset/instrumentset • Save MIDI and record sampler output
  • 8. SoS Net • 2nd version using webinterface Remote server application ✦ ✦ Database for communication • Usersniffing instead barcodes • Reused same core logic
  • 9. Sound Samples
  • 10. JFugue
  • 11. 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
  • 12. 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); } }
  • 13. 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;));
  • 14. 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
  • 15. SoS Net Demo
  • 16. • 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/

×