Friday, September 7, 2012

Final retrieval

When I started writing this blog back in 2009 it was mainly motivated by the changes I was observing in my life and the people around me. I moved to Barcelona with the aim to develop and expand the horizons while meeting new cultures and facing the ongoing challenges in the world economy. I think one of the best things is that my english communication skills have improved a lot since then, which is good for such a spaniard like me!

People who know me well are aware of my levels of geekery (nerdiness?) in relation to my fields of interest: the biggest ones are obviously Audio, Music and Video Games. I think they were mainly provoked by my first contact with computers in the early childhood and the following years of learning, getting my hands dirty on blogs, more blogs, magazines, games, books and uncountable ... software together with the people that crossed my path. All of that produced some of the research, contributions, experiments and ventures I am very proud of.

If I had to talk about the learnings in these last few years, I would point out three ideas here:
  • Embrace change.
  • Don't give up.
  • Think positively.

Walking this path hasn't been easy by no means, but it has brought me the amazing chance to talk and collaborate with some of the best people in software, research, games and audio.

As a recent example, I started helping out with the administration of the Procedural Audio Forum together with Nicolas Fournel. It is a place where we can all discuss and hopefully help shape the sound design and procedural audio technologies in games, film, animation and digital media. If you are interested in the field, feel free to join the discussions!

Some big news for me are that I recently moved to Manchester (UK) to work on new projects and IP for the R&D division of Music Group as Software Engineer. It is a well known company in the Audio and Pro-Audio industry that designs and builds products under the brands MIDAS consoles, Klark Teknik and Behringer. A talented and experienced team with lots of fun and stuff to learn from!

There is also a new blog on the works. This time I will be mostly focusing on technical articles, some personal research, code and technology discoveries. Follow me on Twitter for updates at @JGarciaMartin

Thanks for reading :)

Friday, October 21, 2011

A thesis post-mortem

During the last couple of years I have been planning, writing and developing the thesis for my Masters in Sound and Music Computing. In this post I want to highlight some of the lessons I learned on the road, and (hopefully) provide some useful tips from my experiences for anyone who might be interested in doing a thesis under a related field and die in the process... or oh well, no... better say: enjoy the process ;)

My motivations are also influenced by the theses from my Masters colleagues, and the feedback I received. I think there is a real need for doing more theses in the fields related to Game Audio, Interactive Audio, Digital Media, Sound Design and Analysis/Synthesis/Procedural technologies. Looking at emerging conferences, workshops and industry events, I feel there is a potential to continue working towards what I believe we will see in the next few years not only in games, but in various industries, education programs, academic spin-offs and novel fields of research.

What went wrong
  • The art of planning, generally speaking, is hard to master. Even more if you don't have deadlines. Additionally, planning things that are totally new to you, or novel, is even more difficult. I tried to do several estimations of what would take to finish certain tasks, and I failed at most of them. Though it wasn't hugely critical for this project, I had to remember to myself that the aim was to showcase an idea or the potential of some ideas, and not a shippable product with marketing costs.
  • I feel I didn't collaborated with enough people. A problem I somehow faced was finding the right people to collaborate. Failed at that for some parts of the thesis, but I was also constrained by the fact that sometimes I need to isolate and find the time to focus my energy on getting things completed alone.
  • Project pitches. I also realized that pitching ideas more to colleagues and people closer to me would had improved the way of how some material was presented.
  • Did once, and forgot forever. Some of the important basics were set at the beginning of the project, and then sometimes I forgot to bring them out to the table again to justify some of the decisions. I think it is always good to keep track of where you are coming from and where you want to go with your work.
  • Fail early and often. This is a general tip I forgot in some implementations. If you are trying things that would take an unexpected amount of time and don't know if they will work or not, it is better to make them fail at the beginning of the project, and don't wait for some deadlines approaching.
What went right
  • Open source code, libraries and tools are your friends and provide a good (and free) way to learn. Try not to crack a proprietary software that will give some extra push to the project if you can. I was surprised by the amount of free resources that can be found online. Some of them helped to develop my work, and when I had some doubts about how to implement certain things I had some code to take as reference.
  • Contacting professionals and industry people. I think I was quite lucky with this one, so got response from a good range of people working at companies and other academic institutions. Their comments were really handy and a great complement to what I had in my University.
  • Accomplishing what I felt it was necessary for the project. Sometimes it got quite tough to filter out what I wanted to do with the project because while I was reviewing the state of the art, I was discovering very good resources for ideas. At the end I think that my supervisor, advisor and myself found a good packaged balance of contents for the thesis.
  • State of the art was a fun puzzle that worked out well in the end. I was also happy to find out that some of the known research done already at my University was being used in games and related projects while I was doing the thesis. So, for me it really was a good indicator for the state of the art and helped to support my review of technology, algorithms and methods available. It also helped to work on a topic that appealed to me a lot and where I had some experience to bring out.
  • The acceptance of a co-authored white paper and my attendance to the Audio Mostly conference was also a good experience. There I met some like-minded people, had the chance to pitch and talk again about my thesis, and received more feedback about it.
     
Some lessons learned, tips and conclusions...
  • Being positive and focused. Though at some points I felt like an outcast with the project, looking at it from outside and asking for feedback apart from the University, gave fresh air to the work I was doing and kept me motivated.
  • Be aware of the scope of academic projects and technology. There will be times when you will not have the time you think you have, neither the expected working (bug free) technology at your disposal. Expect technical problems, planning delays and also be aware that writing things to Latex, Word or plain paper... also takes time and is also an important part of the process.
  • There are chances that you will be mainly alone doing this. Your tutor, supervisor or advisor would be of great help but you will likely be the lead of the project so, try to prepare for that. Maybe this is not that critical for a Bachelor's project, but when doing a Masters, you will likely be expected to take things to the next level.
  • Share your knowledge and tools with your peers. Maybe you are using a library or framework that would be of great help for another colleague. Don't keep the guns for yourself. Maybe you can also discover an useful tool for your project on the road...
  • Ask people, people near you, and people far from you, for feedback. If you target to bring out some novel stuff to the masses, be sure it is also going into an appealing direction for yourself. No pressure, no sweat... just try to be sure what you will be working on is challenging enough and (if possible) novel to the community, so to feel it is worthy of doing to keep you continuously motivated.
  • Don't forget to include a future work section in your thesis final report. If the thesis has a potential for others to continue the path you have opened, don't be shy to write it! Use your imagination here.
  • Have fun and make time for yourself. Writing a thesis can be absorbing but by no means you should get rid of time to rest and for yourself. I know it could get tough some times when you have quite a bit of pressure over your shoulders but, make your homework, and try to find time for you.
  • Again, fail early and often. You can, and should make errors. If you are in academia, errors should be supported and encouraged (well, this is also really appreciated in industry as well...). Making errors and learn from them is an important part of the learning process.
  • Try to develop your intuition. Being into a learning process means that there are things for sure you will not know. But I think that by no means this should be taken to diminish or ignore the previous experience you may have, which is also valuable.

As a side note, I have to remark that all of what I wrote above is highly influenced and biased by the University where I did the thesis, the Masters (this was a MSc, a Master of Arts or MBA would be different, I guess), the country where I did it, the people I have collaborated with and my general experiences. Nevertheless, I think some of the tips mentioned can be applied to different contexts.

So, thats it! Please feel free to email me if you think I could be of any help to info [at] jorgegarciamartin [dot] com

And by the way, if you have time I do really appreciate receiving feedback!

Hopefully my next blog post will be a final entry telling a bit of a story from my current job search, and - spoiler in 3, 2, 1... - it will also conclude this blog :)

Thursday, July 7, 2011

About processes

I have been compiling a list of available tools, languages and programming libraries during the last months. For me it has been mainly motivated by the fact that one of the most important things when talking about development in general (not only games or game audio: but whatever product, service, software or piece-of-art) is the definition of a process grounded from certain workflows and pipelines.

Sure, the result is what counts most sometimes... but if the amount of effort and hours to reach a certain result matters to you, taking your time to rest, breath, learn and think about what is the best tool for a certain task really pays off in the long term.

There is a good amount of free online resources released under open source licenses (or shareware) that can help us out, for instance, to define processes or build prototypes. I discovered them while surfing and passing through blogs, tweets, conference slides, user groups and some seminars and talks at the Uni. I have only used few of them in depth, but I believe all are worth of a try. They mainly come from dedicated community contributors, independent developers and research centers (extended list).

Of course there are still a lot missing from this list. I tried to do my best with the categories classification, but some of the resources below would easily fit different scenarios and needs. If you discover additional ones that would be of help, learning or interest, I truly believe it is great to openly share their existence so we can be capable of writing, developing, creating or researching better methods, code, algorithms, assets and products.


Audio and Music languages

There are specific languages with dedicated semantics for audio and music processing or synthesis. Some of them allow generating code and algorithms that can also be used at prototyping stages.



Communication libraries

The Open Sound Control protocol is widely used to bridge communication between applications and input devices. Libraries and frameworks that implement this protocol over TCP or UDP transports are also useful to couple applications like game engines and Max/MSP or PureData, for instance.
UnityOSC (C# mono .NET) (my little contribution here!).

Dataflow

These allow to quickly prototype Digital Signal Processing (DSP) algorithms, and generate runtime code or components that can be used within an audio engine or support the development of standalone plugins and tools.

SonicFlow 


DSP libraries

Developing and implementing core DSP algorithms can be a tough labour, but less painful (and inspiring) if some external libraries are used or taken as reference for audio I/O, analysis, synthesis and processing.

Aubio (C/C++)

Standalone tools and plugins

Going beyond the typical audio editor functionality, it can be handy to extract, visualize and compute features or descriptors from an audio signal, in order to asses the best analysis parameters or salient characteristics that can be exploited at runtime or while prototyping.


Various misc tools, plug-ins, platforms


Web APIs

There is a salient amount of web services that allow carrying music analysis, synthesis and processing on the cloud. Maybe the most complete list can be found at Programmable Web (Side note: be aware of the licensing terms of each of them!). One of the most recent is Echoprint.

Edit: added additional references from a reddit talk.

Tuesday, February 1, 2011

These hacking days

It is interesting to see how initiatives can bring out fresh air to the development scene. Hacking is somehow an innocent and irreverent activity that can lead to a wide range of emotions: laughter, fun, cry, excitement, frustration...

Last months I've been part of the Music Hack Day in Barcelona, Boston and Cannes. They have reminded me to the Campus Party events that take place since some years ago in Spain. There you can meet a lot of crazy people, share passions, take the most of the time, and sometimes you can also compete for prizes.

After coming back from Hack Day in Cannes, and after seeing some MIDEM panels, it is clear that music industry (generally speaking) is still reticent to changes and to technology. The shadows of the MP3 "evil" are still present.

I participated doing a couple of hacks, called Sing'Em All and the Artwork Maker. Feel free to check out the code and send me comments or questions, or contact the people I have worked with to make them possible. They have been fun to code, but hard to complete ;)

You can also read a good report of the Cannes event and see a bunch of pictures from the blog of Paul Lamere.

Thursday, August 12, 2010

Tasty morsels of sonic goodness

There is a kind of intricate fact about the books you have on your shelf. Some are for your enjoyment, others act as unavoidable reference in the field you are working on, while others go beyond what is purely expected from a book and as good wine, they taste and feel better when some time has passed.

I was lucky enough to find an affordable preowned copy of "The Fat Man on Game Audio" two years ago in Amazon (yes, it was under $17 by that time!), and everytime I go back to some of the chapters and tales that George Sanger wrote for it, I feel like I have learnt something that maybe is useful or not, but for sure offers a great point of view from years of experience and gives some inspiration to lead on, specially when tough times arise.

One of the chapters is called Planning for Greatness: ok, this is supposed to be in your mind if you want to be good at something, or at least, competent. The point doesn't focus on being different, and forcing yourself to be different just to differentiate and mark A difference. It is more likely about HOW you do things and WHY, because: greatness can't be predicted and greatness most of the time does not come on your regular schedule. George makes a comparison with dating: "greatness is kind of like that girl you dated, the very hot one whom you could never figure out how much, if at all, she actually liked you". If talking about creative processes, you need to "create an environment to recognize her and nurture her good-will by taking care of her, giving her attention, wine, and the music she likes". In the second stage, to know what to do with greatness to turn it into yours, it is "a duty that can brag about for the rest of your life". The last point to consider, named by Mr. Sanger as the G-Prong, says:

"Be ready to cancel the whole damn party and cut your losses if Snooty Miss Greatness stands you up."

That also leads to bravery, and letting things be out of schedule, as said before. That courage also "paves the way for humor, for a strong team, for friendship, and for admiration" so "dedicate yourself to a project is an empty act if it's not done with bravery". And I would say that bravery is what makes the salient result that doesn't come from trying to be different, but to mark THE difference, and innovate. But that attitude can lead to be "like a kid with a beach towel for a cape who thinks he's Superman". Even though it doesn't matter at all just because:

"Trust me, Brother, I'm tellin' you; the towel thing drives her wild."

Monday, April 5, 2010

Clash of the entertainment

Now that we have the spring over us, it seems that a greek fanbase has grown motivated by both the film 'Clash of the Titans' and the game 'God of War III'. Having seen the first (which is a remake btw), and finished the 11 hour play of the second, I have realized that maybe greek mythology is still dismissed at some point, or maybe the written track or popular knowledge can be interpreted in several ways because each one tells a similar story in a different manner... or Kratos' story is the most original of the two.

About the technical part, I'm afraid that God of War gives a higher entertainment factor (even better visuals!) than the one provided by the movie. But about the emotional appealing: are games surpassing traditional linear-media productions? Which semigod works best, Kratos or Sam Worthington?

Sunday, March 7, 2010

Wear Sunscreen

Ok, maybe this in not a video to take it 100% seriously, but I believe that hearing motivational words is positive sometimes :)

I actually think that sun screen is key for a proper life retrieval. So, filter the sun rays, and take the best from them... don't get burned!

Saturday, December 26, 2009

Audio and Health

Well, since this is really important for a life retrieval, I think it deserves a blog post. I am reading an article from the great blog Designing Sound. This excerpt is from the mouth of Ben Burtt, who probably is the most famous and renowned sound designer in the industry.

At the end of Ben Burt’s recent acceptance speech for the Charles S. Swartz Award, he warmly and sincerely says:

“And lastly I want to urge everybody that…we know in post production you’re in a very tough business that takes a lot of sacrifice of your time and energy. I’ve never fully solved this problem, but I’ve learned over the years that you have to make time for your loved ones. That you have to try to get home for dinner and be with those kids across the table at night if you can. And I know the business doesn’t favor that kind of activity…it doesn’t put an emphasis on that. But you find in many many years that those loves ones that you leave at home, that are waiting for you, matter a lot more ultimately than the films and shows that you do. So try to find a balance there. Try to find projects that allow you to do that, or make decisions that allow that to happen. Thank you for this award its really an honor.”

So, don't forget it!

Avatar

I finally went to the cinema and saw Avatar in 3D. In brief, it gave me more or less what I expected, a good and entertaining movie, although I don't believe it will transcend to the annals of the sci-fi history because of several reasons.



First issue is the screening technology, even though this is actually the first time I experience it with Dolby 3D digital cinema. It makes sense offering another dimension to the audiences (and keep the interest and reasons to fill cinema chairs), but I am afraid that this is not the best movie to introduce this new technology because it has several fully colored sequences which are really fast paced with many camera turns and changes that can result in effects like getting sick and overwhelmed at the same time.

About the sound design, I can't say a lot because I was most of the time distracted by the visuals but some animal growls sounded to me very, very similar to early Jurassic Park dinosaurs :)

The story: bad guys against good guys. I do not want to offer spoilers, but I think the epic background fits well with the fiction and the emotive moments. Again, the visuals take the major responsibility on supporting the story, so the art work speaks for itself in some way.

Let's see what happens with the videogame.

Thursday, October 22, 2009

Uncharted sounds

Probably one of the entertainment masterpieces of this year, has arrived. The guys from Naughty Dog once again proved that with proper resources and support, they are able to push boundaries beyond what can be achieved in the difficult labour of making games.

I just want to give some words and impressions from my recent plays of the game:
  • For me, the art direction is great. Enviroments, lighting, animations, models and textures all are top of the class.
  • The script. Although I'm not very into 'Indiana Jones' type of stories lately, I think this one supports the gameplay correctly.
  • Music. The soundtrack is also well produced, although I think the implementation isn't very brilliant specially with the music stinger that plays over and over again when Drake gets killed (it also happened in Uncharted 1). Nothing to say about the sound effects, simply superb.
  • Gameplay is nice, all goes smoothly.
  • Level design is well-balanced but I miss some polishment at some parts, specially in the 'snow' levels.
  • Cinematics are awesome, the voice acting and motion capture used for the characters really make the difference.