SlideShare a Scribd company logo
1 of 13
Pure Python
Software synthesizer
        2011-06-11
 Python mini Hack-a-thon #9
          at gumi
Who are you?
Ransui Iso @ X-Listing.

 I'm Common Lisper,
But use python heavily.
I like Chip-Tune Music very much.
Modern DTM system generates very rich sound,
  but the system can't generate PIKO-PIKO
                 sound well.
So, I made
   a toy software synthesizer
to generate PIKO-PIKO sound.
It generates PSG like
 square-wave sound.

PSG is 'Programmable Sound Generator”,
  which has been commonly use for
       computer and game music
               In 1980's
Square-wave form is good for PIKO-PIKO sound
Architecture of Synthesizer
              Oscillator




              Oscillator
   MML
                             Mixer
Interpreter

              Oscillator




              Oscillator


                           Raw PCM
                           binary data
Music Macro Language
●   Musical notation scores can translate to MML.
●   Note : CDEFGAB and R
    ●   + as #, - as ♭
●   Musical Control
    ●   Tempo                   T
    ●   Volume                  V
    ●   Octave                  O
    ●   Default key on length   L
How to generate MML to PCM data

   MML String




   Tokenizer    Notation Generator



                  Sequence of        Square Wave
                  Note instance       Generator



                                     RAW PCM
                                     Binary data.
Splitted output module

    Software Synthesizer          FIFO         Output Driver Software




                                                       PyQt

Qt Layer
                                                   QtMultimedia




OS Layer
                           ALSA          DIrectSound      Esound, etc...
Let's see the code!
   You can find the python source code at pasetebin.

Raw PCM data generator : http://pastebin.com/h2fxLACS
 Sound Output Program : http://pastebin.com/gf0SXULY
DEMO
Have you heard of this?
Thank you for LISTNING
     Happy Hacking!!

More Related Content

What's hot

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
 
FFunction: We Love Python !
FFunction: We Love Python !FFunction: We Love Python !
FFunction: We Love Python !FFunction inc
 
Paper on Modeling and Subtractive synthesis of virtual violin
Paper on Modeling and Subtractive synthesis of virtual violinPaper on Modeling and Subtractive synthesis of virtual violin
Paper on Modeling and Subtractive synthesis of virtual violinVinoth Punniyamoorthy
 
Ry pyconjp2015 karaoke
Ry pyconjp2015 karaokeRy pyconjp2015 karaoke
Ry pyconjp2015 karaokeRenyuan Lyu
 
JoeWangVisitingScholarProjectSummary
JoeWangVisitingScholarProjectSummaryJoeWangVisitingScholarProjectSummary
JoeWangVisitingScholarProjectSummaryJoe Wang
 
From Music to Visuals – and Back
From Music to Visuals – and BackFrom Music to Visuals – and Back
From Music to Visuals – and BackReinhold Behringer
 

What's hot (11)

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.
 
Lab Activity
Lab ActivityLab Activity
Lab Activity
 
FFunction: We Love Python !
FFunction: We Love Python !FFunction: We Love Python !
FFunction: We Love Python !
 
Paper on Modeling and Subtractive synthesis of virtual violin
Paper on Modeling and Subtractive synthesis of virtual violinPaper on Modeling and Subtractive synthesis of virtual violin
Paper on Modeling and Subtractive synthesis of virtual violin
 
Ry pyconjp2015 karaoke
Ry pyconjp2015 karaokeRy pyconjp2015 karaoke
Ry pyconjp2015 karaoke
 
Python Workshop
Python WorkshopPython Workshop
Python Workshop
 
JoeWangVisitingScholarProjectSummary
JoeWangVisitingScholarProjectSummaryJoeWangVisitingScholarProjectSummary
JoeWangVisitingScholarProjectSummary
 
Hom Class
Hom ClassHom Class
Hom Class
 
Hom Class
Hom ClassHom Class
Hom Class
 
Podcasting live grouped
Podcasting live groupedPodcasting live grouped
Podcasting live grouped
 
From Music to Visuals – and Back
From Music to Visuals – and BackFrom Music to Visuals – and Back
From Music to Visuals – and Back
 

Viewers also liked

Pythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクターPythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクターRansui Iso
 
Raspberry PiとPdでオリジナルのシンセを作る
Raspberry PiとPdでオリジナルのシンセを作るRaspberry PiとPdでオリジナルのシンセを作る
Raspberry PiとPdでオリジナルのシンセを作るChikashi Miyama
 
ArduinoでMidiコントローラーを作ろう
ArduinoでMidiコントローラーを作ろうArduinoでMidiコントローラーを作ろう
ArduinoでMidiコントローラーを作ろうtadfmac
 
Pagination Done the Right Way
Pagination Done the Right WayPagination Done the Right Way
Pagination Done the Right WayMarkus Winand
 
ソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミングソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミングRansui Iso
 
Introduction to Chainer: A Flexible Framework for Deep Learning
Introduction to Chainer: A Flexible Framework for Deep LearningIntroduction to Chainer: A Flexible Framework for Deep Learning
Introduction to Chainer: A Flexible Framework for Deep LearningSeiya Tokui
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングRansui Iso
 
Sales presentation market explore-english
Sales presentation   market explore-englishSales presentation   market explore-english
Sales presentation market explore-englishRachid QCHIQACH
 
Introduction of hey chongqing!
Introduction of hey chongqing!Introduction of hey chongqing!
Introduction of hey chongqing!怡安 陳
 
Aula 1 a obra de kant como síntese do nascente pensamento burguês
Aula 1   a obra de kant como síntese do nascente pensamento burguêsAula 1   a obra de kant como síntese do nascente pensamento burguês
Aula 1 a obra de kant como síntese do nascente pensamento burguêsLeandro Alano
 
Spine X Live2D 百萬智多星製作經驗談
Spine X Live2D 百萬智多星製作經驗談Spine X Live2D 百萬智多星製作經驗談
Spine X Live2D 百萬智多星製作經驗談Scissor Lee
 
Yellow Slice Design Profile - 2016
Yellow Slice Design Profile - 2016Yellow Slice Design Profile - 2016
Yellow Slice Design Profile - 2016Yellow Slice
 
English 10 unit 6 listening
English 10 unit 6  listeningEnglish 10 unit 6  listening
English 10 unit 6 listeningnganngoc84
 
trigonomery of right triangles
trigonomery of right trianglestrigonomery of right triangles
trigonomery of right triangleskatleho phatoli
 
02 july-2014 to-08-july-2014-hindu_sabhavarta_year38_issue14
02 july-2014 to-08-july-2014-hindu_sabhavarta_year38_issue1402 july-2014 to-08-july-2014-hindu_sabhavarta_year38_issue14
02 july-2014 to-08-july-2014-hindu_sabhavarta_year38_issue14Akhil Bharat Mahasabha
 
SAP Business Object Material
SAP Business Object Material SAP Business Object Material
SAP Business Object Material erpsoln
 

Viewers also liked (17)

Pythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクターPythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクター
 
Raspberry PiとPdでオリジナルのシンセを作る
Raspberry PiとPdでオリジナルのシンセを作るRaspberry PiとPdでオリジナルのシンセを作る
Raspberry PiとPdでオリジナルのシンセを作る
 
ArduinoでMidiコントローラーを作ろう
ArduinoでMidiコントローラーを作ろうArduinoでMidiコントローラーを作ろう
ArduinoでMidiコントローラーを作ろう
 
Pagination Done the Right Way
Pagination Done the Right WayPagination Done the Right Way
Pagination Done the Right Way
 
ソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミングソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミング
 
Introduction to Chainer: A Flexible Framework for Deep Learning
Introduction to Chainer: A Flexible Framework for Deep LearningIntroduction to Chainer: A Flexible Framework for Deep Learning
Introduction to Chainer: A Flexible Framework for Deep Learning
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
 
Sales presentation market explore-english
Sales presentation   market explore-englishSales presentation   market explore-english
Sales presentation market explore-english
 
Introduction of hey chongqing!
Introduction of hey chongqing!Introduction of hey chongqing!
Introduction of hey chongqing!
 
Aula 1 a obra de kant como síntese do nascente pensamento burguês
Aula 1   a obra de kant como síntese do nascente pensamento burguêsAula 1   a obra de kant como síntese do nascente pensamento burguês
Aula 1 a obra de kant como síntese do nascente pensamento burguês
 
Spine X Live2D 百萬智多星製作經驗談
Spine X Live2D 百萬智多星製作經驗談Spine X Live2D 百萬智多星製作經驗談
Spine X Live2D 百萬智多星製作經驗談
 
Yellow Slice Design Profile - 2016
Yellow Slice Design Profile - 2016Yellow Slice Design Profile - 2016
Yellow Slice Design Profile - 2016
 
English 10 unit 6 listening
English 10 unit 6  listeningEnglish 10 unit 6  listening
English 10 unit 6 listening
 
trigonomery of right triangles
trigonomery of right trianglestrigonomery of right triangles
trigonomery of right triangles
 
Sun & VMware Desktop Training
Sun & VMware Desktop TrainingSun & VMware Desktop Training
Sun & VMware Desktop Training
 
02 july-2014 to-08-july-2014-hindu_sabhavarta_year38_issue14
02 july-2014 to-08-july-2014-hindu_sabhavarta_year38_issue1402 july-2014 to-08-july-2014-hindu_sabhavarta_year38_issue14
02 july-2014 to-08-july-2014-hindu_sabhavarta_year38_issue14
 
SAP Business Object Material
SAP Business Object Material SAP Business Object Material
SAP Business Object Material
 

Similar to PySynth : A toy pure python software synthesizer.

Nimble Streamer Transcoder overview
Nimble Streamer Transcoder overviewNimble Streamer Transcoder overview
Nimble Streamer Transcoder overviewSoftvelum
 
uRock @ Jserv Course Final
uRock @ Jserv Course Final uRock @ Jserv Course Final
uRock @ Jserv Course Final 宗凡 楊
 
Mpeg For The Media Sonic Players
Mpeg For The Media Sonic PlayersMpeg For The Media Sonic Players
Mpeg For The Media Sonic Playersguest78aa88
 
Music in the Metaverse
Music in the MetaverseMusic in the Metaverse
Music in the MetaverseRichard Elen
 
Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...
Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...
Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...Unity Technologies
 
Digital recording
Digital recordingDigital recording
Digital recordinggps2012
 
Mpeg 101 demyst analysis & picture symptoms 20110808 opt
Mpeg 101 demyst analysis & picture symptoms 20110808 optMpeg 101 demyst analysis & picture symptoms 20110808 opt
Mpeg 101 demyst analysis & picture symptoms 20110808 opthexiay
 
Digital Hymnals: Exploring the Capabilities of QuickTime Pro
Digital Hymnals: Exploring the Capabilities of QuickTime ProDigital Hymnals: Exploring the Capabilities of QuickTime Pro
Digital Hymnals: Exploring the Capabilities of QuickTime ProMichael Labay
 
Roland R-88: 8-Channel Recorder and Mixer
Roland R-88: 8-Channel Recorder and MixerRoland R-88: 8-Channel Recorder and Mixer
Roland R-88: 8-Channel Recorder and MixerRoland Professional A/V
 
Dsp
DspDsp
Dspncct
 
OpenPipe at FOSDEM 2013
OpenPipe at FOSDEM 2013OpenPipe at FOSDEM 2013
OpenPipe at FOSDEM 2013xulioc
 
02 - About Motherboard and its Types.ppt
02 - About Motherboard and its Types.ppt02 - About Motherboard and its Types.ppt
02 - About Motherboard and its Types.pptBABUE7
 
Dsp
DspDsp
Dspncct
 

Similar to PySynth : A toy pure python software synthesizer. (20)

Nimble Streamer Transcoder overview
Nimble Streamer Transcoder overviewNimble Streamer Transcoder overview
Nimble Streamer Transcoder overview
 
uRock @ Jserv Course Final
uRock @ Jserv Course Final uRock @ Jserv Course Final
uRock @ Jserv Course Final
 
Mpeg For The Media Sonic Players
Mpeg For The Media Sonic PlayersMpeg For The Media Sonic Players
Mpeg For The Media Sonic Players
 
Music in the Metaverse
Music in the MetaverseMusic in the Metaverse
Music in the Metaverse
 
Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...
Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...
Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...
 
Digital recording
Digital recordingDigital recording
Digital recording
 
Pi Is For Python
Pi Is For PythonPi Is For Python
Pi Is For Python
 
CHAP2.pptx
CHAP2.pptxCHAP2.pptx
CHAP2.pptx
 
Mpeg 101 demyst analysis & picture symptoms 20110808 opt
Mpeg 101 demyst analysis & picture symptoms 20110808 optMpeg 101 demyst analysis & picture symptoms 20110808 opt
Mpeg 101 demyst analysis & picture symptoms 20110808 opt
 
I pod presentation
I pod presentationI pod presentation
I pod presentation
 
Digital Hymnals: Exploring the Capabilities of QuickTime Pro
Digital Hymnals: Exploring the Capabilities of QuickTime ProDigital Hymnals: Exploring the Capabilities of QuickTime Pro
Digital Hymnals: Exploring the Capabilities of QuickTime Pro
 
Roland R-88: 8-Channel Recorder and Mixer
Roland R-88: 8-Channel Recorder and MixerRoland R-88: 8-Channel Recorder and Mixer
Roland R-88: 8-Channel Recorder and Mixer
 
Dsp
DspDsp
Dsp
 
OpenPipe at FOSDEM 2013
OpenPipe at FOSDEM 2013OpenPipe at FOSDEM 2013
OpenPipe at FOSDEM 2013
 
Microcontroller 8051 gs
Microcontroller 8051 gsMicrocontroller 8051 gs
Microcontroller 8051 gs
 
Pro tools HD Systems
Pro tools HD SystemsPro tools HD Systems
Pro tools HD Systems
 
02 - About Motherboard and its Types.ppt
02 - About Motherboard and its Types.ppt02 - About Motherboard and its Types.ppt
02 - About Motherboard and its Types.ppt
 
Dsp
DspDsp
Dsp
 
Task 3
Task 3Task 3
Task 3
 
I pod new
I pod newI pod new
I pod new
 

More from 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
 
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 (11)

「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が「電池付属」と呼ばれる理由
 
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

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

PySynth : A toy pure python software synthesizer.

  • 1. Pure Python Software synthesizer 2011-06-11 Python mini Hack-a-thon #9 at gumi
  • 2. Who are you? Ransui Iso @ X-Listing. I'm Common Lisper, But use python heavily.
  • 3. I like Chip-Tune Music very much. Modern DTM system generates very rich sound, but the system can't generate PIKO-PIKO sound well.
  • 4. So, I made a toy software synthesizer to generate PIKO-PIKO sound.
  • 5. It generates PSG like square-wave sound. PSG is 'Programmable Sound Generator”, which has been commonly use for computer and game music In 1980's
  • 6. Square-wave form is good for PIKO-PIKO sound
  • 7. Architecture of Synthesizer Oscillator Oscillator MML Mixer Interpreter Oscillator Oscillator Raw PCM binary data
  • 8. Music Macro Language ● Musical notation scores can translate to MML. ● Note : CDEFGAB and R ● + as #, - as ♭ ● Musical Control ● Tempo T ● Volume V ● Octave O ● Default key on length L
  • 9. How to generate MML to PCM data MML String Tokenizer Notation Generator Sequence of Square Wave Note instance Generator RAW PCM Binary data.
  • 10. Splitted output module Software Synthesizer FIFO Output Driver Software PyQt Qt Layer QtMultimedia OS Layer ALSA DIrectSound Esound, etc...
  • 11. Let's see the code! You can find the python source code at pasetebin. Raw PCM data generator : http://pastebin.com/h2fxLACS Sound Output Program : http://pastebin.com/gf0SXULY
  • 13. Thank you for LISTNING Happy Hacking!!