SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
本日のお題




    Perl Meets Music
Perl Meets Music




    Perl で音楽を奏でてみたい!
Perl Meets Music




    でも Perl で音を鳴らすって、
    簡単に出来るんかな?
Perl Meets Music




          Perl が得意なのは
          テキスト処理、、、
Perl Meets Music




 テキストでメロディを
 鳴らすのがどっかにあったな。。。
Perl Meets Music




            Perl
Perl Meets Music




            Perl + 
Perl Meets Music




            Perl + (FIMML + JSMML)
Perl Meets Music




            作曲          演奏

            Perl + (FIMML + JSMML)
Perl Meets Music


作った。
  http://the.lonio.us/

                         テキストからMML生成
Perl Meets Music




                     (それなりに)


         メロディ・和音を生成
                   リズム隊は決め打ち
Perl Meets Music




                   Let's Play!
Perl Meets Music




                   Let's Play!
Perl Meets Music

生成Logic
Perl Meets Music

生成Logic
     Perlで音楽を奏でてみたい!
Perl Meets Music

生成Logic
     Perlで音楽を奏でてみたい!
             文字種分割

     Perl / で / 音楽 / を / 奏 / でてみたい / !
Perl Meets Music

生成Logic
     Perlで音楽を奏でてみたい!
                  文字種分割

     Perl / で / 音楽 / を / 奏 / でてみたい / !
                  文字コードからメロディを生成

     Perl     で       音楽          を        奏      でてみたい !
     BF+Arrrrr Arrrrrrr rADC+C+rrr DDrrrrrr Drrrrrrr DrF+DBF+Dr EBrrrrrr
Perl Meets Music

生成Logic
     Perlで音楽を奏でてみたい!
                   文字種分割

     Perl / で / 音楽 / を / 奏 / でてみたい / !
                   文字コードからメロディを生成

     Perl     で       音楽          を        奏      でてみたい !
     BF+Arrrrr Arrrrrrr rADC+C+rrr DDrrrrrr Drrrrrrr DrF+DBF+Dr EBrrrrrr

                   和音も同様に生成 (候補は”適当”に絞ってある)
      Perl    で       音楽           を       奏       でてみたい !
      D        G       Em         Bm       F#m     C#m7(b5)      A7
Perl Meets Music




      音楽関連モジュール
Perl Meets Music

Music::*
Perl Meets Music

Music::*
      Music::Scales
      キーと音階を指定すると、構成音を知ることができるモジュール
      my @maj = get_scale_notes('C', 'major'); # C D E F G A B
Perl Meets Music

Music::*
      Music::Scales
      キーと音階を指定すると、構成音を知ることができるモジュール
      my @maj = get_scale_notes('C', 'major'); # C D E F G A B

      Music::Chord::Namer
      音リストを渡すと、和音を教えてくれる和音Detectモジュール
      my @chord_name = chordname(q/C E G/); # $chord[0] : C
Perl Meets Music

Music::*
      Music::Scales
      キーと音階を指定すると、構成音を知ることができるモジュール
      my @maj = get_scale_notes('C', 'major'); # C D E F G A B

      Music::Chord::Namer
      音リストを渡すと、和音を教えてくれる和音Detectモジュール
      my @chord_name = chordname(q/C E G/); # $chord[0] : C

      Music::Chord::Note
      和音から、構成音を返すモジュール
      my @tone = $ct->chord('CM7'); # C E G B
Perl Meets Music




                   Play Again!
Perl Meets Music

まとめ
Perl Meets Music

まとめ
     音楽をもっと学ばなければならない
     ●
Perl Meets Music

まとめ
     音楽をもっと学ばなければならない
     ●




     現状だと Perl があんまり活きてない
     ●
Perl Meets Music

まとめ
     音楽をもっと学ばなければならない
     ●




     現状だと Perl があんまり活きてない
     ●




     もうちょっと凝ると、聞けるレベルになるかも
     ●
Perl Meets Music

まとめ
     音楽をもっと学ばなければならない
     ●




     現状だと Perl があんまり活きてない
     ●




     もうちょっと凝ると、聞けるレベルになるかも
     ●




     MML面白い
     ●
Perl Meets Music

まとめ
     音楽をもっと学ばなければならない
     ●




     現状だと Perl があんまり活きてない
     ●




     もうちょっと凝ると、聞けるレベルになるかも
     ●




     MML面白い
     ●




     use Yacafi;
     ●
Perl Meets Music

まとめ
     音楽をもっと学ばなければならない
     ●




     現状だと Perl があんまり活きてない
     ●




     もうちょっと凝ると、聞けるレベルになるかも
     ●




     MML面白い
     ●




     use Yacafi;
     ●




     以上。
Perl Meets Music




               http://the.lonio.us/
Perl Meets Music




             ありがとうございました。
Perl Meets Music




             ありがとうございました。
                   <感謝>
                   FIMML : おーさん
                   JSMML : id:secondlifeさん 
Perl Meets Music at Yokohama.pm #03

Weitere ähnliche Inhalte

Was ist angesagt?

10.1. Android Audio
10.1. Android Audio10.1. Android Audio
10.1. Android AudioOum Saokosal
 
1. asesoria28 de enero 2014
1. asesoria28 de enero 20141. asesoria28 de enero 2014
1. asesoria28 de enero 2014Luis Hernandez
 
Vim your Python, Python your Vim
Vim your Python, Python your VimVim your Python, Python your Vim
Vim your Python, Python your VimMiroslav Šedivý
 
Blind Test Rules Of The Game
Blind Test   Rules Of The GameBlind Test   Rules Of The Game
Blind Test Rules Of The Gamesdugot
 
ゲーム理論BASIC 演習10 -デートゲームと前向き帰納法-
ゲーム理論BASIC 演習10 -デートゲームと前向き帰納法-ゲーム理論BASIC 演習10 -デートゲームと前向き帰納法-
ゲーム理論BASIC 演習10 -デートゲームと前向き帰納法-ssusere0a682
 

Was ist angesagt? (9)

10.1. Android Audio
10.1. Android Audio10.1. Android Audio
10.1. Android Audio
 
Comcam Smaller
Comcam SmallerComcam Smaller
Comcam Smaller
 
Comcam
ComcamComcam
Comcam
 
1. asesoria28 de enero 2014
1. asesoria28 de enero 20141. asesoria28 de enero 2014
1. asesoria28 de enero 2014
 
Mango Leaf Rag
Mango Leaf RagMango Leaf Rag
Mango Leaf Rag
 
Vim your Python, Python your Vim
Vim your Python, Python your VimVim your Python, Python your Vim
Vim your Python, Python your Vim
 
Sprüche
SprücheSprüche
Sprüche
 
Blind Test Rules Of The Game
Blind Test   Rules Of The GameBlind Test   Rules Of The Game
Blind Test Rules Of The Game
 
ゲーム理論BASIC 演習10 -デートゲームと前向き帰納法-
ゲーム理論BASIC 演習10 -デートゲームと前向き帰納法-ゲーム理論BASIC 演習10 -デートゲームと前向き帰納法-
ゲーム理論BASIC 演習10 -デートゲームと前向き帰納法-
 

Andere mochten auch

Normativas Calidad Educacion Virtuales
Normativas Calidad Educacion VirtualesNormativas Calidad Educacion Virtuales
Normativas Calidad Educacion VirtualesGUILLERMO MOLINA JARA
 
Rancangan Penelitian2
Rancangan Penelitian2Rancangan Penelitian2
Rancangan Penelitian2yannachubz
 
revisi presentasi stakeholder
revisi presentasi stakeholderrevisi presentasi stakeholder
revisi presentasi stakeholderyannachubz
 
Perl Casual #1 - Config Pit
Perl Casual #1 - Config PitPerl Casual #1 - Config Pit
Perl Casual #1 - Config PitDai okabayashi
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
 

Andere mochten auch (8)

Normativas Calidad Educacion Virtuales
Normativas Calidad Educacion VirtualesNormativas Calidad Educacion Virtuales
Normativas Calidad Educacion Virtuales
 
Rancangan Penelitian2
Rancangan Penelitian2Rancangan Penelitian2
Rancangan Penelitian2
 
Sm i
Sm iSm i
Sm i
 
revisi presentasi stakeholder
revisi presentasi stakeholderrevisi presentasi stakeholder
revisi presentasi stakeholder
 
revisi
revisirevisi
revisi
 
Perl Casual #1 - Config Pit
Perl Casual #1 - Config PitPerl Casual #1 - Config Pit
Perl Casual #1 - Config Pit
 
Sm ii
Sm iiSm ii
Sm ii
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Ähnlich wie Perl Meets Music at Yokohama.pm #03

Republic 3 4
Republic 3 4Republic 3 4
Republic 3 4huquanwei
 
Opportunity Magazine 2008-11-03 Vol.5
Opportunity Magazine 2008-11-03 Vol.5Opportunity Magazine 2008-11-03 Vol.5
Opportunity Magazine 2008-11-03 Vol.5opportunity service
 
Cop",!@#%$%&*()*()
Cop",!@#%$%&*()*()Cop",!@#%$%&*()*()
Cop",!@#%$%&*()*()hehe123456
 
971008 [討論]單車設計考量
971008 [討論]單車設計考量971008 [討論]單車設計考量
971008 [討論]單車設計考量lifan
 
Search Psychology
Search PsychologySearch Psychology
Search Psychologynaoleiying
 
秩序从哪里来?
秩序从哪里来?秩序从哪里来?
秩序从哪里来?guest8430ea2
 
Republic 1 2
Republic 1 2Republic 1 2
Republic 1 2huquanwei
 
Gorm @ gopher china
Gorm @ gopher chinaGorm @ gopher china
Gorm @ gopher chinaJinzhu
 
簡報
簡報簡報
簡報kforce
 
English Grammar - قواعد اللغة الانجليزية
English Grammar - قواعد اللغة الانجليزيةEnglish Grammar - قواعد اللغة الانجليزية
English Grammar - قواعد اللغة الانجليزيةاسامه احمد
 
Silly Me-(4 page sample)
Silly Me-(4 page sample)Silly Me-(4 page sample)
Silly Me-(4 page sample)Philip Manos
 

Ähnlich wie Perl Meets Music at Yokohama.pm #03 (20)

Reloaded
ReloadedReloaded
Reloaded
 
Republic 3 4
Republic 3 4Republic 3 4
Republic 3 4
 
Opportunity Magazine 2008-11-03 Vol.5
Opportunity Magazine 2008-11-03 Vol.5Opportunity Magazine 2008-11-03 Vol.5
Opportunity Magazine 2008-11-03 Vol.5
 
Ltdd For Xp2008 検閲版
Ltdd For Xp2008 検閲版Ltdd For Xp2008 検閲版
Ltdd For Xp2008 検閲版
 
Cop",!@#%$%&*()*()
Cop",!@#%$%&*()*()Cop",!@#%$%&*()*()
Cop",!@#%$%&*()*()
 
971008 [討論]單車設計考量
971008 [討論]單車設計考量971008 [討論]單車設計考量
971008 [討論]單車設計考量
 
Search Psychology
Search PsychologySearch Psychology
Search Psychology
 
sigfpai73-kaji
sigfpai73-kajisigfpai73-kaji
sigfpai73-kaji
 
秩序从哪里来?
秩序从哪里来?秩序从哪里来?
秩序从哪里来?
 
Republic 1 2
Republic 1 2Republic 1 2
Republic 1 2
 
Gorm @ gopher china
Gorm @ gopher chinaGorm @ gopher china
Gorm @ gopher china
 
簡報
簡報簡報
簡報
 
English Grammar - قواعد اللغة الانجليزية
English Grammar - قواعد اللغة الانجليزيةEnglish Grammar - قواعد اللغة الانجليزية
English Grammar - قواعد اللغة الانجليزية
 
PHP超入門@LL温泉
PHP超入門@LL温泉PHP超入門@LL温泉
PHP超入門@LL温泉
 
greek doc 1
greek doc 1greek doc 1
greek doc 1
 
1
11
1
 
D1
D1D1
D1
 
Silly Me-(4 page sample)
Silly Me-(4 page sample)Silly Me-(4 page sample)
Silly Me-(4 page sample)
 
Ar10 pa-006
Ar10 pa-006Ar10 pa-006
Ar10 pa-006
 
Green IT
Green ITGreen IT
Green IT
 

Kürzlich hochgeladen

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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...Neo4j
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 
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 Takeoffsammart93
 
[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.pdfhans926745
 
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...apidays
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
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 WorkerThousandEyes
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Kürzlich hochgeladen (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
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
 
[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
 
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...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Perl Meets Music at Yokohama.pm #03

  • 1. 本日のお題 Perl Meets Music
  • 2. Perl Meets Music Perl で音楽を奏でてみたい!
  • 3. Perl Meets Music でも Perl で音を鳴らすって、 簡単に出来るんかな?
  • 4. Perl Meets Music Perl が得意なのは テキスト処理、、、
  • 5. Perl Meets Music テキストでメロディを 鳴らすのがどっかにあったな。。。
  • 7. Perl Meets Music Perl + 
  • 8. Perl Meets Music Perl + (FIMML + JSMML)
  • 9. Perl Meets Music 作曲 演奏 Perl + (FIMML + JSMML)
  • 10. Perl Meets Music 作った。 http://the.lonio.us/ テキストからMML生成
  • 11. Perl Meets Music (それなりに) メロディ・和音を生成 リズム隊は決め打ち
  • 12. Perl Meets Music Let's Play!
  • 13. Perl Meets Music Let's Play!
  • 15. Perl Meets Music 生成Logic Perlで音楽を奏でてみたい!
  • 16. Perl Meets Music 生成Logic Perlで音楽を奏でてみたい! 文字種分割 Perl / で / 音楽 / を / 奏 / でてみたい / !
  • 17. Perl Meets Music 生成Logic Perlで音楽を奏でてみたい! 文字種分割 Perl / で / 音楽 / を / 奏 / でてみたい / ! 文字コードからメロディを生成 Perl で 音楽 を 奏 でてみたい ! BF+Arrrrr Arrrrrrr rADC+C+rrr DDrrrrrr Drrrrrrr DrF+DBF+Dr EBrrrrrr
  • 18. Perl Meets Music 生成Logic Perlで音楽を奏でてみたい! 文字種分割 Perl / で / 音楽 / を / 奏 / でてみたい / ! 文字コードからメロディを生成 Perl で 音楽 を 奏 でてみたい ! BF+Arrrrr Arrrrrrr rADC+C+rrr DDrrrrrr Drrrrrrr DrF+DBF+Dr EBrrrrrr 和音も同様に生成 (候補は”適当”に絞ってある) Perl で 音楽 を 奏 でてみたい ! D G Em Bm F#m C#m7(b5) A7
  • 19. Perl Meets Music 音楽関連モジュール
  • 21. Perl Meets Music Music::* Music::Scales キーと音階を指定すると、構成音を知ることができるモジュール my @maj = get_scale_notes('C', 'major'); # C D E F G A B
  • 22. Perl Meets Music Music::* Music::Scales キーと音階を指定すると、構成音を知ることができるモジュール my @maj = get_scale_notes('C', 'major'); # C D E F G A B Music::Chord::Namer 音リストを渡すと、和音を教えてくれる和音Detectモジュール my @chord_name = chordname(q/C E G/); # $chord[0] : C
  • 23. Perl Meets Music Music::* Music::Scales キーと音階を指定すると、構成音を知ることができるモジュール my @maj = get_scale_notes('C', 'major'); # C D E F G A B Music::Chord::Namer 音リストを渡すと、和音を教えてくれる和音Detectモジュール my @chord_name = chordname(q/C E G/); # $chord[0] : C Music::Chord::Note 和音から、構成音を返すモジュール my @tone = $ct->chord('CM7'); # C E G B
  • 24. Perl Meets Music Play Again!
  • 26. Perl Meets Music まとめ 音楽をもっと学ばなければならない ●
  • 27. Perl Meets Music まとめ 音楽をもっと学ばなければならない ● 現状だと Perl があんまり活きてない ●
  • 28. Perl Meets Music まとめ 音楽をもっと学ばなければならない ● 現状だと Perl があんまり活きてない ● もうちょっと凝ると、聞けるレベルになるかも ●
  • 29. Perl Meets Music まとめ 音楽をもっと学ばなければならない ● 現状だと Perl があんまり活きてない ● もうちょっと凝ると、聞けるレベルになるかも ● MML面白い ●
  • 30. Perl Meets Music まとめ 音楽をもっと学ばなければならない ● 現状だと Perl があんまり活きてない ● もうちょっと凝ると、聞けるレベルになるかも ● MML面白い ● use Yacafi; ●
  • 31. Perl Meets Music まとめ 音楽をもっと学ばなければならない ● 現状だと Perl があんまり活きてない ● もうちょっと凝ると、聞けるレベルになるかも ● MML面白い ● use Yacafi; ● 以上。
  • 32. Perl Meets Music http://the.lonio.us/
  • 33. Perl Meets Music ありがとうございました。
  • 34. Perl Meets Music ありがとうございました。 <感謝> FIMML : おーさん JSMML : id:secondlifeさん