# GoGo Penguin: Hopopono

**URL:** <https://in-thread.sonic-pi.net/t/gogo-penguin-hopopono/3679>\
**Category:** Creations & Ideas\
**Created:** [April 21, 2020, 2:10pm UTC](https://in-thread.sonic-pi.net/t/gogo-penguin-hopopono/3679 "2020-04-21T14:10:43Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![garen](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/garen/32/1626_2.png) [@garen](https://in-thread.sonic-pi.net/u/garen)\
**Post date:** [April 21, 2020, 2:10pm UTC](https://in-thread.sonic-pi.net/t/gogo-penguin-hopopono/3679/1 "2020-04-21T14:10:43Z")

</div>

I am new here. After discovering spi and going through tutorials, I’ve decided to learn more by trying to code some existing music that I like as close as close as I can to the original. So I picked Hopopono by GoGo Penguin. It was challenging to me because I am a software developer, but not a musician. Nevertheless, I coded the entire piece to the best of my ability, here is the result:  
[https://garenhart.bandcamp.com/track/hopopono-sonic-pi-version](https://garenhart.bandcamp.com/track/hopopono-sonic-pi-version).

And here is the complete source code:  
[https://gitlab.com/ghartunian/gogo-penguin-hopopono](https://gitlab.com/ghartunian/gogo-penguin-hopopono)

NOTE: The code size exceeds Sonic Pi buffer limit, so in can’t be executed from the editor. I use VS Code for development and run it from Sonic Pi using command line to run from external file (works even better):  
run\_file get(:rfpath)+“hopopono.rb”

where rfpath is a variable set in the init.rb file pointing to your directory:  
set :rfpath, “~/path/to/my/files/” #nb include trailing /

Read more about running from external file in documentation for run\_file or in this post:  
[Relative paths for run\_file](http://in-thread.sonic-pi.net/t/relative-paths-for-run-file/804)

---

<div class="post-metadata">

**Author:** ![robin.newman](https://avatars.discourse-cdn.com/v4/letter/r/76d3ee/32.png) [@robin.newman](https://in-thread.sonic-pi.net/u/robin.newman)\
**Post date:** [April 21, 2020, 2:12pm UTC](https://in-thread.sonic-pi.net/t/gogo-penguin-hopopono/3679/2 "2020-04-21T14:12:49Z")

</div>

you can just put

```ruby
run_file "/path/to/.file/to/run/filaname.rb"

```

in a Sonic Pi buffer and pres run to run it. I use that all the time.  
EDIT  
you can even just drag the file icon into the sonic pi buffer and it will resolve the location for you!

---

<div class="post-metadata">

**Author:** ![garen](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/garen/32/1626_2.png) [@garen](https://in-thread.sonic-pi.net/u/garen)\
**Post date:** [April 21, 2020, 2:19pm UTC](https://in-thread.sonic-pi.net/t/gogo-penguin-hopopono/3679/3 "2020-04-21T14:19:31Z")

</div>

Thank you, robin, I didn’t know about dragging. I just like setting the path in the init file, then you only have to type the file name or subfolder/file name if you want.

---

<div class="post-metadata">

**Author:** ![robin.newman](https://avatars.discourse-cdn.com/v4/letter/r/76d3ee/32.png) [@robin.newman](https://in-thread.sonic-pi.net/u/robin.newman)\
**Post date:** [April 21, 2020, 2:46pm UTC](https://in-thread.sonic-pi.net/t/gogo-penguin-hopopono/3679/4 "2020-04-21T14:46:58Z")

</div>

btw the file sounds great!

---

<div class="post-metadata">

**Author:** ![garen](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/garen/32/1626_2.png) [@garen](https://in-thread.sonic-pi.net/u/garen)\
**Post date:** [April 21, 2020, 3:02pm UTC](https://in-thread.sonic-pi.net/t/gogo-penguin-hopopono/3679/5 "2020-04-21T15:02:44Z")

</div>

It was a challenge and I was determined to only use built in samples and synths, but I learned a lot.

Thank you so much for the feedback, it means a lot to me!

---

<div class="post-metadata">

**Author:** ![samaaron](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/samaaron/32/7_2.png) [@samaaron](https://in-thread.sonic-pi.net/u/samaaron)\
**Post date:** [April 21, 2020, 5:56pm UTC](https://in-thread.sonic-pi.net/t/gogo-penguin-hopopono/3679/6 "2020-04-21T17:56:55Z")

</div>

Amazing work, thanks so much for sharing 🙂

---

<div class="post-metadata">

**Author:** ![garen](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/garen/32/1626_2.png) [@garen](https://in-thread.sonic-pi.net/u/garen)\
**Post date:** [April 21, 2020, 6:09pm UTC](https://in-thread.sonic-pi.net/t/gogo-penguin-hopopono/3679/7 "2020-04-21T18:09:35Z")

</div>

So happy to hear this from you, Sam! By the way, I was very impressed with the quality and stability of Sonic Pi while working on my first project. Thank you for the feedback and for Sonic Pi!
