Commit History
-
feat(synth): Implement Echo Sustain for plucky envelopes
Adds an "Echo Sustain" effect to the 8-bit synthesizer. This feature fills the silent tail of long notes with decaying pulses when using a plucky envelope, preventing them from sounding choppy or empty.0f9efaa
-
refactor(batch): Isolate params state for each file processing
b22ce2a -
feat(synth): Add adaptive decay and hybrid note smoothing
This commit introduces two major enhancements to the 8-bit synthesizer to resolve significant volume loss issues on short, staccato notes. The original implementation used fixed-time parameters for note decay and smoothing. This caused the perceived volume of fast notes to be drastically lower than that of sustained notes, as their envelopes were prematurely cut off before reaching their peak. 1. **Adaptive Decay:** - A new, default-on feature that ensures a consistent initial decay rate for all notes, regardless of their duration. - It works by applying the initial segment of a pre-calculated "ideal" decay curve to each note, rather than scaling the entire curve down. - This preserves the attack and power of staccato passages, creating a much more balanced and musical output. - A UI checkbox has been added to control this feature. 2. **Hybrid Note Smoothing:** - The note smoothing logic has been refactored from a fixed-time fade to a hybrid proportional/capped…2a00d06 -
Fix: Convert numpy types to prevent Gradio slider error
A `TypeError` occurred when running the synthesizer a second time after using the "Auto-Recommend (Analyze MIDI)" feature.4178195
-
This commit delivers three key improvements focused on user experience and bug fixing.
1. **Add Rich Info Text to 8-bit Synthesizer UI** 2. **Detect and Log Stereo MIDI Information** 3. **Fix Stereo Loss in "Convert to Solo Piano":** - Resolved a critical bug where enabling "Convert to Solo Piano" would collapse stereo MIDI files into mono.5cb75be -
feat: Add detailed progress bars for single and batch jobs
7339550
-
feat: Implement batch processing workflow with shared global settings
This commit introduces a major new feature: a batch processing workflow. Users can now process multiple audio or MIDI files in a single run using a consistent set of configurations.d80a2c7
-
fix(rendering): prevent index error on empty midi processing
The `Render_MIDI` function would crash with an `IndexError` if it received a MIDI with no notes, typically from a failed transcription.b101711 -
feat: Add dual-stem MIDI transcription and `basic-pitch` profiles
**1. Dual-Stem MIDI Transcription:** - When using vocal separation, a new option allows for transcribing **both** the vocal and accompaniment stems independently. - The two resulting MIDI files are then automatically merged into a single, more complete MIDI file for rendering. This improves transcription quality on complex tracks. **2. `basic-pitch` Profile Presets:** - A "Transcription Profile Preset" dropdown has been added to the UI for the general-purpose transcription method. - Includes a library of presets optimized for different instruments (Vocals, Piano, Drums) and genres (Rock, Jazz, Classical). - Selecting a profile automatically configures all `basic-pitch` parameters for better results on specific audio types.2923df9
-
Add experimental vocal separation and selective transcription features
- Added **Separate Vocals** option (experimental): Splits input audio into vocals and music stems before processing. - Added **Transcription Target** setting: Allows choosing which stem (vocals or music) to transcribe to MIDI. - Added option to **Re-merge Other Part with Rendered Audio**: After rendering, merges the non-transcribed stem (e.g., original vocals) back with the new music.22dd15a -
feat(synth): Add auto-recommendation for 8-bit synthesizer parameters
This commit introduces a new "Auto-Recommend" feature for the 8-bit synthesizer, designed to help users quickly generate a suitable sound profile for their MIDI files without manual tweaking. - A new `"Auto-Recommend (Analyze MIDI)"` option has been added to the "Style Preset" dropdown. - When selected, the main processing function (`process_and_render_file`) now triggers the analysis and recommendation engine. - The recommended parameters are then used for rendering and are also reflected back onto the UI sliders, allowing users to see and further adjust the generated settings.58195d3
-
feat(synth): Enhance 8-bit synthesizer and expand presets
This major update significantly enhances the capabilities of the 8-bit style synthesizer and expands the preset library with a wide range of iconic and experimental sounds. **Synthesizer Engine Enhancements:** The `synthesize_8bit_style` function has been upgraded with four new parameters to allow for more complex and authentic sound design, moving beyond basic subtractive synthesis: - **Noise Channel (`noise_level`):** Adds a layer of white noise, essential for creating percussive sounds, atmospheric textures, and adding grit. - **Waveform Distortion (`distortion_level`):** Introduces a wave-shaping algorithm to simulate the hardware clipping and saturation found in vintage consoles, enabling harsher and more aggressive tones. - **Frequency Modulation (`fm_modulation_depth`, `fm_modulation_rate`):** Implements a basic FM synthesis capability, allowing for the creation of complex, metallic, and bell-like timbres reminiscent of sound chips like the Yamaha YM2612. ___ The `S8BIT_PRES…e835c5f -
feat: Implement stereo audio to MIDI transcription
This commit introduces a new stereo processing workflow for audio-to-MIDI transcription, allowing the preservation of spatial information from stereo recordings. The previous implementation was limited to mono processing. Scale MIDI velocities by 0.8 in Stereo Transcription to avoid loudness/clipping after merge Applied `scale_instrument_velocity(scale=0.8)` during Stereo Transcription to prevent excessive loudness caused by summing left and right channel MIDI tracks. This helps maintain a more natural dynamic range, avoiding clipping and ensuring more consistent perceived volume after rendering to WAV/FLAC.b114cd4
-
feat(synth): Add adjustable bass boost to 8-bit synthesizer
This commit introduces a bass enhancement feature to the 8-bit synthesizer, allowing users to add more weight and depth to the sound.80ab93c
-
Integrated and Enhanced: Audio-to-MIDI and Advanced MIDI Renderer
- **Integration of asigalov61's Projects:** Merges the `ByteDance-Solo-Piano-Audio-to-MIDI-Transcription` and `Advanced-MIDI-Renderer` projects into a single, cohesive application. This forms the foundational workflow for MIDI processing and rendering. - **Addition of General-Purpose Transcription:** Implements Spotify's `basic-pitch` library as a new transcription option. This allows for the effective transcription of non-piano music, including songs with vocals and multiple instruments. - **Dynamic UI for Method Selection:** A new UI control allows users to choose between the "General Purpose" (basic-pitch) and "Piano-Specific" (ByteDance) transcription models, with the UI dynamically showing relevant settings for the selected method. - **Refactor: Extract shared MIDI module to reduce duplication:** The `midi_to_colab_audio.py` and `TMIDIX.py` scripts both contained a large, duplicated block of code for MIDI processing. - **Improve FluidSynth rendering speed in midi_to_colab_audi…adcbc9f
-
Update app.py
Verified signatured371a2d -
Update README.md
Verified signature540053a -
Upload 2 files
Verified signature36ec2c2
-
Upload TMIDIX.py
Verified signatureb62d385
-
Upload TMIDIX.py
Verified signature7c8b992
-
Update app.py
Verified signaturef03f117 -
Update app.py
Verified signatureac7623b -
Update app.py
Verified signaturec0f9cf2 -
Upload TMIDIX.py
Verified signature6a8ce36 -
Update README.md
Verified signature57e1c25
-
Upload TMIDIX.py
Verified signature2128334 -
Update README.md
Verified signature2bd4166
-
Update README.md
Verified signatured9f951d
-
Update app.py
Verified signature2529f3d -
Update app.py
Verified signature68f1714 -
Update app.py
Verified signaturef23e6bc -
Upload TMIDIX.py
Verified signatured18afce -
Upload TMIDIX.py
Verified signaturea317d05
-
Update app.py
Verified signature9705956 -
Upload TMIDIX.py
Verified signatureaa2c141
-
Upload TMIDIX.py
Verified signature25c9433 -
Update README.md
Verified signaturebdb55f1
-
Upload TMIDIX.py
Verified signature00cacb8 -
Update README.md
Verified signature3e36d06
-
Update app.py
Verified signatureb9e3357 -
Update app.py
Verified signatureda538bb -
Upload TMIDIX.py
Verified signature4ab06f7 -
Update app.py
Verified signature2fd537d -
Upload TMIDIX.py
Verified signature38e51a9 -
Update README.md
Verified signatureea512e9
-
Update app.py
Verified signature6650edd -
Upload 3 files
Verified signature08876fd -
Update app.py
Verified signaturef076c55
-
Upload TMIDIX.py
Verified signature70c96ec
-
Upload 2 files
Verified signaturef2fd65a