Jump to content
View in the app

A better way to browse. Learn more.

Opusmodus

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

JulioHerrlein

Members
  • Joined

  • Last visited

Everything posted by JulioHerrlein

  1. Here is what I need ! (setf mat '((h c4 q. d4 e e4 -q w c4 h d4 q e4 -q)(h c4 q. d4 e e4 -q w c4 h d4 q e4 -q)(h c4 q. d4 e e4 -q w c4 h d4 q e4 -q))) (do-section '(0 1 0) '(motive-subdivision x '(1/8)) mat)
  2. Janusz, is there some general function to apply selectively any function to a list ? It would be useful in conjunction to this. For example, selectively applying the motive-subdivision in the first and third measure of a list while mantaining the rest of the list original. A kind of general bypass to any kind of list. Thanks in advance,
  3. Already in my extensions folder ! Thanks a lot ! Very inspiring !
  4. Dear Jesper, Thanks a lot for your beautiful solution. It worked great ! Nice examples too ! Janusz, please put this in the core system in the next update if everybody agree ! Best, Julio
  5. Dear All, Here is a proto-function idea... If Janusz or someone are interested in transform it in a core function, I think it could be interesting... Sometimes I like to take a motive or chorale texture and use it to make a kind of accompaniment or texture ala Reich. I created my way to do it, but it could be perfected in a better function and integrated in the core system. Here is the idea: ;; Motive (setf mat '(h c4 q. d4 e e4 -q w c4 h d4 q e4 -q)) ;; small value (setf fig-value '(e)) The "proto-function". What I could not achieve was how to make it respect the rests in the motive, but it works for generating the texture, respecting the pitch and length boundaries of the motive. (flatten (make-omn :pitch (omn :pitch (omn-to-time-signature mat (get-time-signature (omn-to-measure (length-legato mat) (flatten (length-legato (omn :length mat))))))) :length (omn-to-time-signature (length-span (get-span mat) (gen-repeat 200 fig-value)) (get-time-signature (omn-to-measure (length-legato mat) (flatten (length-legato (omn :length mat)))))) )) RESULT (e c4 mf c4 c4 c4 e d4 mf d4 d4 e e4 mf e4 e4 e c4 mf c4 c4 c4 c4 c4 c4 c4 e d4 mf d4 d4 d4 e e4 mf e4 e4 e4) It could be perfected to result this: (e c4 mf c4 c4 c4 d4 d4 d4 e4 -q e c4 c4 c4 c4 c4 c4 e c4 c4 d4 mf d4 d4 d4 e4 e4 -q) Same texture with the fig-value set do 16th note (setf fig-value '(s)) Best wishes, Julio
  6. When I open from the navigator, the files open in assistant window, rather than in Ncode window. Thanks
  7. I noticed an issue also in windows. I can save the ncode file, like this: But when I try to open an Ncode session, the dialog box show no files for open, like this:
  8. Very interesting (closest-path (vector-to-pitch '(c3 c6) (gen-noise 32 :seed 42)))
  9. Voting for including André´s function in the core system of Opusmodus
  10. Dear Friends at Opusmodus team, With great joy, I´d like to share with you an important international prize I received as composer in 28th november. It´s the IBERMÚSICAS prize for Symphonic Band 2025. It was very competitive and I´m honored to represent Brazil in this contest. I´m posting this here because Opusmodus became since 2017 a very important tool in my compositional process, although I do not use it from beginning to end, i.e., there are many things I do manually. Nevertheless, it plays a crucial role in my workflow and I´d like to thanks the team for this. All the best and happy 2026 ! Here are the selected compositions: https://seleccionados2025.ibermusicas.org/ And the information of the selection: https://www.ibermusicas.org/index.php/um-juri-constituido-por-maestras-e-maestros-de-renome-levou-a-cabo-o-processo-de-qualificacao-e-selecao-das-obras-vencedoras-do-premio-ibermusicas-para-a-composicao-de-obra-para-banda-sinfonica-20/ Translation A jury composed of renowned conductors carried out the qualification and selection process for the winning works of the “Ibermúsicas Prize for the Composition of a Work for Symphonic Band” 2025. Encouraging musical creation, Ibermúsicas has launched a new edition of its competitions for the creation of academic works, this time specifically focused on the creation of new works for symphonic bands, to be premiered by top-tier ensembles from Colombia, Costa Rica, Cuba, Mexico, and Venezuela. In this edition, composers were invited to draw inspiration from the Ibero-American soundscape, as a diverse and colorful space, varied and contrasting, which, despite its differences, weaves threads, like the symphonic wind bands that traverse our countries and blend with their different cultures, to find very particular sonorities that make them unique in each country or region. With the aim of promoting mutual understanding between the peoples and the specific subsector of wind bands among our countries, composers were encouraged to explore this sonic universe through the repertoires, genres, and soundings of bands from different countries, schools, and their reference composers, among many other possibilities that unite the countries that are part of Ibero-American cooperation. The award includes, in addition to financial recognition for each creator, the premiere of the winning works performed by the Valle Departmental Symphonic Band of Colombia, one of the seven bands of the General Directorate of Bands of Costa Rica, the National Concert Band of Cuba, the Symphonic Band of the Faculty of Music of UNAM in Mexico, and the Caracas Marching Band of Venezuela. The jury, composed of Andrés Porras Alfaro from Costa Rica, David Leonardo Guarin Ortiz from Colombia, Marcia Quesada from Cuba, Luis Manuel Sánchez from Mexico, and Pedro Mauricio Gonzalez from Venezuela, worked intensively on selecting the winning works from among the 62 submitted to the competition under pseudonyms. With pride and joy, the Ibermúsicas Program invites you to discover the names of the winning male and female composers of this competition here. https://seleccionados2025.ibermusicas.org/
  11. @Stephane Boussuge , This is the way I was going also, sending midi notes to trigger Serato Sample, that is similar to Redux, I think. Here is my session
  12. Some Squarepusher fun opmo_squarepusher.mp3 (make-mix 'mixA '(:audio "E:/Opmo_win_work/opusmodus/Opusmodus/Media/Audio/cw_amen10_135.wav" :segments ( (:start 0.0 :len (bar-to-sec '(w) :bpm 135)) (:start 0.0 :len (bar-to-sec '(h) :bpm 135)) (:start 0.0 :len (bar-to-sec '(h) :bpm 135)) (:start 0.0 :len (bar-to-sec '(s) :bpm 135)) (:start 0.0 :len (bar-to-sec '(e.) :bpm 135)) (:start 0.0 :len (bar-to-sec '(e.) :bpm 135)) (:start 0.0 :len (bar-to-sec '(e.) :bpm 135)) ;(:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(e.) :bpm 135)) ;(:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(e.) :bpm 135)) ;(:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(e.) :bpm 135)) ;(:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(e.) :bpm 135)) ;(:start (bar-to-sec '(s) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) ;(:start 0.0 :len (bar-to-sec '(w) :bpm 135)) ;(:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(e.) :bpm 135)) ;(:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(e) :bpm 135)) ;(:start (bar-to-sec '(q) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) ;(:start (bar-to-sec '(q) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) ;(:start (bar-to-sec '(q) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) ;(:start (bar-to-sec '(q) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) ;(:start (bar-to-sec '(q) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) ;(:start (bar-to-sec '(qe) :bpm 135) :len (bar-to-sec '(e) :bpm 135)) ;(:start (bar-to-sec '(qe) :bpm 135) :len (bar-to-sec '(e) :bpm 135)) ;(:start (bar-to-sec '(qe) :bpm 135) :len (bar-to-sec '(e) :bpm 135)) ;(:start (bar-to-sec '(qe) :bpm 135) :len (bar-to-sec '(e) :bpm 135)) ;(:start (bar-to-sec '(0) :bpm 135) :len (bar-to-sec '(e.) :bpm 135)) ;(:start (bar-to-sec '(0) :bpm 135) :len (bar-to-sec '(e.) :bpm 135)) ;(:start (bar-to-sec '(0) :bpm 135) :len (bar-to-sec '(e.) :bpm 135)) ;(:start (bar-to-sec '(0) :bpm 135) :len (bar-to-sec '(e.) :bpm 135)) (:start (bar-to-sec '(0) :bpm 135) :len (bar-to-sec '(w) :bpm 135)) (:start (bar-to-sec '(0) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(0) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(0) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(0) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(s) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(s) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(s) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(s) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(q) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(q) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(q) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(q) :bpm 135) :len (bar-to-sec '(q) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e.) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) ; (:start 1.3 :len 2.0) ))) (play-mix 'mixA) Dear Janusz, Can we make a play-mix many different tracks playing at the same time, like a ps function with audios each one processing one different sample ? How to save the play-mix to a file on disk ? Best
  13. The function (make-mix-segments :start '(0.0 1.0 2.0) :len '(0.5 0.5 1.0) :fade-in 0.2 :fade-out '(0.2 0.2 0.5) :amp '(1.0 0.8 0.9))Appear in black and won't work in windows Dear Jon, We can think something like a "audio-dictum" in the way you described. Best ! Julio
  14. Can be done with (bar-to-sec '(w) :bpm 135) (make-mix 'mixA '(:audio "E:/Opmo_win_work/opusmodus/Opusmodus/Media/Audio/cw_amen10_135.wav" :segments ((:start 0.0 :len 1.778) (:start 0.0 :len 1.778) (:start 0.0 :len 1.778) ; (:start 1.3 :len 2.0) ))) (play-mix 'mixA)Thanks a lot, Jon !! cw_amen10_135.wav cw_amen10_135.wav - name it that way (make-mix 'mixA '(:audio "E:/Opmo_win_work/opusmodus/Opusmodus/Media/Audio/cw_amen10_135.wav" :segments ( (:start 0.0 :len (bar-to-sec '(w) :bpm 135)) (:start 0.0 :len (bar-to-sec '(h) :bpm 135)) (:start 0.0 :len (bar-to-sec '(h) :bpm 135)) (:start 0.0 :len (bar-to-sec '(s) :bpm 135)) (:start 0.0 :len (bar-to-sec '(e.) :bpm 135)) (:start 0.0 :len (bar-to-sec '(e.) :bpm 135)) (:start 0.0 :len (bar-to-sec '(e.) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(e.) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(e.) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(e.) :bpm 135)) (:start (bar-to-sec '(e) :bpm 135) :len (bar-to-sec '(e.) :bpm 135)) (:start (bar-to-sec '(s) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(s) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(s) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) (:start (bar-to-sec '(s) :bpm 135) :len (bar-to-sec '(s) :bpm 135)) ; (:start 1.3 :len 2.0) ))) (bar-to-sec '(s) :bpm 135) (play-mix 'mixA)
  15. FIND IT (make-mix 'mixA '(:audio "E:/Opmo_win_work/opusmodus/Opusmodus/Media/Audio/cw_amen10_135.wav" :segments ((:start 0.3 :len 2.0) (:start 1.3 :len 2.0)))) (play-mix 'mixA)A problem in windows machine examples is that you have to reverse all backslash symbols from this "\" to "/' . In windows It only works with right angled slashes, like this //// A good idea would be a sample to BPM, BPM to length, ms to bpm, etc calculator to slice the audio / beats according to BPM, musical time, and quantize in length. For example, in 60 BPM, each 1/16 length is equal to 240 bpm or 250 ms. And a function to random beats musically. Best
  16. AMEN LOOPS !! https://rhythm-lab.com/amen_breaks/?srsltid=AfmBOopvuBOnbgi-hw2N7lwrlGbs3w9xekV9m4atKP2m9bl_P4F4iqAi ORIGINAL https://samplefocus.com/samples/amen-break-original-g
  17. Dear Friends, With the audio tools in windows can we make some breakbeats, like chopping audio files, like beat slicing and starting in different parts of the audio file, like the video below (serato sample plugin), and also sync accurately with midi parts in Opusmodus ? All the best ! Julio SOME HISTORY Here are some breakbeats (amen sample) If possible, would be great to includ a sample of the amen beat inside the documentation with an example of breakbeat. This function can also serve to launch samples of any nature for electroacoustic or mixed music.
  18. Works perfectly here (Windows 11)
  19. Suggestion for import musicxml behavior: I think that a practical thing would be having the omn file from the MusicXML To Score to be automatically saved in the same folder where the corresponding MusicXML file is located. I´m using a folder for each composition or draft and in this folder I locate everything related to that composition, like the Musescore Files, the PDF Files and research material, the midi, the OPMO files, etc. Would be handy to have this option. Can it be programed in some user preferences LISP config file ? Thanks a lot !! Julio
  20. I don´t know how to fix that. I already have the license for version 4.0 and I strongly recommend the upgrade since it´s very useful to work with musicxml drafts.
  21. Yes, I had this same issue here. I was trying to use the version 3 in my notebook after installing the version 4. Then I decided to use version 4 only in my main desktop computer (since I could not have the version 4 in two different computers).
  22. Yes, it was a kind of system "enhancement" software called Winhance I installed... I dont recommend;;; It messes with the system. Solved now. Best, Julio

Copyright © 2014-2026 Opusmodus™ Ltd. All rights reserved.
Product features, specifications, system requirements and availability are subject to change without notice.
Opusmodus, the Opusmodus logo, and other Opusmodus trademarks are either registered trademarks or trademarks of Opusmodus Ltd.
All other trademarks contained herein are the property of their respective owners.

Powered by Invision Community

Important Information

Terms of Use Privacy Policy

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.