Ai Compose

Inicio

Piano Roll

Documentación

Saber más

Pricing Plans

Ai Compose

¿Qué es Ai Compose?

Nuestro sitio web permite aprender de forma autodidacta a aquellos usuarios que estan interesados en la música y les interesa crear algo nuevo y fresco por su cuenta. Por el momento nuestro sitio aborda temás basicos y fundamentales de composición como aprender que es una escala, un acordes y una tonalidad, ademas de mostrar como se compone y como se puede utilizar para crear musica nueva.

_

_

Framework Utilizado

REFLEX es un framework fullstack de Python relativamente nuevo, su versión oficial fue lanzada en 2023. Utilizando Reflexion permite crear interfaces web sin escribir HTML y refleja todo en componentes de React usando NEXT JS. REFLEX permite inyectar CSS, para personalizar perzonalizar los compoentes y darles un poco más de estética

Ejemplo

black_keys_style = {
    "bg": "#303030",
    "border_radius": "0.5em",
    "margin_x": "0.4em",
    "margin_bottom": "0.4em",
}

white_keys_style = {
    "bg": "#f4eaff",
    "border_radius": "0.5em",
    "margin_x": "0.2em",
    "color": "#202020",
    "height": "4.2rem"
}
import reflex as rx
from rxconfig import black_keys_style, white_keys_style


def key(note: str, is_black: bool = False, on_click=None) -> rx.Component:
    if is_black:
        style = black_keys_style

    else:
        style = white_keys_style

    return (
        rx.tablet_and_desktop(
            rx.button(note.upper(), style=style, on_click=on_click, size="3"),
        ),
        rx.mobile_only(
            rx.button(note.upper(), style=style, on_click=on_click, size="2")
        ),
    )

Técnicas de programación utilizadas

Reflexion

class Routes:
    def __init__(self, **routes):
        for key, value in routes.items():
            setattr(self, key, value)

Inyección de dependencias

routes = Routes(
    tones="/tones/",
    scales="/scales/",
    chords="/chords/",
    notes="/notes/",
    login="/login/",
    register="/register/",
    account="/account/",
    chat="/chat/{}",
    new_chat="/chat/create/",
    payments="/payments/",
    tokens="/buy_tokens/",
    spent_tokens="/ask/",
)

Reflexion

class Routes:
    def __init__(self, **routes):
        for key, value in routes.items():
            setattr(self, key, value)

Inyección de dependencias

routes = Routes(
    tones="/tones/",
    scales="/scales/",
    chords="/chords/",
    notes="/notes/",
    login="/login/",
    register="/register/",
    account="/account/",
    chat="/chat/{}",
    new_chat="/chat/create/",
    payments="/payments/",
    tokens="/buy_tokens/",
    spent_tokens="/ask/",
)

© 2024 AiCompose.

Todos los derechos reservados.