Show HN: Harmopark – Web tool to visually build chords and progressions
harmopark.app
harmopark.app
I'm Pedro, the creator of Harmopark (https://www.harmopark.app). A year ago I found out about this interesting hexagonal lattice named 'Harmonic table' and decided to build a web music tool whose UI includes this note layout with the purpose of exploring harmonic concepts and helping with composing.
Features:
- Build chords in a visual way and get their possible symbols immediately.
- Harmonize scales and their modes. Display a chord chart based on any scale.
- Create chord progressions and visualize them while they play.
- Easily switch progressions to any parallel scale/mode you want.
- Get a mirror version of a chord progression using negative harmony concepts.
- Use modal interchange borrowing chords from the parallel and negative progressions to create more interesting harmonic sequences.
- Export progressions as MIDI files to work with them in a DAW.
- Share progressions via link or embed code.
- Just use the harmonic table as an instrument to play around on. Sound can be adjusted choosing among several synth presets and effects.
I would love to hear your thoughts.
Btw on a iPhone se the hexagons are a little hard to hit. I’m not sure what you can do about it.. I’m gonna open it up in a tablet I guess.
EDIT: just realized that in some scales you would gain nothing
- personalmente, creo que usar dos colores (azul/rojo o verde/azul) seria más claro que usar solo rojo, aunque entiendo que tal vez quieres mantener el esquema de color actual. En todo caso, tal vez un pequeño gráfico en alguna parte lo haría más obvio (rectángulo horizontal de rojo claro a rojo oscuro, con texto indicando algo así como notas más - menos ¿armónicas? (dentro de la escala))
- estaría bien poner las configuraciones de los sintes más accesibles, quizás solo cambiar sonido, que es lo más divertido (aunque entiendo que el foco sea la "teoría"), en el menú de la derecha, y dejar iconos de ayuda al lado para acceder a ajustes más detallados o información como la que enlazas en "How To Use"
- sería genial tener algunas canciones de demo para ver de forma más clara lo que pasa en la tabla en "casos reales". incluso cargar desde midi? aunque probablemente no sea ninguna prioridad
seguiré experimentando, muy interesante! házselo llegar a Adam Neely y a Jaime Altozano! yo justo descubrí a Jacob Collier el otro día! mucha suerte!
- Quería diferenciar las notas que pertenecen a la escala seleccionada de las que no pertenecen (como sucede en un piano con las teclas blancas y negras), pero sin utilizar tanto contraste como para hacer pensar que las notas fuera de la escala no se pueden utilizar o algo por estilo. Por eso más o menos utilicé la misma paleta, variando el grado de opacidad. Simultáneamente, las notas se van haciendo un poco más oscuras según se vuelven más graves. Quizá haga alguna prueba con dos colores, a ver qué tal queda.
- Suena bien lo de tener un atajo para cambiar el preset de sintetizador, aunque quisiera tener el interfaz lo más limpio posible porque en pantallas de móvil no sobra el espacio... Si se me ocurre cómo integrarlo lo añadiré.
- Se pueden cargar progresiones con los enlaces que se obtienen al compartirlas, como éste: https://www.harmopark.app/?s=c3g5jd7i_gn0g8JBX9GB1n2g4dzX0aF... . Quizás debería enlazar varias desde algún sitio para que los usuarios recién llegados puedan trastear rápido.
Jaja, puede que escriba a Jaime, sí, por probar... ¡Gracias de nuevo!
For those that would like to know what's being written:
"- personally, I think using two colors (blue / red or green / blue) would be lighter than using only red, although I understand that maybe you want to keep the current color scheme. In any case, maybe a small graphic somewhere would make it more obvious (horizontal rectangle from light red to dark red, with text indicating something like more notes - less "harmonics" (within the scale))
- it would be nice to make the settings of the syntheses more accessible, maybe just change sound, which is the most fun (although I understand that the focus is the "theory"), in the menu on the right, and leave help icons next to access more detailed settings or information like the one you link in "How To Use"
- It would be great to have some demo songs to see more clearly what happens in the table in "real cases". even load from midi? although it's probably not a priority
I will continue experimenting, very interesting! give it to Adam Neely and Jaime Altozano! I just discovered Jacob Collier the other day! good luck!"
-------------
Thank you very much for the recognition and the suggestions!
- I wanted to differentiate the notes that belong to the selected scale from those that do not belong (as in a piano with the black and white keys), but without using so much contrast as to suggest that notes outside the scale can not be used or something for style. That's why I more or less used the same palette, varying the degree of opacity. Simultaneously, the notes become a little darker as they become more serious. Maybe I'll do some test with two colors, see how it looks.
- It sounds good to have a shortcut to change the synthesizer preset, although I would like to have the interface as clean as possible because on mobile screens there is not enough space ... If I can figure out how to integrate it, I will add it.
- You can load progressions with the links that are obtained when sharing them, like this one: https: //www.harmopark.app/? S = c3g5jd7i_gn0g8JBX9GB1n2g4dzX0aF .... Maybe you should link several from somewhere so that newcomers can play fast.
Haha, I may write to Jaime, yes, to try ... Thanks again!
I used Wikipedia quite a lot when researching on the harmonic table format, chord naming and symbols, scales and modes, Roman numeral analysis, and similar stuff. I found myself frequently visiting threads in https://www.reddit.com/r/musictheory/ and https://music.stackexchange.com/.
And of course there are great Youtube channels about music theory (I linked some of them in the Credits page of the website).
Most of the time I just search in Google and jump from blogs to forums to dedicated websites until I find what I'm loooking for.
https://shiverware.com/musixpro/harmonic/chords.html http://www.altkeyboards.com/home
A couple of comments: - Why select notes by right-clicking rather than left-clicking? - When building a chord, it shows the name on top and the scale degree below. But it's the opposite when I drag it to the chord progression zone, it confused me - Might be worth it to add a few tooltips or links for help (eg explaining what's a "parallel progression") - I don't understand why notes are more or less red - It'd be useful to show the scale degree of each note in the lattice (in addition to the note itself and its octave)
Awesome work. Some 'notes' (pun intended):
- demo mode, click it to load a set of chords to show what the end result would look / sound like
- real time midi output rather than the built in synth as an option
- allow 'chords' of only one note to be dragged as well as placeholders to build on later.
- ability to erase a single chord from a progression, rather than only all of them at once.
Super nice work, thank you for making and posting it.
- Progressions can be shared as a link, so a demo could be just a link like this: https://www.harmopark.app/?s=bVw_q_qn7g7JBH0GB1n1g3d7a_en9g7.... That's the famous Pachelbel's progression; it's embedded as an example in the 'How to use' page.
- I'd like to explore those MIDI possibilities, both input and output.
- It's possible to use a simple power chord dyad (root + fifth) as a roughly neutral placeholder.
- Individual chords can be removed by dragging and dropping into the Trash.
Unlike Harmopark's focus on composition and music theory features, my app is all about preforming music in real time.
Experience is somewhat clumsy on laptops without mouse. Maybe in 'select mode' the left click could also toggle selected nodes. On tablet the interface makes more sense.
I like how easy it is to enter a progression and generate a musical loop. Harmonic table is great choice for working with chords.
Arpeggios sound great. With a bit of reverb and delay there are some nifty soundscapes in there. The synths themselves could use some improvement.
Sound settings could perhaps be pulled out of modal into main page? I had fun fiddling with settings, I'd like them to be more accessible & exposed.
It would be nifty if 'explore harmony' chords could be dragged onto progression track. Maybe clicking a chord in that modal could make it a active selection and than it could be dragged from selection info.
Thanks for sharing this with us. It looks great already and I'll drop in occasionally to check for updates.
When you say laptops without mouse, are you talking about using a touchpad or a touchscreen? The "Play mode / Select mode" switch is only visible on touch-enabled devices and doesn't really affect mouse or touchpad clicks. Using a touchpad, the left button plays and the right button selects/deselects. I suppose what you mean is that I should modify the behaviour of the mouse/touchpad in the case the mode switch is visible. That seems reasonable.
I'm not an expert on sound synthesis and most of the included synth configurations are library defaults, or presets I found somewhere. I'd like them to have a bit more character, and it would also be nice to add some more. This is an area I could work on, I agree.
Someone else here has suggested the same thing about making the sound settings more visible. I think it's a good idea, I'll see what I can do!
I thought about adding that feature in the 'explore harmony' modal but I was concerned about having to choose a specific voicing for the chords. But I guess it shouldn't be a big deal: if the provided voicing is not the best to integrate in your progression, you can always modify it.
Great comments, thanks again. And good luck with your Hexpress app!
In Harmopark the touchscreen is detected, but multi-touch doesn't work. Therefore I had to use touchpad.
Auto-voicing is complicated and it's very culture-specific. One good implementation is this: http://www.sealab2021.tv/etcetera/choir/
That link you shared is amazing. I've just visited David Li's website and his work is so cool.
But I don't think I need a smart algorithm to harmonize a melody. In the case of my "diatonic chords chart", I already know what notes to put in the Harmonic table. My voicing concerns are simply about the octave to use and the position in the hex lattice. The voicing itself is constructed out of stacking thirds, roughly speaking.
By the way, I've already added this feature following your advice: the last pressed chord button will be selected in the hex lattice.
Although perhaps I'm not the target audience.