Revision a92d0a9b-e29c-496b-9a5a-2882f6664ff7 - Code Golf Stack Exchange
# Python, 222 bytes
(202 characters)
<!-- language: lang-python -->
import re
def f(s):y=[w[0]in'ˈˌ'and w or' '+w for w in re.split('([ˈˌ]?[bdfhjklmnprstvwzðŋɡʃʒθ]?[aeiouæɑɔəɛɜɪʊʌː]*)',s)[1::2]];return[[x[i-1:i]or' 'for x in y]for i in range(max(len(w)for w in y),0,-1)]
Returns an array of unicode characters with an array for each row (containing single spaces for each space required)
Not sure where one can get decent output online yet (and I haven't even got the tools to test it properly here either).
I have loaded a version to [**ideone**][1] that just uses English consonants and vowels with `,` and `.` as stress marks, where I have fudged the test cases to conform.
[1]: http://ideone.com/O2rr7v