Author: Greg

  • Kitchen on the March!

    Shocking as it may seem, we decided to leave electricity to the professionals.

    Electricity requires professionals

    Hanging the cabinets with precision and care, in hopes that Alison’s cookware will soon be in there. (Ugh, I hate myself…)

    Many cabinets to be hung

    (more…)

  • Light as the Ether

    Last night I had a dream. I dreamt I was as light as the ether, a floatin’ spirit visiting things to come. The shades and shadows of the people in my life wrassled their way into my slumber.

    And then I dreamed on, into the future, to a Christmas morn’ in the far away land where Nathan Junior was setting up camp with a kindly couple who preferred to remain unknown.

    And still I dreamed on, further into the future than I’d ever dreamed before, watching Nathan Junior’s progress from afar, taking pride in his accomplishments, as if he were our own, wonderin’ if he ever thought of us, and hopin’ that maybe we’d broadened his horizons a little, even if he couldn’t remember just how they got broadened.

    If not New Hampshire, then a land not too far away, where all parents are strong and wise and capable, and all children are happy and beloved. I don’t know. Maybe it was Utah.

  • Saying Goodbye to Ye Olde Kitchen


    Part 1: In which Alison wakes to find the kitchen is completely empty.

    Alison wakes to find the kitchen is empty
    (more…)

  • Good to the Last Slurp

    Super automatic coffee is here! Looks good, smells good, tastes great…

    First Cup o' Goodness

  • How Does Isomer Work?

    How Does Isomer Work?

    Isomer is a suite of software tools that produce abstracted representations of the characteristic trends expressed in existing musical models. The system then uses these observed trends to create query and transformation algorithms, with the ultimate goal of generating of new/hybrid materials.

    Isomer’s ten software modules are separated into two categories: representation and processing. Summary descriptions of each module are presented below.

    Model Representation

    Audio
    Isomer-Audio analyzes audio files and populates a MySQL database with raw audio feature data at various time resolutions. The feature data remains uninterpreted but is organized into streams depending on the type of processing employed (i.e. blind source separation, spectral analysis).
    Symbolic
    Isomer-Symbolic ingests symbolic (e.g. MIDI) files and populates a MySQL database with raw event data. The event data is organized into streams (separated by track) containing collections of raw NodeEvents.
    Model (A.R.E.)
    Isomer-Model normalizes raw analy­sis data (sym­bolic and/or audio) and populates a single (or multiple) MySQL database(s) with observed and interpreted feature representations. Multiple model abstractions of the same input may exist simultaneously in discrete databases, a key feature of Isomer that encourages the emergence of a desired representation schema for the musical model.
    Query
    Isomer-Query allows users to mine Isomer-generated model data for specific values and relevant trends. High dimensional queries (specified using time and stream/sub-stream ranges) can be made to model databases. Query results constitute the subset of model features available for subsequent processing.
    Segment
    Isomer-Segment detects perceptual changes over any subset of vectors in a given model. Once this new gestalt-map of the model is defined, Isomer-Segment searches for points of alignment between the various sub-streams (melody, texture, rhythm, harmony) and segments the model accordingly.

    Model Processing

    Similarity
    To maximize usability of the representations, the system must be capable of flexibly comparing their traits to determine potential influence and overall relatedness. Isomer-Similarity performs this task by matching range limits or geometric contours of model data segments for any combination of vectors.
    Classify
    Isomer-Classify applies machine learning classifiers to expose relationships between groups of specific model features and trends found in the larger corpus or externally sourced data (such as human-generated meta-descriptions).
    Transform
    Isomer-Transform combines machine-learned feature trends with an extensive library of transform algorithms. Transformations can be applied across parameters and across any number of models, giving Isomer the ability to generate original musical material.
    Render
    Isomer-Render is responsible for orchestrating Isomer-Transform output and rendering performances. Today, final results are auditioned by humans. In future updates, Isomer-Render will employ a series of fitness functions to allow users to establish targeted output.
    Keyword
    Isomer-Keyword is a standalone module designed to collect, catalog and datamine human-generated descriptors. Its purpose is to provide a framework for researching the associative connections between the keywords themselves. From there, the content representation produced by Isomer can be analyzed to discover points of contact; where musical features closely associate with keyword descriptors.

     

    This modular architecture makes Isomer ideal for a wide range of applications. Modules can be connected in myriad ways to create a wide range of workflows options.

    Model-Based Music Generation

    Isomer Music Generation

    Trained Description Tagging

    Isomer Tagging Process Flow

  • How Can I Use Isomer?

    How Can I Use Isomer?

    Isomer’s flexible architecture makes it ideal for a wide range of research, creative, and industry applications. The current application roadmap focuses on musical applications, however, there’s nothing to prevent Isomer’s representation and processing algorithms from being applied to other multi-vector, time series data.

    While not the current focus, exploration into non-musical applications is also under consideration.

    Industry Applications

    Audio Tagging
    Isomer can correlate audio tracks from a music library with detailed, human-generated descriptions of mood, texture, and commercial usage. From there, Isomer can apply this learned taxonomy to new audio tracks (as metadata) for use in text-based search engines. This application may also be used to clean and unify existing metadata across multiple libraries.
    SFX Classifier
    Isomer can classify one-shot audio files from a sound effect library based on pitch content (melodic or harmonic), timbral trends, rhythmic profile, and/or length.
    Symbolic Similarity
    Isomer is capable of comparing symbolic (MIDI) files for similarity in terms of melodic or rhythmic contour, motivic or harmonic content, and more. Because Isomer’s representations are perceptual in nature, close (but not exact) copies can be detected using a user-defined threshold.
    Audio Search
    Isomer can directly compare audio files for similarity in terms of pitch (melodic or harmonic), timbral, and/or rhythmic trends.

    Creative Applications

    Music Composition
    Isomer’s ability to convert existing music into highly precise or abstract perceptual models makes it ideal for developing a library of musical models. Once analyzed, these models can be used in any number of ways to influence novel musical output. Over time, and in combination with machine learning techniques, the system may be capable of developing unique compositional styles.
    Sonification
    By deconstructing an audio signal into its component parts and then recombining and orchestrating these parts, Isomer can generate output (either symbolic or audio) to creatively imitate the original source signal.
    Sample Replacement
    A single seed sample can generate a list of similar options from a user-defined library based on fundamental pitch content (melodic), harmonic trends, timbral trends, rhythmic profile, and/or length.
    Automated Orchestration
    Using either symbolic or audio models tagged with human-generated descriptions, Isomer can orchestrate musical ideas for either score or audio rendering.

     

    Can I Use Isomer In My Own Projects?

    Unfortunately, Isomer isn’t available for public use. At least not yet.

    While the software has proven to be extremely robust (development is test-driven with long-run reliability and portability as primary goals), the modules are currently managed via CLI. In other words, by modern standards, it’s incredibly cumbersome to use.

    This is by design, however. Top priority is to keep the system maximally flexible while work is completed on all modules and I discover the strengths and weaknesses of the system. Once testing is completed, I’ll look at releasing feature-limited versions of Isomer for use in various environments and applications.

    Of course, I’m always open to new ideas, so if you have a something in mind, feel free to contact me with details.