Nicholas Berriochoa

About me

Welcome to my webpage! You can call me Nico. I'm a programmer with a BS in Computer Science and an MSc in Digital Signal Processing (DSP). I'm always looking to improve my abilities as a programmer and help other people refine their processes.

After undergrad I was working odd jobs and discovered the world of audio programming. I've played piano for 20 years and have always been passionate about music. After taking an online course for audio programming, I was eager to learn more which led to my pursuit for a MSc in DSP.

Although my interest mainly lies in the audio domain, I'm happy to help others refine their processes in other areas. Take a look below to see some projects I've worked on. Additionally, take a look at my personal projects and don't hesitate to reach out!

Work

Level Up Subs

Level Up Subs is a dealer for PSA grading. Their goal was to allow their customers to view the grading process as well as the grades from PSA's website. PSA doesn't offer a robust API to get this information so I was tasked with figuring out a work around.

Technologies used: Shopify, HTML/CSS, JavaScript, Python, Github Actions, Bash scripting, FTP Server, Cron job, API calls

Minimal Audio

I worked for a company called Minimal Audio on a MIDI engine for an unreleased synthesizer plugin. This was my first time working with other developers and I learned a lot. It took a while to learn the codebase and adjust to working with others but I'm grateful for the opportunity to work with such an awesome team. I love their products and I'm excited to see my code in production.

Technologies used: C++, JUCE, Slack, Figma, PluginDoctor, MIDI, Pluginval

Bubbie Was Chubbie

A fitness coach reached out to me to create a desktop application that was able to take user input and generate a PDF based on the input. I worked closely with the client to make sure in understood the necessary calculations that the program would do to create a fitness goal for his clients.

Technologies used: C#, Windows Forms, iText PDF, Vistual Studio, Inno Installer

Everybody Edits TAS client

Everybody Edits was an online platformer Flash game. The game is currently dead due to Flash support ending. However, their is a small community that still plays the game with an offline client. I was approached by an individual to create a Tool Assisted Speedrun (TAS) client for the offline version.

Technologies used: ActionScript3

Other

  • pfluemer: a client wanted to convert a Max/MSP patch to a JUCE plugin. I was able to reverse engineer the patch and create the plugin. This was done pre RNBO release so I wasn't able to "export" the code from Max/MSP. Technologies used: C++, JUCE, Max/MSP
  • DLG Coatings: a client lost access to their company website. I was able to rebuild the website using archived copies on the Wayback Machine. Technologies used: HTML/CSS, JavaScript, NameCheap
  • Ford of Ventura: created a script to access to interact with the Keyper locker system. The script generated inventory reports to track which keys existed in the locker but not in homenet. Technologies used: Python, Shell script, Batchfile
  • The Greenhouse Studios: a basic website for a local music studio. Technologies used: HTML/CSS, JavaScript, Firebase
  • Tanya Hanson blog: a blog for a local author. Technologies used: Wordpress, HTML/CSS

Projects

  • plugin-template - template I use to make plugins. contains common features that exist within all plugins. This repo is a featured project in the awesome-juce repo.
  • Midi Player - Plugin designed to playback MIDI files. This originally started as a freelance job but the client was unwilling to pay for my work.
  • Easing Animation - JUCE tool to create easing animations for components
  • Midi Duplication Tracker - Debug tool to keep track of MIDI on/off messages
  • microtuner - Ableton Live microtuner midi device rewritten with JUCE
  • juce-modules - custom made modules for JUCE plugin development
  • jackel - translate notes to negative harmony
  • Alternative tuning systems for DAWs - my thesis project for my MSc
  • peco - ping pong delay plugin
  • Kadenze Audio Plugin - chorus and delay plugin developed during Kadenze's audio plugin course. See certifications here.
  • Chromesthesia Trainer - Senior project for my BS
  • namp (Nico's Arduino Music Player) - a miniture OS build on arduino that can play audio files. This project uses another project of mine called ext2reader which is a command line tool used to read ext2 file systems.
  • Starlord - a Unity game created for a game development course