Jump to content

Yoshimi (synthesizer): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Abrolag (talk | contribs)
m version update
Abrolag (talk | contribs)
Added a siginficant person to the developer list
 
(39 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{Short description|Software synthesizer}}
{{Short description|Software synthesizer for Linux}}
{{Infobox software
{{Infobox software
| name = Yoshimi
| name = Yoshimi
| logo =
| logo =
| screenshot = Captura de tela de 2021-11-29 06-32-07.png
| screenshot = Yoshimi 2.1.1.1 screenshot.png
| caption = The default window of Yoshimi 2.1.1.1, running on [[Debian]] 11 [[Xfce]]
| caption = The default window of Yoshimi 2.1.1.1, running on [[Debian]] 11 [[Xfce]]
| developer = Will J. Godfrey, Jeremy Jongpier, Alan Calvert, Mark McCurry, Harald Hvaal, Nasca Octavian Paul
| developer = Will J. Godfrey, Hermann Voßeler, Kristian Amlie, Jeremy Jongpier, Alan Calvert, Mark McCurry, Harald Hvaal, Nasca Octavian Paul
| released = {{Start date|2009|10|08}}
<!-- just one release date | released = {{Date|2010|9|01}} -->
| released = {{Start date|2009|08|06}}
| latest release version = 2.2.0
| latest release date = {{Start date and age|2022|05|16}}
| latest release version = 2.3.3-1
| latest release date = {{Start date and age|2024|09|25}}
| programming language = C++
| programming language = C++
| operating system = [[Linux]]
| operating system = [[Linux]]
| size = 3.4Mb
| size = 8.6Mb
| language = English
| language = English
| genre = [[Synthesizer]]
| genre = [[Synthesizer]]
Line 18: Line 19:
}}
}}


'''Yoshimi''' is an [[free and open-source|open-source]] [[software synthesizer]] for [[Linux]].<ref>https://yoshimi.github.io/</ref> It contains three synthesis engines, using [[Additive synthesis|additive]], [[Subtractive synthesis|subtractive]] and [[Wavetable synthesis|wavetable]] synthesis (AddSynth, SubSynth, and PADSynth, respectively). Any single [[Synthesizer patch|patch]] can use one or all. A kit mode allows a patch to have up to 16 of engine sets to support multi-layered sounds/drum kits. A complete setup or instance can contain anywhere from one to sixty-four patches.
'''Yoshimi''' is an [[free and open-source|open-source]] [[software synthesizer]] for [[Linux]].<ref>{{cite web|url=https://yoshimi.github.io/|access-date=2023-08-29|title=Yoshimi, Software synthesizer for Linux}}</ref><ref>{{cite web |url=http://linuxsynths.com/YoshimiBanksDemos/yoshimi.html |title=Yoshimi |accessdate=2023-09-14 }}</ref><ref>{{cite web |title=Yoshimi – MIDI software synthesizer |url=https://www.linuxlinks.com/yoshimi-midi-software-synthesizer/ |website=LinuxLinks |access-date=14 September 2023}}</ref> It contains three synthesis engines, using [[Additive synthesis|additive]], [[Subtractive synthesis|subtractive]] and [[Wavetable synthesis|wavetable]] synthesis (AddSynth, SubSynth, and PADSynth, respectively). Any single [[Synthesizer patch|patch]] can use one or all. A kit mode allows a patch to have up to 16 of engine sets to support multi-layered sounds/drum kits. A complete setup or instance can contain anywhere from one to sixty-four patches.


All signal generation is done by synthesis, without importing external samples. Yoshimi also has extensive FX capabilities, which can be applied at all levels, ranging from one synth engine to an entire setup. It is also [[Microtonal music|microtonal]], and allows for custom scales to be defined.
All signal generation is done by synthesis, without importing external samples. Yoshimi also has extensive FX capabilities, which can be applied at all levels, ranging from one synth engine to an entire setup. It is also [[Microtonal music|microtonal]], and allows for custom scales to be defined.


It was originally based on the 2.4.0 version of [[ZynAddSubFX]].<ref>{{Cite web|url=https://yoshimi.github.io/history.html|title = Yoshimi - History}}</ref> While full compatibility with ZynAddSubFX voice patches has been maintained, control and the user interface have deliberately diverged considerably.
It was originally based on the 2.4.0 version of [[ZynAddSubFX]].<ref>{{Cite web|url=https://yoshimi.github.io/history.html|title = Yoshimi - History}}</ref><ref>{{Cite web|url=https://lists.linuxaudio.org/hyperkitty/list/linux-audio-user@lists.linuxaudio.org/message/RJIOZVRDN5YCMXWEESZGVHBWFA7TLX3Q/|title = Linux Audio Users Mailing List Archive: August 2009 thread where Alan Calvert describes his initial patches to ZynAddSubFX and mentions the name 'Yoshimi'}}</ref> While full compatibility with ZynAddSubFX voice patches (prior to Zyn 3.0) has been maintained, control and the user interface have deliberately diverged considerably.


==Sound generation==
==Sound generation==
Line 33: Line 34:


==Command Line==
==Command Line==
As of version 1.3.6, it has been possible to configure numerous features when launched from a terminal window, for example, system settings and bank lists, among others. Since version 1.5.9, it has been possible to edit the instrument patches themselves. With version 1.5.10, there is almost complete access.{{Clarify|date=March 2022}}
As of version 1.3.6, it has been possible to configure numerous features when launched from a terminal window, for example, system settings and bank lists, among others. Since version 1.5.9, it has been possible to edit the instrument patches themselves. With version 1.5.10, there was almost complete access. Since version 2.2.0 every graphical control has a direct command line equivalent. Controls set laid out in context levels than closely match the graphic windows with appropriate help lists.


==Audio Out==
==Audio Out==
For audio output, Yoshimi supports both [[Advanced Linux Sound Architecture|ALSA]] and [[JACK Audio Connection Kit|JACK]] back-ends. Similarly to MIDI, users can select one or the other as well as setting which is the default. When ALSA is selected, it is possible for the software to look for a specific sound card.<ref>{{Cite web |url=https://yoshimi.github.io/docs/user-guide/config/config.html |title=Yoshimi User Manual - Settings}}</ref>
When using ALSA for Audio, one stereo pair is available, but when using JACK, one can have one stereo pair plus one pair per active patch, up to 64. As with MIDI, Yoshimi can be instructed to choose between JACK and ALSA. Also, when running with ALSA it is possible for it to look for a specific sound card.
When using ALSA a stereo out pair is available. When using JACK, a stereo out is available plus one pair per active patch, up to 64.


==Functionality==
==Functionality==
Yoshimi can run as an [[LV2|LV2 plugin]] and is frequently tested on the most common hosts. In stand-alone mode it is also possible to run multiple instances, each with their independent sources and destinations, but sharing essential resources.
{{More citations needed section|date=March 2022}}
Yoshimi can run as an LV2 plugin and is frequently tested on the most common hosts. In stand-alone mode it is also possible to run multiple instances, each with their independent sources and destinations, but sharing essential resources.


Yoshimi also supports vector control via a MIDI two axis joystick, allowing up to four parts to be sounded together with varying mixes, panning etc. all determined in real-time by the joystick position. This can be configured over MIDI, by the command line or (since version 1.4.0) via the graphical interface.
Yoshimi also supports vector control via a MIDI two axis joystick, allowing up to four parts to be sounded together with varying mixes, panning etc. all determined in real-time by the joystick position. This can be configured over MIDI, by the command line or (since version 1.4.0) via the graphical interface.


A recent development is the ability to swap active channels in order to get an instant sound change while retaining the fading notes of the previous sound. This has been developed further in the latest release{{When|date=March 2022}} as 'Solo' accessed from the mixer panel.
A useful development, especially for live performance contexts, was the ability to swap active channels in order to get an instant sound change while retaining the fading notes of the previous sound. This was developed further in version 1.5.1 as 'Solo' accessed from the mixer panel.


A major development was the implementation of MIDI-learn whereby you can 'teach' Yoshimi to link specific actions to any valid continuous controller. As of version 1.5.1, this includes learning [[aftertouch]] and [[NRPN|NRPNs]].
A major development was the implementation of MIDI-learn whereby you can 'teach' Yoshimi to link specific actions to any valid continuous controller. As of version 1.5.1, this includes learning [[aftertouch]] and [[NRPN]]s.


There is a Yoshimi-only file format (.xiy) that is a super-set of the standard type (.xiz). Users can save to either or both formats. The new format includes all the standard settings, but also all elements of 'Controllers' as these have been found to make a dramatic difference to the final sound. Their settings can be quite critical.
Individual instruments can be saved to- and loaded from file. There is a Yoshimi-only file format (.xiy) which is a super-set of the standard [[ZynAddSubFX]] type (.xiz). Users can save to either or both formats. The new .xiy format includes all the standard settings, but also all elements of 'Controllers' as these have been found to make a dramatic difference to the final sound. Their settings can be quite critical.

The whole state of a Yoshimi session can be saved to file for future recall. In this case all of the settings are saved, including instruments, effects, midi-learn, etc.


Since version 2.0, all windows can be resized independently and their previous sizes and positions are stored. LFOs in the synth engines can now be in sync with the MIDI timecode.<ref>{{Cite web|url=https://github.com/Yoshimi/yoshimi/blob/master/Changelog|title = Yoshimi/Yoshimi|website = [[GitHub]]|date = 27 October 2021}}</ref> Version 2.1.0 expands on this with MIDI sync added to all effects where it is relevant, such as Echo delay time. Version 2.1.2 further refines the code, gives better relability for older MIDI- learn files and adds more details to the user guide.
Since version 2.0, all windows can be resized independently and their previous sizes and positions are stored. LFOs in the synth engines can now be in sync with the MIDI timecode.<ref>{{Cite web|url=https://github.com/Yoshimi/yoshimi/blob/master/Changelog|title = Yoshimi/Yoshimi|website = [[GitHub]]|date = 27 October 2021}}</ref> Version 2.1.0 expands on this with MIDI sync added to all effects where it is relevant, such as Echo delay time. Version 2.1.2 further refines the code, gives better relability for older MIDI- learn files and adds more details to the user guide.


Version 2.2.0 has a major revision of the PadSynth engine giving more control and far better responsiveness.
Version 2.2.0 has a major revision of the PadSynth engine giving more control and far better responsiveness.

With version 2.3.0 there is extensive user modifiable GUI theming capability. Also, all sliders and rotary controls indicate whether they have been moved from their default position. Some significant settings have been changed to high resolution equivalents, while still maintaining backward compatibility.

Version 2.3.1 has some corrections to the microtonal section, and minor additions generally.

In version 2.3.2 there is the (user requested) ability to have separate Left and Right delay times in the Echo effect. There is also considerable code refactoring that improves efficiency without making any unintended changes to sound generation.


==Information==
==Information==
As well as a dedicated Yoshimi directory in 'doc' with much background information and The Short Yoshimi Guide as ODF,<ref>http://sourceforge.net/projects/yoshimi/files/Doc/The%20Short%20Yoshimi%20Guide.odt</ref> there is a Yoshimi User Guide directly accessible from the 'Yoshimi' drop-down menu. This is a lightweight HTML document but retains a link to the Advanced Reference Manual PDF. The latter is extremely comprehensive and currently runs to approximately 290 pages.<ref>https://github.com/Yoshimi/yoshimi-doc/raw/master/pdf/yoshimi-advanced-reference-manual.pdf {{Bare URL PDF|date=May 2022}}</ref>
As well as a dedicated Yoshimi directory in 'doc' with much background information and The Short Yoshimi Guide as ODF,<ref>{{cite web|url=https://sourceforge.net/projects/yoshimi/files/Doc/The%20Short%20Yoshimi%20Guide.odt/download|title=The Short Yoshimi Guide|access-date=2023-08-29}}</ref> there is a Yoshimi User Guide directly accessible from the 'Yoshimi' drop-down menu. This is a lightweight HTML document but retains a link to the Advanced Reference Manual PDF. The latter is extremely comprehensive and currently runs to approximately 290 pages.<ref>{{cite web|url=https://github.com/Yoshimi/yoshimi-doc/raw/master/pdf/yoshimi-advanced-reference-manual.pdf|title=Yoshimi Advanced Reference Manual|access-date=2023-08-29}}</ref>


==Support==
==Support==
Line 69: Line 78:
<references/>
<references/>


==External links==
== External links ==
*[http://yoshimi.sourceforge.net Yoshimi home page]
* [http://yoshimi.github.io Homepage]


[[Category:Free audio software]]
[[Category:Free audio software]]

Latest revision as of 18:56, 23 October 2024

Yoshimi
Developer(s)Will J. Godfrey, Hermann Voßeler, Kristian Amlie, Jeremy Jongpier, Alan Calvert, Mark McCurry, Harald Hvaal, Nasca Octavian Paul
Initial releaseAugust 6, 2009 (2009-08-06)
Stable release
2.3.3-1 / September 25, 2024; 3 months ago (2024-09-25)
Repository
Written inC++
Operating systemLinux
Size8.6Mb
Available inEnglish
TypeSynthesizer
LicenseGPL-2.0-or-later[1]
Websiteyoshimi.sourceforge.net

Yoshimi is an open-source software synthesizer for Linux.[2][3][4] It contains three synthesis engines, using additive, subtractive and wavetable synthesis (AddSynth, SubSynth, and PADSynth, respectively). Any single patch can use one or all. A kit mode allows a patch to have up to 16 of engine sets to support multi-layered sounds/drum kits. A complete setup or instance can contain anywhere from one to sixty-four patches.

All signal generation is done by synthesis, without importing external samples. Yoshimi also has extensive FX capabilities, which can be applied at all levels, ranging from one synth engine to an entire setup. It is also microtonal, and allows for custom scales to be defined.

It was originally based on the 2.4.0 version of ZynAddSubFX.[5][6] While full compatibility with ZynAddSubFX voice patches (prior to Zyn 3.0) has been maintained, control and the user interface have deliberately diverged considerably.

Sound generation

[edit]

Yoshimi combines several different methods of audio synthesis in order to create sounds: additive synthesis by the ADDsynth engine, subtractive synthesis by the SUBsynth engine, and an algorithm original to Nasca Octavian Paul used to generate wavetables in the PADsynth engine.[7] PADsynth wavetables can also be exported for use in sample players.

MIDI control

[edit]

For both JACK and ALSA there is a single input port (although several sources can attach to it at the same time). At startup, Yoshimi can be instructed to choose between the two, and automatically look for a specific source and connect to it. If for some reason JACK or ALSA is not available it will try to connect to the other source. If neither can be found it will still run, giving one the chance to investigate the problem.

There are three classes of multipatch configurations available, 16, 32, and 64 patches. When the 32-patch configuration is enabled one can choose pairs (between the two sets of 16) for realtime control changes (called vector control), and when 64-patch configuration is enabled one can do this in two dimensions, between four sets of patches.

Command Line

[edit]

As of version 1.3.6, it has been possible to configure numerous features when launched from a terminal window, for example, system settings and bank lists, among others. Since version 1.5.9, it has been possible to edit the instrument patches themselves. With version 1.5.10, there was almost complete access. Since version 2.2.0 every graphical control has a direct command line equivalent. Controls set laid out in context levels than closely match the graphic windows with appropriate help lists.

Audio Out

[edit]

For audio output, Yoshimi supports both ALSA and JACK back-ends. Similarly to MIDI, users can select one or the other as well as setting which is the default. When ALSA is selected, it is possible for the software to look for a specific sound card.[8] When using ALSA a stereo out pair is available. When using JACK, a stereo out is available plus one pair per active patch, up to 64.

Functionality

[edit]

Yoshimi can run as an LV2 plugin and is frequently tested on the most common hosts. In stand-alone mode it is also possible to run multiple instances, each with their independent sources and destinations, but sharing essential resources.

Yoshimi also supports vector control via a MIDI two axis joystick, allowing up to four parts to be sounded together with varying mixes, panning etc. all determined in real-time by the joystick position. This can be configured over MIDI, by the command line or (since version 1.4.0) via the graphical interface.

A useful development, especially for live performance contexts, was the ability to swap active channels in order to get an instant sound change while retaining the fading notes of the previous sound. This was developed further in version 1.5.1 as 'Solo' accessed from the mixer panel.

A major development was the implementation of MIDI-learn whereby you can 'teach' Yoshimi to link specific actions to any valid continuous controller. As of version 1.5.1, this includes learning aftertouch and NRPNs.

Individual instruments can be saved to- and loaded from file. There is a Yoshimi-only file format (.xiy) which is a super-set of the standard ZynAddSubFX type (.xiz). Users can save to either or both formats. The new .xiy format includes all the standard settings, but also all elements of 'Controllers' as these have been found to make a dramatic difference to the final sound. Their settings can be quite critical.

The whole state of a Yoshimi session can be saved to file for future recall. In this case all of the settings are saved, including instruments, effects, midi-learn, etc.

Since version 2.0, all windows can be resized independently and their previous sizes and positions are stored. LFOs in the synth engines can now be in sync with the MIDI timecode.[9] Version 2.1.0 expands on this with MIDI sync added to all effects where it is relevant, such as Echo delay time. Version 2.1.2 further refines the code, gives better relability for older MIDI- learn files and adds more details to the user guide.

Version 2.2.0 has a major revision of the PadSynth engine giving more control and far better responsiveness.

With version 2.3.0 there is extensive user modifiable GUI theming capability. Also, all sliders and rotary controls indicate whether they have been moved from their default position. Some significant settings have been changed to high resolution equivalents, while still maintaining backward compatibility.

Version 2.3.1 has some corrections to the microtonal section, and minor additions generally.

In version 2.3.2 there is the (user requested) ability to have separate Left and Right delay times in the Echo effect. There is also considerable code refactoring that improves efficiency without making any unintended changes to sound generation.

Information

[edit]

As well as a dedicated Yoshimi directory in 'doc' with much background information and The Short Yoshimi Guide as ODF,[10] there is a Yoshimi User Guide directly accessible from the 'Yoshimi' drop-down menu. This is a lightweight HTML document but retains a link to the Advanced Reference Manual PDF. The latter is extremely comprehensive and currently runs to approximately 290 pages.[11]

Support

[edit]

Support is available from developers and users on the new Yoshimi email list.[12]

See also

[edit]

References

[edit]
  1. ^ Yoshimi license
  2. ^ "Yoshimi, Software synthesizer for Linux". Retrieved 2023-08-29.
  3. ^ "Yoshimi". Retrieved 2023-09-14.
  4. ^ "Yoshimi – MIDI software synthesizer". LinuxLinks. Retrieved 14 September 2023.
  5. ^ "Yoshimi - History".
  6. ^ "Linux Audio Users Mailing List Archive: August 2009 thread where Alan Calvert describes his initial patches to ZynAddSubFX and mentions the name 'Yoshimi'".
  7. ^ "PADsynth algorithm".
  8. ^ "Yoshimi User Manual - Settings".
  9. ^ "Yoshimi/Yoshimi". GitHub. 27 October 2021.
  10. ^ "The Short Yoshimi Guide". Retrieved 2023-08-29.
  11. ^ "Yoshimi Advanced Reference Manual" (PDF). Retrieved 2023-08-29.
  12. ^ "FreeLists / Yoshimi Soft-Synth".
[edit]