Tags List Template
This is still in progress
{ "compile_date": "Sat 03 Apr 2021 12:37:25 AM EDT\n", "config": { "base_url": "https://arsmachina.net", "theme": null, "title": null, "description": null, "default_language": "en", "languages": [], "translations": {}, "highlight_code": true, "highlight_theme": "base16-ocean-dark", "generate_feed": false, "feed_limit": null, "feed_filename": "atom.xml", "hard_link_static": false, "taxonomies": [ { "name": "tags", "paginate_by": null, "paginate_path": null, "feed": false, "lang": "en" }, { "name": "categories", "paginate_by": null, "paginate_path": null, "feed": false, "lang": "en" } ], "compile_sass": false, "minify_html": false, "build_search_index": true, "ignored_content": [], "extra_syntaxes": [], "output_dir": "public", "link_checker": { "skip_prefixes": [], "skip_anchor_prefixes": [] }, "slugify": { "paths": "on", "taxonomies": "on", "anchors": "on" }, "search": { "include_title": true, "include_content": true, "truncate_content_length": null, "include_description": false }, "markdown": { "highlight_code": false, "highlight_theme": "base16-ocean-dark", "render_emoji": false, "external_links_target_blank": false, "external_links_no_follow": false, "external_links_no_referrer": false, "smart_punctuation": false, "extra_syntaxes": [] }, "extra": {} }, "cow": " ______________________________
< I mount my soul at /dev/null >
------------------------------
\\ ^__^
\\ (oo)\\_______
(__)\\ )\\/\\
||----w |
|| ||\n", "current_path": "/categories/", "current_url": "https://arsmachina.net/categories/", "data": { "topMenu": [ { "name": "Home", "url": "/", "class": "accent-3", "children": [] }, { "name": "Blog", "url": "/blog", "class": "", "children": [] }, { "name": "Projects", "url": "/projects", "class": "", "children": [] }, { "name": "Music", "url": "/music", "class": "", "children": [] }, { "name": "Photography", "url": "/pictures", "class": "", "children": [] }, { "name": "About", "url": "/about", "class": "", "children": [] } ], "footerMenu": [ { "name": "About", "url": "/about", "class": "green", "children": [ { "name": "About Me", "url": "/about/aboutme", "children": [] }, { "name": "About Website", "url": "/about/aboutsite", "children": [] } ] }, { "name": "Code", "url": "/about/aboutcode", "class": "red", "children": [ { "name": "Main Github", "url": "https://github.com/mboleary", "children": [] }, { "name": "Old Github", "url": "https://github.com/nesdood007", "children": [] }, { "name": "Gitlab", "url": "https://gitlab.com/mboleary", "children": [] } ] }, { "name": "Section Title", "url": "/test/", "class": "blue", "children": [ { "name": "Post 1", "url": "/test/post1", "children": [] }, { "name": "Post 2", "url": "/test/post2", "children": [] }, { "name": "Post 3", "url": "/test/post3", "children": [] } ] }, { "name": "Section Title", "url": "/test/", "class": "orange", "children": [ { "name": "Post 1", "url": "/test/post1", "children": [] }, { "name": "Post 2", "url": "/test/post2", "children": [] }, { "name": "Post 3", "url": "/test/post3", "children": [] } ] } ] }, "git_branch": "master\n", "git_hash": "de538fd638745320073f00830f553c38b98d798e\n", "lang": "en", "taxonomy": { "name": "categories", "paginate_by": null, "paginate_path": null, "feed": false, "lang": "en" }, "terms": [ { "name": "art", "slug": "art", "permalink": "https://arsmachina.net/categories/art/", "pages": [ { "relative_path": "projects/mandelbrotExplorer.md", "content": "
Go here to see it in action\nhttps://github.com/mboleary/fractals-canvas
\nMandelbrot Explorer
\nThis was a testing project for me to learn how the canvas works in Javascript, as well as how I can color the Mandelbrot set. This was written without the use of a Javascript Framework.
\nThere are additional Images in the repo linked above.
\nMotivation
\nI built this demo as a way to learn Javascript, and how to specifically use the Canvas to draw things.
\nHow to run this locally
\nGo to the repository above, and clone or download the code locally. In there, use python3 -m http.server 8000 --bind 127.0.0.1
in a console, and then open a web browser and navigate to localhost:8000
.
Hello World
\nThis is the first post in my new personal blog. Expect to see a lot of changes as the website design improves and matures. I still have a lot of things to implement, such as the rest of the CSS framework, and the rest of the Website layout.
\nThis website is still a work in progress. Things will be a mess at first.
\n", "permalink": "https://arsmachina.net/blog/firstpost/", "slug": "firstpost", "ancestors": [ "_index.md", "blog/_index.md" ], "title": "First Post", "description": "This is the First Post on the blog", "updated": null, "date": "2020-01-18", "year": 2020, "month": 1, "day": 18, "taxonomies": { "tags": [ "first", "post", "test" ], "categories": [ "blog" ] }, "extra": { "titlecard": "bg-black fg-a4" }, "path": "/blog/firstpost/", "components": [ "blog", "firstpost" ], "summary": null, "toc": [ { "level": 1, "id": "hello-world", "permalink": "https://arsmachina.net/blog/firstpost/#hello-world", "title": "Hello World", "children": [] } ], "word_count": 65, "reading_time": 1, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] } ] }, { "name": "computer_music", "slug": "computer-music", "permalink": "https://arsmachina.net/categories/computer-music/", "pages": [ { "relative_path": "projects/p4.md", "content": "Editor's Note: This was Project 4 of my New Media Arts Class
\nOriginal Title: Project 4 - What if you can make music with just your hands?
\nOriginal Description: What if you could make music just by waving your hands in front of a sensor? This system makes music based on the position of your hands in front of a pair of ultrasonic sensors using pentationic scales.
\nLinks
\n\n\n\nThe Device
\nI created this device in a few hours using the base of an old keyboard I took apart a long time ago, and a lot of Sticky Putty.
\n


Project Information
\nThis was the final project in my MART380 class.
\nMotivation
\nI have recently been researching more about Computer Music, and decided that this would be a cool concept to peruse for my final project in this class. I had some experience in working with the Distance Sensor for an Arduino, so I decided to go with that.
\nMusic
\nI decided to go with using a Pentatonic Scale, as well as 7th chords with added 2nds to make my music. There are a few distinct parts of the music generation process: The Arpeggio, Chords, Melody, and Bass. The Melody is randomly generated by picking one of the 5 notes to play. Chords change on the user putting their hands close to the device, which causes a new Chord to be randomly selected.
\nSystem Requirements
\nCurrently I only support linux, but in theory this project can be modified to work on other platforms, such as Windows or MacOS.
\nSoftware Required:
\n- \n
- \n
Pure Data (In particular the i2ork version, which can be found here)
\n- \n
- \n
The following Packages Must be installed:
\n- \n
- \n
Comport (serial communication module)
\n \n - \n
Reverb
\n \n
\n - \n
\n - \n
- \n
Jack Audio Connection Kit (for Linux users to route MIDI and Audio streams through software, link here)
\n \n - \n
ZynAddSubFX (Audio Synthesizer, makes the sound for the project. Download Here. Please Download the Non-ZynFusion version.)
\n \n - \n
USB 2.0 Connections, or otherwise able to communicate with an arduino through a serial interface.
\n \n
Tools Needed
\nIn order to setup this system, you will need:
\n- \n
- \n
2 Arduinos
\n \n - \n
2 Arduino Ultrasonic Sensors
\n \n - \n
Wires and USB cables as appropriate
\n \n
Setup Procedure
\nThis is a brief guide to setting up the Arduino software and hardware, as well as Pure Data.
\nArduino
\n- \n
- Connect the Arduino to the Distance Sensor. \n
NOTE: Be sure that the ultrasonic sensors point opposite of each other, otherwise interference may occur.
\n- \n
- \n
Connect Arduinos to PC
\n \n - \n
Write Program to both Arduinos
\n \n
PC
\n- \n
- Start Jack \n
a. Note that QJackCtl has a nice GUI to help with setup if you are into that type of thing
\n- \n
- Start Pure Data \n
- \n
- \n
Turn on the DSP
\n \n - \n
Open up
\nmart380_final.pd
\n
- \n
- Start ZynAddSubFX \n
- \n
- Load
inst.xmz
\n
- \n
- \n
Make connections
\n \n - \n
In the Opened Pure Data Project, click on the large Bang Object (looks like a button) at the top-left corner of the window, where there is a comment saying "Start".
\n \n
Use
\nBy default, the system should be quiet, as the reverb is on full-blast, and the notes are very short. Place hands in front of the sensors, about 20 inches away, and move around, probably closer to the sensor, until the L
LED on the Arduino illuminates. When this light is lit, you will know that your hand is within the range of the sensor, and a non-zero or 127 value will be sent to the computer.
First, try moving your hands closer to the sensors and listen for the music to get louder. To change Chords, move your hands closely in front of the sensors, until the lights go out (from your hands being too close). After a few ticks, the chord should randomly change.
\nModification
\nThis program can be modified to accomodate different instruments, sensors, or chords.
\n", "permalink": "https://arsmachina.net/projects/p4/", "slug": "p4", "ancestors": [ "_index.md", "projects/_index.md" ], "title": "Project 4 - What if you can make music with just your hands?", "description": "This system makes music based on the position of your hands in front of a pair of ultrasonic sensors using pentationic scales.", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "tags": [ "arduino", "escape", "opensource", "test" ], "categories": [ "projects", "mart380", "computer_music" ] }, "extra": { "titlecard": "img light", "img": "/asset/p4_bg.jpg" }, "path": "/projects/p4/", "components": [ "projects", "p4" ], "summary": null, "toc": [ { "level": 1, "id": "links", "permalink": "https://arsmachina.net/projects/p4/#links", "title": "Links", "children": [] }, { "level": 1, "id": "the-device", "permalink": "https://arsmachina.net/projects/p4/#the-device", "title": "The Device", "children": [] }, { "level": 1, "id": "project-information", "permalink": "https://arsmachina.net/projects/p4/#project-information", "title": "Project Information", "children": [ { "level": 2, "id": "motivation", "permalink": "https://arsmachina.net/projects/p4/#motivation", "title": "Motivation", "children": [] }, { "level": 2, "id": "music", "permalink": "https://arsmachina.net/projects/p4/#music", "title": "Music", "children": [] } ] }, { "level": 1, "id": "system-requirements", "permalink": "https://arsmachina.net/projects/p4/#system-requirements", "title": "System Requirements", "children": [] }, { "level": 1, "id": "tools-needed", "permalink": "https://arsmachina.net/projects/p4/#tools-needed", "title": "Tools Needed", "children": [] }, { "level": 1, "id": "setup-procedure", "permalink": "https://arsmachina.net/projects/p4/#setup-procedure", "title": "Setup Procedure", "children": [ { "level": 2, "id": "arduino", "permalink": "https://arsmachina.net/projects/p4/#arduino", "title": "Arduino", "children": [] }, { "level": 2, "id": "pc", "permalink": "https://arsmachina.net/projects/p4/#pc", "title": "PC", "children": [] } ] }, { "level": 1, "id": "use", "permalink": "https://arsmachina.net/projects/p4/#use", "title": "Use", "children": [] }, { "level": 1, "id": "modification", "permalink": "https://arsmachina.net/projects/p4/#modification", "title": "Modification", "children": [] } ], "word_count": 732, "reading_time": 4, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] } ] }, { "name": "mart380", "slug": "mart380", "permalink": "https://arsmachina.net/categories/mart380/", "pages": [ { "relative_path": "projects/p4.md", "content": "Editor's Note: This was Project 4 of my New Media Arts Class
\nOriginal Title: Project 4 - What if you can make music with just your hands?
\nOriginal Description: What if you could make music just by waving your hands in front of a sensor? This system makes music based on the position of your hands in front of a pair of ultrasonic sensors using pentationic scales.
\nLinks
\n\n\n\nThe Device
\nI created this device in a few hours using the base of an old keyboard I took apart a long time ago, and a lot of Sticky Putty.
\n


Project Information
\nThis was the final project in my MART380 class.
\nMotivation
\nI have recently been researching more about Computer Music, and decided that this would be a cool concept to peruse for my final project in this class. I had some experience in working with the Distance Sensor for an Arduino, so I decided to go with that.
\nMusic
\nI decided to go with using a Pentatonic Scale, as well as 7th chords with added 2nds to make my music. There are a few distinct parts of the music generation process: The Arpeggio, Chords, Melody, and Bass. The Melody is randomly generated by picking one of the 5 notes to play. Chords change on the user putting their hands close to the device, which causes a new Chord to be randomly selected.
\nSystem Requirements
\nCurrently I only support linux, but in theory this project can be modified to work on other platforms, such as Windows or MacOS.
\nSoftware Required:
\n- \n
- \n
Pure Data (In particular the i2ork version, which can be found here)
\n- \n
- \n
The following Packages Must be installed:
\n- \n
- \n
Comport (serial communication module)
\n \n - \n
Reverb
\n \n
\n - \n
\n - \n
- \n
Jack Audio Connection Kit (for Linux users to route MIDI and Audio streams through software, link here)
\n \n - \n
ZynAddSubFX (Audio Synthesizer, makes the sound for the project. Download Here. Please Download the Non-ZynFusion version.)
\n \n - \n
USB 2.0 Connections, or otherwise able to communicate with an arduino through a serial interface.
\n \n
Tools Needed
\nIn order to setup this system, you will need:
\n- \n
- \n
2 Arduinos
\n \n - \n
2 Arduino Ultrasonic Sensors
\n \n - \n
Wires and USB cables as appropriate
\n \n
Setup Procedure
\nThis is a brief guide to setting up the Arduino software and hardware, as well as Pure Data.
\nArduino
\n- \n
- Connect the Arduino to the Distance Sensor. \n
NOTE: Be sure that the ultrasonic sensors point opposite of each other, otherwise interference may occur.
\n- \n
- \n
Connect Arduinos to PC
\n \n - \n
Write Program to both Arduinos
\n \n
PC
\n- \n
- Start Jack \n
a. Note that QJackCtl has a nice GUI to help with setup if you are into that type of thing
\n- \n
- Start Pure Data \n
- \n
- \n
Turn on the DSP
\n \n - \n
Open up
\nmart380_final.pd
\n
- \n
- Start ZynAddSubFX \n
- \n
- Load
inst.xmz
\n
- \n
- \n
Make connections
\n \n - \n
In the Opened Pure Data Project, click on the large Bang Object (looks like a button) at the top-left corner of the window, where there is a comment saying "Start".
\n \n
Use
\nBy default, the system should be quiet, as the reverb is on full-blast, and the notes are very short. Place hands in front of the sensors, about 20 inches away, and move around, probably closer to the sensor, until the L
LED on the Arduino illuminates. When this light is lit, you will know that your hand is within the range of the sensor, and a non-zero or 127 value will be sent to the computer.
First, try moving your hands closer to the sensors and listen for the music to get louder. To change Chords, move your hands closely in front of the sensors, until the lights go out (from your hands being too close). After a few ticks, the chord should randomly change.
\nModification
\nThis program can be modified to accomodate different instruments, sensors, or chords.
\n", "permalink": "https://arsmachina.net/projects/p4/", "slug": "p4", "ancestors": [ "_index.md", "projects/_index.md" ], "title": "Project 4 - What if you can make music with just your hands?", "description": "This system makes music based on the position of your hands in front of a pair of ultrasonic sensors using pentationic scales.", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "tags": [ "arduino", "escape", "opensource", "test" ], "categories": [ "projects", "mart380", "computer_music" ] }, "extra": { "titlecard": "img light", "img": "/asset/p4_bg.jpg" }, "path": "/projects/p4/", "components": [ "projects", "p4" ], "summary": null, "toc": [ { "level": 1, "id": "links", "permalink": "https://arsmachina.net/projects/p4/#links", "title": "Links", "children": [] }, { "level": 1, "id": "the-device", "permalink": "https://arsmachina.net/projects/p4/#the-device", "title": "The Device", "children": [] }, { "level": 1, "id": "project-information", "permalink": "https://arsmachina.net/projects/p4/#project-information", "title": "Project Information", "children": [ { "level": 2, "id": "motivation", "permalink": "https://arsmachina.net/projects/p4/#motivation", "title": "Motivation", "children": [] }, { "level": 2, "id": "music", "permalink": "https://arsmachina.net/projects/p4/#music", "title": "Music", "children": [] } ] }, { "level": 1, "id": "system-requirements", "permalink": "https://arsmachina.net/projects/p4/#system-requirements", "title": "System Requirements", "children": [] }, { "level": 1, "id": "tools-needed", "permalink": "https://arsmachina.net/projects/p4/#tools-needed", "title": "Tools Needed", "children": [] }, { "level": 1, "id": "setup-procedure", "permalink": "https://arsmachina.net/projects/p4/#setup-procedure", "title": "Setup Procedure", "children": [ { "level": 2, "id": "arduino", "permalink": "https://arsmachina.net/projects/p4/#arduino", "title": "Arduino", "children": [] }, { "level": 2, "id": "pc", "permalink": "https://arsmachina.net/projects/p4/#pc", "title": "PC", "children": [] } ] }, { "level": 1, "id": "use", "permalink": "https://arsmachina.net/projects/p4/#use", "title": "Use", "children": [] }, { "level": 1, "id": "modification", "permalink": "https://arsmachina.net/projects/p4/#modification", "title": "Modification", "children": [] } ], "word_count": 732, "reading_time": 4, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] }, { "relative_path": "projects/p3.md", "content": "Editor's note: This was Project 3 for my New Media Arts Class
\nOriginal Title: Project 3 - What if there was an Alternate Universe?
\nOriginal Description: What if, in a world devoid of color, there was an alternate universe with splashes of color? How would you escape to this world?
\nLink to the Game on Itch.io
\nhttps://mboleary-usc.itch.io/escape
\n\nProject Information
\nA Unity game where you must escape from the world you are currently in.
\nIntroduction
\nThis is a First-person styled game where you must figure out how to go from world to world.
\nDirectories
\n/Assets
- The Assets Directory to include in a new Unity Project
/Build
- Prebuilt binaries for Linux, MacOSX, Windows, and WebGL
Controls
\nMouse - Look Around
\nLeft Mouse Button - Shoot a Projectile. The projectile will glow all colors that it can interact with
\nWASD - Move Around
\nSHIFT - Run
\nHow to build
\nIn order to build this project, you should create a New Unity Project, and then import the assets from this assets directory into your project. It should contain all scripts and resources needed to test out the project.
\nMotivation
\nSince this project used a lot of scripts, I felt that it would be good to have this project be open-source to help other students that may take this class in the future see how C# code is written, and how it can be used to make a cool game.
\nThere are scripts to spawn in enemies, keep track of colors, and change the music when the player collects a tessaract, among other things.
\n\n
Walkthrough
\nWhen this game was demoed in class, I think that the objective of hte game wasn't initially obvious enough, so I have made a walkthrough to help people play through it.
\nMain Objective
\nThe entire world is governed by collecting colored cubes, giving the player the ability to interact with other objects that also are the same color.
\nObjects
\n


Areas
\nLight World (First Scene)
\nYou, the player are in a cube. You must touch the switch to escape this bow, but you aren't finished escaping yet! Go and investigate that suspicially large and dark tree in the middle of the area.
\n
Darker World (Second Scene)
\nYou have been teleported to a darker version of the world you were just in. Off in the distance, you should see colored Tessaract Cubes (as seen above) in each corner of the area. You can collect them in any order that you choose. When you collect all 4, you will be teleported to another area.
\nDarkest World (Last Scene)
\nYou should see a lighter tree in the middle of the field, like the first one that you initially touched to get to the Dark World. Go touch that tree!
\n
After this you are teleported back to the Light World. You can go around again, if you want, or try to escape a different way in the Darkest World. Hint: Then enemies don't always stay on the ground!. Also this breaks the game, FYI.
\n", "permalink": "https://arsmachina.net/projects/p3/", "slug": "p3", "ancestors": [ "_index.md", "projects/_index.md" ], "title": "Project 3 - What if there was an Alternate Universe?", "description": "What if, in a world devoid of color, there was an alternate universe with splashes of color? How would you escape to this world?", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "categories": [ "projects", "mart380" ], "tags": [ "unity", "escape", "test" ] }, "extra": { "titlecard": "img light", "img": "/asset/p3_bg.png" }, "path": "/projects/p3/", "components": [ "projects", "p3" ], "summary": null, "toc": [ { "level": 1, "id": "link-to-the-game-on-itch-io", "permalink": "https://arsmachina.net/projects/p3/#link-to-the-game-on-itch-io", "title": "Link to the Game on Itch.io", "children": [] }, { "level": 1, "id": "project-information", "permalink": "https://arsmachina.net/projects/p3/#project-information", "title": "Project Information", "children": [ { "level": 2, "id": "introduction", "permalink": "https://arsmachina.net/projects/p3/#introduction", "title": "Introduction", "children": [] }, { "level": 2, "id": "directories", "permalink": "https://arsmachina.net/projects/p3/#directories", "title": "Directories", "children": [] }, { "level": 2, "id": "controls", "permalink": "https://arsmachina.net/projects/p3/#controls", "title": "Controls", "children": [] }, { "level": 2, "id": "how-to-build", "permalink": "https://arsmachina.net/projects/p3/#how-to-build", "title": "How to build", "children": [] }, { "level": 2, "id": "motivation", "permalink": "https://arsmachina.net/projects/p3/#motivation", "title": "Motivation", "children": [] } ] }, { "level": 1, "id": "walkthrough", "permalink": "https://arsmachina.net/projects/p3/#walkthrough", "title": "Walkthrough", "children": [ { "level": 2, "id": "main-objective", "permalink": "https://arsmachina.net/projects/p3/#main-objective", "title": "Main Objective", "children": [] }, { "level": 2, "id": "objects", "permalink": "https://arsmachina.net/projects/p3/#objects", "title": "Objects", "children": [] }, { "level": 2, "id": "areas", "permalink": "https://arsmachina.net/projects/p3/#areas", "title": "Areas", "children": [ { "level": 3, "id": "light-world-first-scene", "permalink": "https://arsmachina.net/projects/p3/#light-world-first-scene", "title": "Light World (First Scene)", "children": [] }, { "level": 3, "id": "darker-world-second-scene", "permalink": "https://arsmachina.net/projects/p3/#darker-world-second-scene", "title": "Darker World (Second Scene)", "children": [] }, { "level": 3, "id": "darkest-world-last-scene", "permalink": "https://arsmachina.net/projects/p3/#darkest-world-last-scene", "title": "Darkest World (Last Scene)", "children": [] } ] } ] } ], "word_count": 676, "reading_time": 4, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] } ] }, { "name": "projects", "slug": "projects", "permalink": "https://arsmachina.net/categories/projects/", "pages": [ { "relative_path": "test/post1.md", "content": "Hello World
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nHello World 2
\nThis is a test.
\nThis is a test.
\nHello World 3
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\n", "permalink": "https://arsmachina.net/test/post1/", "slug": "post1", "ancestors": [ "_index.md", "test/_index.md" ], "title": "This is a test", "description": "Test", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "tags": [ "test", "tag", "blue", "pizza" ], "categories": [ "projects" ] }, "extra": { "titlecard": "bg-a1-a3" }, "path": "/test/post1/", "components": [ "test", "post1" ], "summary": "Hello World
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nHello World 2
\nThis is a test.
\nThis is a test.
\n", "toc": [ { "level": 1, "id": "hello-world", "permalink": "https://arsmachina.net/test/post1/#hello-world", "title": "Hello World", "children": [] }, { "level": 1, "id": "hello-world-2", "permalink": "https://arsmachina.net/test/post1/#hello-world-2", "title": "Hello World 2", "children": [] }, { "level": 1, "id": "hello-world-3", "permalink": "https://arsmachina.net/test/post1/#hello-world-3", "title": "Hello World 3", "children": [] } ], "word_count": 153, "reading_time": 1, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] }, { "relative_path": "projects/p4.md", "content": "Editor's Note: This was Project 4 of my New Media Arts Class
\nOriginal Title: Project 4 - What if you can make music with just your hands?
\nOriginal Description: What if you could make music just by waving your hands in front of a sensor? This system makes music based on the position of your hands in front of a pair of ultrasonic sensors using pentationic scales.
\nLinks
\n\n\n\nThe Device
\nI created this device in a few hours using the base of an old keyboard I took apart a long time ago, and a lot of Sticky Putty.
\n


Project Information
\nThis was the final project in my MART380 class.
\nMotivation
\nI have recently been researching more about Computer Music, and decided that this would be a cool concept to peruse for my final project in this class. I had some experience in working with the Distance Sensor for an Arduino, so I decided to go with that.
\nMusic
\nI decided to go with using a Pentatonic Scale, as well as 7th chords with added 2nds to make my music. There are a few distinct parts of the music generation process: The Arpeggio, Chords, Melody, and Bass. The Melody is randomly generated by picking one of the 5 notes to play. Chords change on the user putting their hands close to the device, which causes a new Chord to be randomly selected.
\nSystem Requirements
\nCurrently I only support linux, but in theory this project can be modified to work on other platforms, such as Windows or MacOS.
\nSoftware Required:
\n- \n
- \n
Pure Data (In particular the i2ork version, which can be found here)
\n- \n
- \n
The following Packages Must be installed:
\n- \n
- \n
Comport (serial communication module)
\n \n - \n
Reverb
\n \n
\n - \n
\n - \n
- \n
Jack Audio Connection Kit (for Linux users to route MIDI and Audio streams through software, link here)
\n \n - \n
ZynAddSubFX (Audio Synthesizer, makes the sound for the project. Download Here. Please Download the Non-ZynFusion version.)
\n \n - \n
USB 2.0 Connections, or otherwise able to communicate with an arduino through a serial interface.
\n \n
Tools Needed
\nIn order to setup this system, you will need:
\n- \n
- \n
2 Arduinos
\n \n - \n
2 Arduino Ultrasonic Sensors
\n \n - \n
Wires and USB cables as appropriate
\n \n
Setup Procedure
\nThis is a brief guide to setting up the Arduino software and hardware, as well as Pure Data.
\nArduino
\n- \n
- Connect the Arduino to the Distance Sensor. \n
NOTE: Be sure that the ultrasonic sensors point opposite of each other, otherwise interference may occur.
\n- \n
- \n
Connect Arduinos to PC
\n \n - \n
Write Program to both Arduinos
\n \n
PC
\n- \n
- Start Jack \n
a. Note that QJackCtl has a nice GUI to help with setup if you are into that type of thing
\n- \n
- Start Pure Data \n
- \n
- \n
Turn on the DSP
\n \n - \n
Open up
\nmart380_final.pd
\n
- \n
- Start ZynAddSubFX \n
- \n
- Load
inst.xmz
\n
- \n
- \n
Make connections
\n \n - \n
In the Opened Pure Data Project, click on the large Bang Object (looks like a button) at the top-left corner of the window, where there is a comment saying "Start".
\n \n
Use
\nBy default, the system should be quiet, as the reverb is on full-blast, and the notes are very short. Place hands in front of the sensors, about 20 inches away, and move around, probably closer to the sensor, until the L
LED on the Arduino illuminates. When this light is lit, you will know that your hand is within the range of the sensor, and a non-zero or 127 value will be sent to the computer.
First, try moving your hands closer to the sensors and listen for the music to get louder. To change Chords, move your hands closely in front of the sensors, until the lights go out (from your hands being too close). After a few ticks, the chord should randomly change.
\nModification
\nThis program can be modified to accomodate different instruments, sensors, or chords.
\n", "permalink": "https://arsmachina.net/projects/p4/", "slug": "p4", "ancestors": [ "_index.md", "projects/_index.md" ], "title": "Project 4 - What if you can make music with just your hands?", "description": "This system makes music based on the position of your hands in front of a pair of ultrasonic sensors using pentationic scales.", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "tags": [ "arduino", "escape", "opensource", "test" ], "categories": [ "projects", "mart380", "computer_music" ] }, "extra": { "titlecard": "img light", "img": "/asset/p4_bg.jpg" }, "path": "/projects/p4/", "components": [ "projects", "p4" ], "summary": null, "toc": [ { "level": 1, "id": "links", "permalink": "https://arsmachina.net/projects/p4/#links", "title": "Links", "children": [] }, { "level": 1, "id": "the-device", "permalink": "https://arsmachina.net/projects/p4/#the-device", "title": "The Device", "children": [] }, { "level": 1, "id": "project-information", "permalink": "https://arsmachina.net/projects/p4/#project-information", "title": "Project Information", "children": [ { "level": 2, "id": "motivation", "permalink": "https://arsmachina.net/projects/p4/#motivation", "title": "Motivation", "children": [] }, { "level": 2, "id": "music", "permalink": "https://arsmachina.net/projects/p4/#music", "title": "Music", "children": [] } ] }, { "level": 1, "id": "system-requirements", "permalink": "https://arsmachina.net/projects/p4/#system-requirements", "title": "System Requirements", "children": [] }, { "level": 1, "id": "tools-needed", "permalink": "https://arsmachina.net/projects/p4/#tools-needed", "title": "Tools Needed", "children": [] }, { "level": 1, "id": "setup-procedure", "permalink": "https://arsmachina.net/projects/p4/#setup-procedure", "title": "Setup Procedure", "children": [ { "level": 2, "id": "arduino", "permalink": "https://arsmachina.net/projects/p4/#arduino", "title": "Arduino", "children": [] }, { "level": 2, "id": "pc", "permalink": "https://arsmachina.net/projects/p4/#pc", "title": "PC", "children": [] } ] }, { "level": 1, "id": "use", "permalink": "https://arsmachina.net/projects/p4/#use", "title": "Use", "children": [] }, { "level": 1, "id": "modification", "permalink": "https://arsmachina.net/projects/p4/#modification", "title": "Modification", "children": [] } ], "word_count": 732, "reading_time": 4, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] }, { "relative_path": "projects/mandelbrotExplorer.md", "content": "Go here to see it in action\nhttps://github.com/mboleary/fractals-canvas
\nMandelbrot Explorer
\nThis was a testing project for me to learn how the canvas works in Javascript, as well as how I can color the Mandelbrot set. This was written without the use of a Javascript Framework.
\nThere are additional Images in the repo linked above.
\nMotivation
\nI built this demo as a way to learn Javascript, and how to specifically use the Canvas to draw things.
\nHow to run this locally
\nGo to the repository above, and clone or download the code locally. In there, use python3 -m http.server 8000 --bind 127.0.0.1
in a console, and then open a web browser and navigate to localhost:8000
.
Editor's note: This was Project 3 for my New Media Arts Class
\nOriginal Title: Project 3 - What if there was an Alternate Universe?
\nOriginal Description: What if, in a world devoid of color, there was an alternate universe with splashes of color? How would you escape to this world?
\nLink to the Game on Itch.io
\nhttps://mboleary-usc.itch.io/escape
\n\nProject Information
\nA Unity game where you must escape from the world you are currently in.
\nIntroduction
\nThis is a First-person styled game where you must figure out how to go from world to world.
\nDirectories
\n/Assets
- The Assets Directory to include in a new Unity Project
/Build
- Prebuilt binaries for Linux, MacOSX, Windows, and WebGL
Controls
\nMouse - Look Around
\nLeft Mouse Button - Shoot a Projectile. The projectile will glow all colors that it can interact with
\nWASD - Move Around
\nSHIFT - Run
\nHow to build
\nIn order to build this project, you should create a New Unity Project, and then import the assets from this assets directory into your project. It should contain all scripts and resources needed to test out the project.
\nMotivation
\nSince this project used a lot of scripts, I felt that it would be good to have this project be open-source to help other students that may take this class in the future see how C# code is written, and how it can be used to make a cool game.
\nThere are scripts to spawn in enemies, keep track of colors, and change the music when the player collects a tessaract, among other things.
\n\n
Walkthrough
\nWhen this game was demoed in class, I think that the objective of hte game wasn't initially obvious enough, so I have made a walkthrough to help people play through it.
\nMain Objective
\nThe entire world is governed by collecting colored cubes, giving the player the ability to interact with other objects that also are the same color.
\nObjects
\n


Areas
\nLight World (First Scene)
\nYou, the player are in a cube. You must touch the switch to escape this bow, but you aren't finished escaping yet! Go and investigate that suspicially large and dark tree in the middle of the area.
\n
Darker World (Second Scene)
\nYou have been teleported to a darker version of the world you were just in. Off in the distance, you should see colored Tessaract Cubes (as seen above) in each corner of the area. You can collect them in any order that you choose. When you collect all 4, you will be teleported to another area.
\nDarkest World (Last Scene)
\nYou should see a lighter tree in the middle of the field, like the first one that you initially touched to get to the Dark World. Go touch that tree!
\n
After this you are teleported back to the Light World. You can go around again, if you want, or try to escape a different way in the Darkest World. Hint: Then enemies don't always stay on the ground!. Also this breaks the game, FYI.
\n", "permalink": "https://arsmachina.net/projects/p3/", "slug": "p3", "ancestors": [ "_index.md", "projects/_index.md" ], "title": "Project 3 - What if there was an Alternate Universe?", "description": "What if, in a world devoid of color, there was an alternate universe with splashes of color? How would you escape to this world?", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "categories": [ "projects", "mart380" ], "tags": [ "unity", "escape", "test" ] }, "extra": { "titlecard": "img light", "img": "/asset/p3_bg.png" }, "path": "/projects/p3/", "components": [ "projects", "p3" ], "summary": null, "toc": [ { "level": 1, "id": "link-to-the-game-on-itch-io", "permalink": "https://arsmachina.net/projects/p3/#link-to-the-game-on-itch-io", "title": "Link to the Game on Itch.io", "children": [] }, { "level": 1, "id": "project-information", "permalink": "https://arsmachina.net/projects/p3/#project-information", "title": "Project Information", "children": [ { "level": 2, "id": "introduction", "permalink": "https://arsmachina.net/projects/p3/#introduction", "title": "Introduction", "children": [] }, { "level": 2, "id": "directories", "permalink": "https://arsmachina.net/projects/p3/#directories", "title": "Directories", "children": [] }, { "level": 2, "id": "controls", "permalink": "https://arsmachina.net/projects/p3/#controls", "title": "Controls", "children": [] }, { "level": 2, "id": "how-to-build", "permalink": "https://arsmachina.net/projects/p3/#how-to-build", "title": "How to build", "children": [] }, { "level": 2, "id": "motivation", "permalink": "https://arsmachina.net/projects/p3/#motivation", "title": "Motivation", "children": [] } ] }, { "level": 1, "id": "walkthrough", "permalink": "https://arsmachina.net/projects/p3/#walkthrough", "title": "Walkthrough", "children": [ { "level": 2, "id": "main-objective", "permalink": "https://arsmachina.net/projects/p3/#main-objective", "title": "Main Objective", "children": [] }, { "level": 2, "id": "objects", "permalink": "https://arsmachina.net/projects/p3/#objects", "title": "Objects", "children": [] }, { "level": 2, "id": "areas", "permalink": "https://arsmachina.net/projects/p3/#areas", "title": "Areas", "children": [ { "level": 3, "id": "light-world-first-scene", "permalink": "https://arsmachina.net/projects/p3/#light-world-first-scene", "title": "Light World (First Scene)", "children": [] }, { "level": 3, "id": "darker-world-second-scene", "permalink": "https://arsmachina.net/projects/p3/#darker-world-second-scene", "title": "Darker World (Second Scene)", "children": [] }, { "level": 3, "id": "darkest-world-last-scene", "permalink": "https://arsmachina.net/projects/p3/#darkest-world-last-scene", "title": "Darkest World (Last Scene)", "children": [] } ] } ] } ], "word_count": 676, "reading_time": 4, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] }, { "relative_path": "test2/post1.md", "content": "Hello World
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nHello World 2
\nThis is a test.
\nThis is a test.
\nHello World 3
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\n", "permalink": "https://arsmachina.net/test2/post1/", "slug": "post1", "ancestors": [ "_index.md", "test2/_index.md" ], "title": "This is a test", "description": "Test", "updated": null, "date": null, "year": null, "month": null, "day": null, "taxonomies": { "tags": [ "test", "tag" ], "categories": [ "projects" ] }, "extra": { "titlecard": "bg-a1-a3" }, "path": "/test2/post1/", "components": [ "test2", "post1" ], "summary": "Hello World
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nThis is a test.
\nHello World 2
\nThis is a test.
\nThis is a test.
\n", "toc": [ { "level": 1, "id": "hello-world", "permalink": "https://arsmachina.net/test2/post1/#hello-world", "title": "Hello World", "children": [] }, { "level": 1, "id": "hello-world-2", "permalink": "https://arsmachina.net/test2/post1/#hello-world-2", "title": "Hello World 2", "children": [] }, { "level": 1, "id": "hello-world-3", "permalink": "https://arsmachina.net/test2/post1/#hello-world-3", "title": "Hello World 3", "children": [] } ], "word_count": 153, "reading_time": 1, "assets": [], "draft": false, "lang": "en", "lighter": null, "heavier": null, "earlier": null, "later": null, "translations": [] } ] } ] }