SlideShare a Scribd company logo
1 of 15
Introduction about ToySynth
    Pure Python Software
         Synthesizer
                   2012-09-16
  Python Conference JP 2012 Open Space Session

                     Ransui Iso
        Strategic Technology R&D / X-Listing Co, Ltd.


                                              Copyright (c) 2011 Ransui Iso, All rights reserved.
First, I play a music
that generated by ToySynth.




                  Copyright (c) 2011 Ransui Iso, All rights reserved.
Johann Sebastian Bach
   March 21, 1685 – July 28, 1750

                          Copyright (c) 2011 Ransui Iso, All rights reserved.
ToySynth.
●
    Only 2 python modules.
      –   Components.py
      –   Sequencer.py
●
    Pure python.
      –   Just use standard python libraries.
      –   It has simple archtecture, easy to learn.
      –   Poor performance.
           ●
               It doesn't have a real-time rendering speed to make sound
               data.


                                                 Copyright (c) 2011 Ransui Iso, All rights reserved.
How to get ToySynth.
●
    You can download a tiny zip file.



http://alpa.homeip.net/files/PyConJP2012/ToySynth.zip




                                   Copyright (c) 2011 Ransui Iso, All rights reserved.
Components.py
●
    Component module provides some classes to make
    a sound.
      –   Oscillator
      –   Amplifier
      –   Mixer
      –   FrequencyModulator
      –   LFO
      –   Clock
      –   Renderer
      –   Sink
      –   Etc ...
                                  Copyright (c) 2011 Ransui Iso, All rights reserved.
Music Macro Language
●
    Code system for write musical notation.




    t120o4l4cdefedcrefgagfe4
    t120o4l4cdefedcrefgagfe4
    crcrcrcrl8ccddeeffl4edcr
    crcrcrcrl8ccddeeffl4edcr
                               Copyright (c) 2011 Ransui Iso, All rights reserved.
MMLCompiler
●
    It's in Sequencer module.
      –   It convert MML string to byte-code.
      –   Case insensitive.
      –   White space is now allowed.
      –   Poor lexer.
      –   Only support basic features.




                                         Copyright (c) 2011 Ransui Iso, All rights reserved.
Sequencer
●
    Executes music byte-code sequence.
       Set frequency at specified timing



                                                                      WaveFile
       osc                      Sequencer   Renderer
                                                                       Sink




      MML
                                             Clock
     Compiler   Music byte-code sequence.




                                                Copyright (c) 2011 Ransui Iso, All rights reserved.
Make your own sound module
●
    Vibrato.
                           base_osc = SineWaveOscillator()
                            base_osc = SineWaveOscillator()
                           diff_osc = SineWaveOscillator()
                            diff_osc = SineWaveOscillator()
               Frequency   diff_osc.frequency=10.0
                            diff_osc.frequency=10.0
    osc        Modulator
                           viv_amp = Amplifeir(
                            viv_amp = Amplifeir(
                               source=diff_osc,
                                source=diff_osc,
                               gain=2.0,
                                gain=2.0,
                               Attenuate=1.0)
                                Attenuate=1.0)
                           viv_osc = FrequencyModulator(
                            viv_osc = FrequencyModulator(
                               source=base_osc, 
                                source=base_osc, 
                               diff=viv_amp)
                                diff=viv_amp)
    osc          amp
                           frequency                    : frequency of vibrato.
                           Gain parameter in amp.       : depth of vivrato.




                                           Copyright (c) 2011 Ransui Iso, All rights reserved.
Thank you for listening.
     Happy Hacking with Python!




                              Copyright (c) 2011 Ransui Iso, All rights reserved.

More Related Content

What's hot

What Shazam doesn't want you to know
What Shazam doesn't want you to knowWhat Shazam doesn't want you to know
What Shazam doesn't want you to knowRoy van Rijn
 
It's so quiet. Let's make music.
It's so quiet. Let's make music.It's so quiet. Let's make music.
It's so quiet. Let's make music.Loren Segal
 
Porting Gentoo to DragonFly
Porting Gentoo to DragonFlyPorting Gentoo to DragonFly
Porting Gentoo to DragonFlyNaohiro Aota
 
FFunction: We Love Python !
FFunction: We Love Python !FFunction: We Love Python !
FFunction: We Love Python !FFunction inc
 
Open the door of embedded systems to IoT! mruby on LEGO Mindstorms (R)
Open the door of embedded systems to IoT! mruby on LEGO Mindstorms (R)Open the door of embedded systems to IoT! mruby on LEGO Mindstorms (R)
Open the door of embedded systems to IoT! mruby on LEGO Mindstorms (R)Takehiko YOSHIDA
 

What's hot (7)

What Shazam doesn't want you to know
What Shazam doesn't want you to knowWhat Shazam doesn't want you to know
What Shazam doesn't want you to know
 
It's so quiet. Let's make music.
It's so quiet. Let's make music.It's so quiet. Let's make music.
It's so quiet. Let's make music.
 
Porting Gentoo to DragonFly
Porting Gentoo to DragonFlyPorting Gentoo to DragonFly
Porting Gentoo to DragonFly
 
Tp Result
Tp ResultTp Result
Tp Result
 
Fx audio cut sequence
Fx audio cut sequence Fx audio cut sequence
Fx audio cut sequence
 
FFunction: We Love Python !
FFunction: We Love Python !FFunction: We Love Python !
FFunction: We Love Python !
 
Open the door of embedded systems to IoT! mruby on LEGO Mindstorms (R)
Open the door of embedded systems to IoT! mruby on LEGO Mindstorms (R)Open the door of embedded systems to IoT! mruby on LEGO Mindstorms (R)
Open the door of embedded systems to IoT! mruby on LEGO Mindstorms (R)
 

Viewers also liked

Comprehensive Environmental Response, Compensation and Liability Act of 1980 ...
Comprehensive Environmental Response, Compensation and Liability Act of 1980 ...Comprehensive Environmental Response, Compensation and Liability Act of 1980 ...
Comprehensive Environmental Response, Compensation and Liability Act of 1980 ...Obama White House
 
OPIC Released Documents 21-30
OPIC Released Documents 21-30OPIC Released Documents 21-30
OPIC Released Documents 21-30Obama White House
 
University fundraising - working with your dean
University fundraising - working with your deanUniversity fundraising - working with your dean
University fundraising - working with your deanAbe Cross
 
Crew ,Foia, Documents 011493 - 011526(part 2)
Crew ,Foia, Documents 011493 - 011526(part 2)Crew ,Foia, Documents 011493 - 011526(part 2)
Crew ,Foia, Documents 011493 - 011526(part 2)Obama White House
 
OPIC Released Documents 1-10
OPIC Released Documents 1-10OPIC Released Documents 1-10
OPIC Released Documents 1-10Obama White House
 
The President’s Speech in Cairo: A New Beginning - Urdu
The President’s Speech in Cairo: A New Beginning - UrduThe President’s Speech in Cairo: A New Beginning - Urdu
The President’s Speech in Cairo: A New Beginning - UrduObama White House
 
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーションAkira Inoue
 
Hmc installation .
Hmc installation . Hmc installation .
Hmc installation . Ksd Che
 
Presentación de inicio estudiantes fc 1
Presentación de inicio estudiantes fc 1Presentación de inicio estudiantes fc 1
Presentación de inicio estudiantes fc 1Periodismo
 
Crew, Foia, Documents 011869-012043
 Crew, Foia, Documents 011869-012043 Crew, Foia, Documents 011869-012043
Crew, Foia, Documents 011869-012043Obama White House
 
أرقام مكاتب الترجمة في عفيف
أرقام مكاتب الترجمة في عفيفأرقام مكاتب الترجمة في عفيف
أرقام مكاتب الترجمة في عفيفAlhayat4Translation
 

Viewers also liked (20)

Farewell Quiz
Farewell QuizFarewell Quiz
Farewell Quiz
 
Comprehensive Environmental Response, Compensation and Liability Act of 1980 ...
Comprehensive Environmental Response, Compensation and Liability Act of 1980 ...Comprehensive Environmental Response, Compensation and Liability Act of 1980 ...
Comprehensive Environmental Response, Compensation and Liability Act of 1980 ...
 
OPIC Released Documents 21-30
OPIC Released Documents 21-30OPIC Released Documents 21-30
OPIC Released Documents 21-30
 
University fundraising - working with your dean
University fundraising - working with your deanUniversity fundraising - working with your dean
University fundraising - working with your dean
 
Bquiz prelims
Bquiz prelimsBquiz prelims
Bquiz prelims
 
Crew ,Foia, Documents 011493 - 011526(part 2)
Crew ,Foia, Documents 011493 - 011526(part 2)Crew ,Foia, Documents 011493 - 011526(part 2)
Crew ,Foia, Documents 011493 - 011526(part 2)
 
EPA DROE Email 6.23.03 (a)
EPA DROE Email 6.23.03 (a)EPA DROE Email 6.23.03 (a)
EPA DROE Email 6.23.03 (a)
 
OPIC Released Documents 1-10
OPIC Released Documents 1-10OPIC Released Documents 1-10
OPIC Released Documents 1-10
 
The President’s Speech in Cairo: A New Beginning - Urdu
The President’s Speech in Cairo: A New Beginning - UrduThe President’s Speech in Cairo: A New Beginning - Urdu
The President’s Speech in Cairo: A New Beginning - Urdu
 
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
 
Climate Graphs 9.20.01
Climate Graphs 9.20.01Climate Graphs 9.20.01
Climate Graphs 9.20.01
 
CAR Email 3.25.02
CAR Email 3.25.02CAR Email 3.25.02
CAR Email 3.25.02
 
Hmc installation .
Hmc installation . Hmc installation .
Hmc installation .
 
Gk
GkGk
Gk
 
Presentación de inicio estudiantes fc 1
Presentación de inicio estudiantes fc 1Presentación de inicio estudiantes fc 1
Presentación de inicio estudiantes fc 1
 
Daily express viva valencia
Daily express viva valenciaDaily express viva valencia
Daily express viva valencia
 
RCEC Email 5.19.03 (c)
RCEC Email 5.19.03 (c)RCEC Email 5.19.03 (c)
RCEC Email 5.19.03 (c)
 
Crew, Foia, Documents 011869-012043
 Crew, Foia, Documents 011869-012043 Crew, Foia, Documents 011869-012043
Crew, Foia, Documents 011869-012043
 
أرقام مكاتب الترجمة في عفيف
أرقام مكاتب الترجمة في عفيفأرقام مكاتب الترجمة في عفيف
أرقام مكاتب الترجمة في عفيف
 
Handwritten Notes (f)
Handwritten Notes (f)Handwritten Notes (f)
Handwritten Notes (f)
 

Similar to Introduction of ToySynth

Tips for live streaming a musical performance
Tips for live streaming a musical performanceTips for live streaming a musical performance
Tips for live streaming a musical performancePaul Richards
 
Spherator FM VST VST3 Audio Unit: 4 Operator Frequency Modulation Synthesizer...
Spherator FM VST VST3 Audio Unit: 4 Operator Frequency Modulation Synthesizer...Spherator FM VST VST3 Audio Unit: 4 Operator Frequency Modulation Synthesizer...
Spherator FM VST VST3 Audio Unit: 4 Operator Frequency Modulation Synthesizer...Syntheway Virtual Musical Instruments
 
Synth graphical interfaces
Synth graphical interfacesSynth graphical interfaces
Synth graphical interfacesB. Barrero
 
Live streaming your podcast
Live streaming your podcastLive streaming your podcast
Live streaming your podcastPaul Richards
 
Music With Pharo
Music With PharoMusic With Pharo
Music With PharoESUG
 
Synthractive VST, VST3 and Audio Unit Stereo Subtractive Synthesizer: Leads, ...
Synthractive VST, VST3 and Audio Unit Stereo Subtractive Synthesizer: Leads, ...Synthractive VST, VST3 and Audio Unit Stereo Subtractive Synthesizer: Leads, ...
Synthractive VST, VST3 and Audio Unit Stereo Subtractive Synthesizer: Leads, ...Syntheway Virtual Musical Instruments
 
How to play audio from a microcontroller
How to play audio from a microcontrollerHow to play audio from a microcontroller
How to play audio from a microcontrollerMahadev Gopalakrishnan
 
Phasewaver VST VST3 Audio Unit Polyphonic Phase Distortion Synthesizer: Leads...
Phasewaver VST VST3 Audio Unit Polyphonic Phase Distortion Synthesizer: Leads...Phasewaver VST VST3 Audio Unit Polyphonic Phase Distortion Synthesizer: Leads...
Phasewaver VST VST3 Audio Unit Polyphonic Phase Distortion Synthesizer: Leads...Syntheway Virtual Musical Instruments
 
sounds in bada
sounds in badasounds in bada
sounds in badaSamsung
 
OpenPipe at FOSDEM 2013
OpenPipe at FOSDEM 2013OpenPipe at FOSDEM 2013
OpenPipe at FOSDEM 2013xulioc
 
Analog for all_preview
Analog for all_previewAnalog for all_preview
Analog for all_previewAnand Udupa
 
Analog for all_preview
Analog for all_previewAnalog for all_preview
Analog for all_previewSahyogeeTech
 
Livecoding with impromptu
Livecoding with impromptuLivecoding with impromptu
Livecoding with impromptuMichele Pasin
 
Drumwavy VST VST3 Audio Unit: Orchestral and Ethnic Percussion VST, VST3 and ...
Drumwavy VST VST3 Audio Unit: Orchestral and Ethnic Percussion VST, VST3 and ...Drumwavy VST VST3 Audio Unit: Orchestral and Ethnic Percussion VST, VST3 and ...
Drumwavy VST VST3 Audio Unit: Orchestral and Ethnic Percussion VST, VST3 and ...Syntheway Virtual Musical Instruments
 
Modulator p5: Make your Processing Sketches More Dynamic with Modulators
Modulator p5: Make your Processing Sketches More Dynamic with ModulatorsModulator p5: Make your Processing Sketches More Dynamic with Modulators
Modulator p5: Make your Processing Sketches More Dynamic with ModulatorsNathan Koch
 

Similar to Introduction of ToySynth (20)

Sampling-1 Intro
Sampling-1 IntroSampling-1 Intro
Sampling-1 Intro
 
Tips for live streaming a musical performance
Tips for live streaming a musical performanceTips for live streaming a musical performance
Tips for live streaming a musical performance
 
Spherator FM VST VST3 Audio Unit: 4 Operator Frequency Modulation Synthesizer...
Spherator FM VST VST3 Audio Unit: 4 Operator Frequency Modulation Synthesizer...Spherator FM VST VST3 Audio Unit: 4 Operator Frequency Modulation Synthesizer...
Spherator FM VST VST3 Audio Unit: 4 Operator Frequency Modulation Synthesizer...
 
Synth graphical interfaces
Synth graphical interfacesSynth graphical interfaces
Synth graphical interfaces
 
Live streaming your podcast
Live streaming your podcastLive streaming your podcast
Live streaming your podcast
 
Music With Pharo
Music With PharoMusic With Pharo
Music With Pharo
 
Speech coding std
Speech coding stdSpeech coding std
Speech coding std
 
Synthractive VST, VST3 and Audio Unit Stereo Subtractive Synthesizer: Leads, ...
Synthractive VST, VST3 and Audio Unit Stereo Subtractive Synthesizer: Leads, ...Synthractive VST, VST3 and Audio Unit Stereo Subtractive Synthesizer: Leads, ...
Synthractive VST, VST3 and Audio Unit Stereo Subtractive Synthesizer: Leads, ...
 
How to play audio from a microcontroller
How to play audio from a microcontrollerHow to play audio from a microcontroller
How to play audio from a microcontroller
 
Phasewaver VST VST3 Audio Unit Polyphonic Phase Distortion Synthesizer: Leads...
Phasewaver VST VST3 Audio Unit Polyphonic Phase Distortion Synthesizer: Leads...Phasewaver VST VST3 Audio Unit Polyphonic Phase Distortion Synthesizer: Leads...
Phasewaver VST VST3 Audio Unit Polyphonic Phase Distortion Synthesizer: Leads...
 
Polyanna manual
Polyanna manualPolyanna manual
Polyanna manual
 
The secerts to great sounding samples.txt
The secerts to great sounding samples.txtThe secerts to great sounding samples.txt
The secerts to great sounding samples.txt
 
The secerts to great sounding samples.txt
The secerts to great sounding samples.txtThe secerts to great sounding samples.txt
The secerts to great sounding samples.txt
 
sounds in bada
sounds in badasounds in bada
sounds in bada
 
OpenPipe at FOSDEM 2013
OpenPipe at FOSDEM 2013OpenPipe at FOSDEM 2013
OpenPipe at FOSDEM 2013
 
Analog for all_preview
Analog for all_previewAnalog for all_preview
Analog for all_preview
 
Analog for all_preview
Analog for all_previewAnalog for all_preview
Analog for all_preview
 
Livecoding with impromptu
Livecoding with impromptuLivecoding with impromptu
Livecoding with impromptu
 
Drumwavy VST VST3 Audio Unit: Orchestral and Ethnic Percussion VST, VST3 and ...
Drumwavy VST VST3 Audio Unit: Orchestral and Ethnic Percussion VST, VST3 and ...Drumwavy VST VST3 Audio Unit: Orchestral and Ethnic Percussion VST, VST3 and ...
Drumwavy VST VST3 Audio Unit: Orchestral and Ethnic Percussion VST, VST3 and ...
 
Modulator p5: Make your Processing Sketches More Dynamic with Modulators
Modulator p5: Make your Processing Sketches More Dynamic with ModulatorsModulator p5: Make your Processing Sketches More Dynamic with Modulators
Modulator p5: Make your Processing Sketches More Dynamic with Modulators
 

More from Ransui Iso

「Pythonでやってみた」~広がるプログラミングの愉しみ~
「Pythonでやってみた」~広がるプログラミングの愉しみ~「Pythonでやってみた」~広がるプログラミングの愉しみ~
「Pythonでやってみた」~広がるプログラミングの愉しみ~Ransui Iso
 
Pythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクターPythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクターRansui Iso
 
アドテクを支える人と技術
アドテクを支える人と技術アドテクを支える人と技術
アドテクを支える人と技術Ransui Iso
 
Playing with curses
Playing with cursesPlaying with curses
Playing with cursesRansui Iso
 
小中学生Hack-a-thonにオッサンが乗り込んだ話
小中学生Hack-a-thonにオッサンが乗り込んだ話小中学生Hack-a-thonにオッサンが乗り込んだ話
小中学生Hack-a-thonにオッサンが乗り込んだ話Ransui Iso
 
XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由Ransui Iso
 
ソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミングソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミングRansui Iso
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングRansui Iso
 
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6Ransui Iso
 
Lisp Tutorial for Pythonista : Day 5
Lisp Tutorial for Pythonista : Day 5Lisp Tutorial for Pythonista : Day 5
Lisp Tutorial for Pythonista : Day 5Ransui Iso
 
Lisp Tutorial for Pythonista : Day 4
Lisp Tutorial for Pythonista : Day 4Lisp Tutorial for Pythonista : Day 4
Lisp Tutorial for Pythonista : Day 4Ransui Iso
 
Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Ransui Iso
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Ransui Iso
 
Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1Ransui Iso
 

More from Ransui Iso (14)

「Pythonでやってみた」~広がるプログラミングの愉しみ~
「Pythonでやってみた」~広がるプログラミングの愉しみ~「Pythonでやってみた」~広がるプログラミングの愉しみ~
「Pythonでやってみた」~広がるプログラミングの愉しみ~
 
Pythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクターPythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクター
 
アドテクを支える人と技術
アドテクを支える人と技術アドテクを支える人と技術
アドテクを支える人と技術
 
Playing with curses
Playing with cursesPlaying with curses
Playing with curses
 
小中学生Hack-a-thonにオッサンが乗り込んだ話
小中学生Hack-a-thonにオッサンが乗り込んだ話小中学生Hack-a-thonにオッサンが乗り込んだ話
小中学生Hack-a-thonにオッサンが乗り込んだ話
 
XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由
 
ソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミングソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミング
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
 
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6
 
Lisp Tutorial for Pythonista : Day 5
Lisp Tutorial for Pythonista : Day 5Lisp Tutorial for Pythonista : Day 5
Lisp Tutorial for Pythonista : Day 5
 
Lisp Tutorial for Pythonista : Day 4
Lisp Tutorial for Pythonista : Day 4Lisp Tutorial for Pythonista : Day 4
Lisp Tutorial for Pythonista : Day 4
 
Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
 
Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1
 

Recently uploaded

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central BankingThe Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central BankingSelcen Ozturkcan
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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 AutomationSafe Software
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central BankingThe Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central Banking
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

Introduction of ToySynth

  • 1. Introduction about ToySynth Pure Python Software Synthesizer 2012-09-16 Python Conference JP 2012 Open Space Session Ransui Iso Strategic Technology R&D / X-Listing Co, Ltd. Copyright (c) 2011 Ransui Iso, All rights reserved.
  • 2.
  • 3. First, I play a music that generated by ToySynth. Copyright (c) 2011 Ransui Iso, All rights reserved.
  • 4. Johann Sebastian Bach March 21, 1685 – July 28, 1750 Copyright (c) 2011 Ransui Iso, All rights reserved.
  • 5. ToySynth. ● Only 2 python modules. – Components.py – Sequencer.py ● Pure python. – Just use standard python libraries. – It has simple archtecture, easy to learn. – Poor performance. ● It doesn't have a real-time rendering speed to make sound data. Copyright (c) 2011 Ransui Iso, All rights reserved.
  • 6. How to get ToySynth. ● You can download a tiny zip file. http://alpa.homeip.net/files/PyConJP2012/ToySynth.zip Copyright (c) 2011 Ransui Iso, All rights reserved.
  • 7. Components.py ● Component module provides some classes to make a sound. – Oscillator – Amplifier – Mixer – FrequencyModulator – LFO – Clock – Renderer – Sink – Etc ... Copyright (c) 2011 Ransui Iso, All rights reserved.
  • 8.
  • 9. Music Macro Language ● Code system for write musical notation. t120o4l4cdefedcrefgagfe4 t120o4l4cdefedcrefgagfe4 crcrcrcrl8ccddeeffl4edcr crcrcrcrl8ccddeeffl4edcr Copyright (c) 2011 Ransui Iso, All rights reserved.
  • 10. MMLCompiler ● It's in Sequencer module. – It convert MML string to byte-code. – Case insensitive. – White space is now allowed. – Poor lexer. – Only support basic features. Copyright (c) 2011 Ransui Iso, All rights reserved.
  • 11. Sequencer ● Executes music byte-code sequence. Set frequency at specified timing WaveFile osc Sequencer Renderer Sink MML Clock Compiler Music byte-code sequence. Copyright (c) 2011 Ransui Iso, All rights reserved.
  • 12. Make your own sound module ● Vibrato. base_osc = SineWaveOscillator() base_osc = SineWaveOscillator() diff_osc = SineWaveOscillator() diff_osc = SineWaveOscillator() Frequency diff_osc.frequency=10.0 diff_osc.frequency=10.0 osc Modulator viv_amp = Amplifeir( viv_amp = Amplifeir(     source=diff_osc,     source=diff_osc,     gain=2.0,     gain=2.0,     Attenuate=1.0)     Attenuate=1.0) viv_osc = FrequencyModulator( viv_osc = FrequencyModulator(     source=base_osc,      source=base_osc,      diff=viv_amp)     diff=viv_amp) osc amp frequency : frequency of vibrato. Gain parameter in amp. : depth of vivrato. Copyright (c) 2011 Ransui Iso, All rights reserved.
  • 13.
  • 14.
  • 15. Thank you for listening. Happy Hacking with Python! Copyright (c) 2011 Ransui Iso, All rights reserved.