Comments (3)
The problem is caused only when alphaTab uses the "ScriptProcessorNode" instead of the "AudioWorklets". AudioWorklets are not available if:
- AlphaTab is bundled with WebPack (webpack has only very limited audio worklet support, not compatible with alphaTab)
- AlphaTab is used in a non-secure context
- The browser really doesn't support AudioWorklets
On alphaTab.net rule 1. applies.
And the root cause seem to be an inconsistency in the time calculation. For this file (only on the second round) the "tick position" indicates that the player has not yet finished, but the "time position" marks the file as finished.
There must be somewhere an inconsistency in the reporting of played samples. Maybe some samples from the previous playback are still in the buffer and played additionally leading to a wrong calculation on the positions.
from alphatab.
Update: I could now reproduce it also on the AudioWorklets.
from alphatab.
Update: I could now reproduce it also on the AudioWorklets.
I found a temporary solution, which is to add a stop() method when he plays to the end and there is no set to replay, forcing it to return to its initial state.
\playground\control.js
at.playerPositionChanged.on(function (args) {
... ....
//Add new code here.
if (!at.isLooping && args.currentTime === 0 && args.endTime > 0) {
at.stop();
}
});
from alphatab.
Related Issues (20)
- Slash Notation
- Numbered Notation HOT 1
- Directions
- Free Time
- New Beat Level Effects
- New Note Level Effects
- Extend MusicXML Support for new notation features
- Importing the alphaTab WebPack plugin in ESM fails.
- Implement full text measuring system for all engines and platforms
- Xml Section parse error while some child tags may not exist
- Tempo/bpm marker overlaps chord symbol on first beat HOT 1
- Improve TypeScript types for JSON settings object
- [vite-plugin-alphatab-url] plugins is not a function HOT 1
- Expose the *Json settings types in the `@coderline/alphatab` package HOT 2
- vite-plugin-alphatab-copy: path computing issue on github pages / maybe Ubuntu in general HOT 5
- Add APIs to translate midi ticks to milliseconds
- Improvement: Transposing tabs with string adjustments. HOT 1
- Loud clipping sound when playback ends HOT 6
- Effect Band paddings are kept on line breaks during initial render
- I found that there is still a problem; the subsequent rows continue to inherit the height of a certain effect from the row above HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from alphatab.